diff --git a/autoload.php b/autoload.php
index caedb48..6903964 100644
--- a/autoload.php
+++ b/autoload.php
@@ -16,4 +16,4 @@
  * @see core/modules/statistics/statistics.php
  */
 
-return require __DIR__ . '/core/vendor/autoload.php';
+return require __DIR__ . '/vendor/autoload.php';
diff --git a/composer.json b/composer.json
index 8d5cd3a..6731138 100644
--- a/composer.json
+++ b/composer.json
@@ -5,6 +5,9 @@
   "license": "GPL-2.0+",
   "require": {
     "composer/installers": "^1.0.21",
+    "wikimedia/composer-merge-plugin": "^1.3.0"
+  },
+  "replace": {
     "drupal/core": "~8.0"
   },
   "minimum-stability": "dev",
@@ -15,8 +18,16 @@
   },
   "extra": {
     "_readme": [
-      "By default Drupal loads the autoloader from ./core/vendor/autoload.php.",
+      "By default Drupal loads the autoloader from ./vendor/autoload.php.",
       "To change the autoloader you can edit ./autoload.php."
-    ]
+    ],
+    "merge-plugin": {
+      "include": [
+        "core/composer.json"
+      ],
+      "recurse": false,
+      "replace": false,
+      "merge-extra": false
+    }
   }
 }
diff --git a/core/composer.lock b/core/composer.lock
deleted file mode 100644
index 5563e7e..0000000
--- a/core/composer.lock
+++ /dev/null
@@ -1,3384 +0,0 @@
-{
-    "_readme": [
-        "This file locks the dependencies of your project to a known state",
-        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
-        "This file is @generated automatically"
-    ],
-    "hash": "e917b58b5b2a847270d4bd49b0bcb22e",
-    "content-hash": "bbb9004b899df99873971591682b1e42",
-    "packages": [
-        {
-            "name": "doctrine/annotations",
-            "version": "v1.2.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/annotations.git",
-                "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
-                "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/lexer": "1.*",
-                "php": ">=5.3.2"
-            },
-            "require-dev": {
-                "doctrine/cache": "1.*",
-                "phpunit/phpunit": "4.*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\Annotations\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Benjamin Eberlei",
-                    "email": "kontakt@beberlei.de"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Jonathan Wage",
-                    "email": "jonwage@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Docblock Annotations Parser",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "annotations",
-                "docblock",
-                "parser"
-            ],
-            "time": "2015-08-31 12:32:49"
-        },
-        {
-            "name": "doctrine/cache",
-            "version": "v1.4.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/cache.git",
-                "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca",
-                "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.2"
-            },
-            "conflict": {
-                "doctrine/common": ">2.2,<2.4"
-            },
-            "require-dev": {
-                "phpunit/phpunit": ">=3.7",
-                "predis/predis": "~1.0",
-                "satooshi/php-coveralls": "~0.6"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.5.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\Cache\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Benjamin Eberlei",
-                    "email": "kontakt@beberlei.de"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Jonathan Wage",
-                    "email": "jonwage@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Caching library offering an object-oriented API for many cache backends",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "cache",
-                "caching"
-            ],
-            "time": "2015-08-31 12:36:41"
-        },
-        {
-            "name": "doctrine/collections",
-            "version": "v1.3.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/collections.git",
-                "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
-                "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\Collections\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Benjamin Eberlei",
-                    "email": "kontakt@beberlei.de"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Jonathan Wage",
-                    "email": "jonwage@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Collections Abstraction library",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "array",
-                "collections",
-                "iterator"
-            ],
-            "time": "2015-04-14 22:21:58"
-        },
-        {
-            "name": "doctrine/common",
-            "version": "v2.5.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/common.git",
-                "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9",
-                "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/annotations": "1.*",
-                "doctrine/cache": "1.*",
-                "doctrine/collections": "1.*",
-                "doctrine/inflector": "1.*",
-                "doctrine/lexer": "1.*",
-                "php": ">=5.3.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~3.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.6.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Benjamin Eberlei",
-                    "email": "kontakt@beberlei.de"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Jonathan Wage",
-                    "email": "jonwage@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Common Library for Doctrine projects",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "annotations",
-                "collections",
-                "eventmanager",
-                "persistence",
-                "spl"
-            ],
-            "time": "2015-08-31 13:00:22"
-        },
-        {
-            "name": "doctrine/inflector",
-            "version": "v1.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/inflector.git",
-                "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604",
-                "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "4.*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\Inflector\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Benjamin Eberlei",
-                    "email": "kontakt@beberlei.de"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Jonathan Wage",
-                    "email": "jonwage@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Common String Manipulations with regard to casing and singular/plural rules.",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "inflection",
-                "pluralize",
-                "singularize",
-                "string"
-            ],
-            "time": "2014-12-20 21:24:13"
-        },
-        {
-            "name": "doctrine/lexer",
-            "version": "v1.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/lexer.git",
-                "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
-                "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Doctrine\\Common\\Lexer\\": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Roman Borschel",
-                    "email": "roman@code-factory.org"
-                },
-                {
-                    "name": "Guilherme Blanco",
-                    "email": "guilhermeblanco@gmail.com"
-                },
-                {
-                    "name": "Johannes Schmitt",
-                    "email": "schmittjoh@gmail.com"
-                }
-            ],
-            "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
-            "homepage": "http://www.doctrine-project.org",
-            "keywords": [
-                "lexer",
-                "parser"
-            ],
-            "time": "2014-09-09 13:34:57"
-        },
-        {
-            "name": "easyrdf/easyrdf",
-            "version": "0.9.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/njh/easyrdf.git",
-                "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566",
-                "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566",
-                "shasum": ""
-            },
-            "require": {
-                "ext-mbstring": "*",
-                "ext-pcre": "*",
-                "php": ">=5.2.8"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~3.5",
-                "sami/sami": "~1.4",
-                "squizlabs/php_codesniffer": "~1.4.3"
-            },
-            "suggest": {
-                "ml/json-ld": "~1.0"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-0": {
-                    "EasyRdf_": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Nicholas Humfrey",
-                    "email": "njh@aelius.com",
-                    "homepage": "http://www.aelius.com/njh/",
-                    "role": "Developer"
-                },
-                {
-                    "name": "Alexey Zakhlestin",
-                    "email": "indeyets@gmail.com",
-                    "role": "Developer"
-                }
-            ],
-            "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
-            "homepage": "http://www.easyrdf.org/",
-            "keywords": [
-                "Linked Data",
-                "RDF",
-                "Semantic Web",
-                "Turtle",
-                "rdfa",
-                "sparql"
-            ],
-            "time": "2015-02-27 09:45:49"
-        },
-        {
-            "name": "egulias/email-validator",
-            "version": "1.2.9",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/egulias/EmailValidator.git",
-                "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1",
-                "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/lexer": "~1.0,>=1.0.1",
-                "php": ">= 5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4",
-                "satooshi/php-coveralls": "dev-master"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Egulias\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Eduardo Gulias Davis"
-                }
-            ],
-            "description": "A library for validating emails",
-            "homepage": "https://github.com/egulias/EmailValidator",
-            "keywords": [
-                "email",
-                "emailvalidation",
-                "emailvalidator",
-                "validation",
-                "validator"
-            ],
-            "time": "2015-06-22 21:07:51"
-        },
-        {
-            "name": "guzzlehttp/guzzle",
-            "version": "6.1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/guzzle.git",
-                "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
-                "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
-                "shasum": ""
-            },
-            "require": {
-                "guzzlehttp/promises": "~1.0",
-                "guzzlehttp/psr7": "~1.1",
-                "php": ">=5.5.0"
-            },
-            "require-dev": {
-                "ext-curl": "*",
-                "phpunit/phpunit": "~4.0",
-                "psr/log": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "6.1-dev"
-                }
-            },
-            "autoload": {
-                "files": [
-                    "src/functions_include.php"
-                ],
-                "psr-4": {
-                    "GuzzleHttp\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                }
-            ],
-            "description": "Guzzle is a PHP HTTP client library",
-            "homepage": "http://guzzlephp.org/",
-            "keywords": [
-                "client",
-                "curl",
-                "framework",
-                "http",
-                "http client",
-                "rest",
-                "web service"
-            ],
-            "time": "2015-09-08 17:36:26"
-        },
-        {
-            "name": "guzzlehttp/promises",
-            "version": "1.0.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/promises.git",
-                "reference": "97fe7210def29451ec74923b27e552238defd75a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a",
-                "reference": "97fe7210def29451ec74923b27e552238defd75a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "GuzzleHttp\\Promise\\": "src/"
-                },
-                "files": [
-                    "src/functions_include.php"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                }
-            ],
-            "description": "Guzzle promises library",
-            "keywords": [
-                "promise"
-            ],
-            "time": "2015-08-15 19:37:21"
-        },
-        {
-            "name": "guzzlehttp/psr7",
-            "version": "1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/psr7.git",
-                "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
-                "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.4.0",
-                "psr/http-message": "~1.0"
-            },
-            "provide": {
-                "psr/http-message-implementation": "1.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "GuzzleHttp\\Psr7\\": "src/"
-                },
-                "files": [
-                    "src/functions_include.php"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                }
-            ],
-            "description": "PSR-7 message implementation",
-            "keywords": [
-                "http",
-                "message",
-                "stream",
-                "uri"
-            ],
-            "time": "2015-08-15 19:32:36"
-        },
-        {
-            "name": "masterminds/html5",
-            "version": "2.1.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/Masterminds/html5-php.git",
-                "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
-                "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
-                "shasum": ""
-            },
-            "require": {
-                "ext-libxml": "*",
-                "php": ">=5.3.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "4.*",
-                "sami/sami": "~2.0",
-                "satooshi/php-coveralls": "0.6.*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.1-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Masterminds\\": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Matt Butcher",
-                    "email": "technosophos@gmail.com"
-                },
-                {
-                    "name": "Asmir Mustafic",
-                    "email": "goetas@gmail.com"
-                },
-                {
-                    "name": "Matt Farina",
-                    "email": "matt@mattfarina.com"
-                }
-            ],
-            "description": "An HTML5 parser and serializer.",
-            "homepage": "http://masterminds.github.io/html5-php",
-            "keywords": [
-                "HTML5",
-                "dom",
-                "html",
-                "parser",
-                "querypath",
-                "serializer",
-                "xml"
-            ],
-            "time": "2015-06-07 08:43:18"
-        },
-        {
-            "name": "psr/http-message",
-            "version": "1.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/php-fig/http-message.git",
-                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-                "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Psr\\Http\\Message\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
-                }
-            ],
-            "description": "Common interface for HTTP messages",
-            "keywords": [
-                "http",
-                "http-message",
-                "psr",
-                "psr-7",
-                "request",
-                "response"
-            ],
-            "time": "2015-05-04 20:22:00"
-        },
-        {
-            "name": "psr/log",
-            "version": "1.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/php-fig/log.git",
-                "reference": "1.0.0"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
-                "reference": "1.0.0",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "psr-0": {
-                    "Psr\\Log\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
-                }
-            ],
-            "description": "Common interface for logging libraries",
-            "keywords": [
-                "log",
-                "psr",
-                "psr-3"
-            ],
-            "time": "2012-12-21 11:40:51"
-        },
-        {
-            "name": "stack/builder",
-            "version": "v1.0.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/stackphp/builder.git",
-                "reference": "c1f8a4693b55c563405024f708a76ef576c3b276"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/stackphp/builder/zipball/c1f8a4693b55c563405024f708a76ef576c3b276",
-                "reference": "c1f8a4693b55c563405024f708a76ef576c3b276",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.0",
-                "symfony/http-foundation": "~2.1",
-                "symfony/http-kernel": "~2.1"
-            },
-            "require-dev": {
-                "silex/silex": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Stack": "src"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Igor Wiedler",
-                    "email": "igor@wiedler.ch"
-                }
-            ],
-            "description": "Builder for stack middlewares based on HttpKernelInterface.",
-            "keywords": [
-                "stack"
-            ],
-            "time": "2014-11-23 20:37:11"
-        },
-        {
-            "name": "symfony-cmf/routing",
-            "version": "1.3.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony-cmf/Routing.git",
-                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6",
-                "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "psr/log": "~1.0",
-                "symfony/http-kernel": "~2.2",
-                "symfony/routing": "~2.2"
-            },
-            "require-dev": {
-                "symfony/config": "~2.2",
-                "symfony/dependency-injection": "~2.0@stable",
-                "symfony/event-dispatcher": "~2.1"
-            },
-            "suggest": {
-                "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Cmf\\Component\\Routing\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Symfony CMF Community",
-                    "homepage": "https://github.com/symfony-cmf/Routing/contributors"
-                }
-            ],
-            "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
-            "homepage": "http://cmf.symfony.com",
-            "keywords": [
-                "database",
-                "routing"
-            ],
-            "time": "2014-10-20 20:55:17"
-        },
-        {
-            "name": "symfony/class-loader",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/ClassLoader.git",
-                "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/d957ea6295d7016e20d7eff33a6c1deef819c0d4",
-                "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/finder": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\ClassLoader\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony ClassLoader Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-26 17:56:37"
-        },
-        {
-            "name": "symfony/console",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Console.git",
-                "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Console/zipball/9ff9032151186bd66ecee727d728f1319f52d1d8",
-                "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/event-dispatcher": "~2.1",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.1"
-            },
-            "suggest": {
-                "psr/log": "For using the console logger",
-                "symfony/event-dispatcher": "",
-                "symfony/process": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Console\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Console Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-09-03 11:40:38"
-        },
-        {
-            "name": "symfony/debug",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Debug.git",
-                "reference": "726bf9651d29f53243281d0b6418cfaa5e318281"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Debug/zipball/726bf9651d29f53243281d0b6418cfaa5e318281",
-                "reference": "726bf9651d29f53243281d0b6418cfaa5e318281",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9",
-                "psr/log": "~1.0"
-            },
-            "conflict": {
-                "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
-            },
-            "require-dev": {
-                "symfony/class-loader": "~2.2",
-                "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Debug\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Debug Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-29 11:12:16"
-        },
-        {
-            "name": "symfony/dependency-injection",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/DependencyInjection.git",
-                "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/c0a3a97b9450d77cd8eff81c5825efb3624c255b",
-                "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/expression-language": "<2.6"
-            },
-            "require-dev": {
-                "symfony/config": "~2.2",
-                "symfony/expression-language": "~2.6",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.1"
-            },
-            "suggest": {
-                "symfony/config": "",
-                "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
-                "symfony/yaml": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\DependencyInjection\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony DependencyInjection Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-24 07:16:32"
-        },
-        {
-            "name": "symfony/event-dispatcher",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/EventDispatcher.git",
-                "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/b58c916f1db03a611b72dd702564f30ad8fe83fa",
-                "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/config": "~2.0,>=2.0.5",
-                "symfony/dependency-injection": "~2.6",
-                "symfony/expression-language": "~2.6",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/stopwatch": "~2.3"
-            },
-            "suggest": {
-                "symfony/dependency-injection": "",
-                "symfony/http-kernel": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\EventDispatcher\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony EventDispatcher Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-24 07:13:45"
-        },
-        {
-            "name": "symfony/http-foundation",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/HttpFoundation.git",
-                "reference": "7253c2041652353e71560bbd300d6256d170ddaf"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/7253c2041652353e71560bbd300d6256d170ddaf",
-                "reference": "7253c2041652353e71560bbd300d6256d170ddaf",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/expression-language": "~2.4",
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\HttpFoundation\\": ""
-                },
-                "classmap": [
-                    "Resources/stubs"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony HttpFoundation Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-27 06:45:45"
-        },
-        {
-            "name": "symfony/http-kernel",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/HttpKernel.git",
-                "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
-                "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9",
-                "psr/log": "~1.0",
-                "symfony/debug": "~2.6,>=2.6.2",
-                "symfony/event-dispatcher": "~2.6,>=2.6.7",
-                "symfony/http-foundation": "~2.5,>=2.5.4"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
-            },
-            "require-dev": {
-                "symfony/browser-kit": "~2.3",
-                "symfony/class-loader": "~2.1",
-                "symfony/config": "~2.7",
-                "symfony/console": "~2.3",
-                "symfony/css-selector": "~2.0,>=2.0.5",
-                "symfony/dependency-injection": "~2.2",
-                "symfony/dom-crawler": "~2.0,>=2.0.5",
-                "symfony/expression-language": "~2.4",
-                "symfony/finder": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.0,>=2.0.5",
-                "symfony/routing": "~2.2",
-                "symfony/stopwatch": "~2.3",
-                "symfony/templating": "~2.2",
-                "symfony/translation": "~2.0,>=2.0.5",
-                "symfony/var-dumper": "~2.6"
-            },
-            "suggest": {
-                "symfony/browser-kit": "",
-                "symfony/class-loader": "",
-                "symfony/config": "",
-                "symfony/console": "",
-                "symfony/dependency-injection": "",
-                "symfony/finder": "",
-                "symfony/var-dumper": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\HttpKernel\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony HttpKernel Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-09-08 14:26:39"
-        },
-        {
-            "name": "symfony/process",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Process.git",
-                "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Process/zipball/f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
-                "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Process\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Process Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-27 06:45:45"
-        },
-        {
-            "name": "symfony/psr-http-message-bridge",
-            "version": "v0.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/psr-http-message-bridge.git",
-                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453",
-                "reference": "dc7e308e1dc2898a46776e2221a643cb08315453",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "psr/http-message": "~1.0",
-                "symfony/http-foundation": "~2.3|~3.0"
-            },
-            "require-dev": {
-                "symfony/phpunit-bridge": "~2.7|~3.0"
-            },
-            "suggest": {
-                "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
-            },
-            "type": "symfony-bridge",
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Bridge\\PsrHttpMessage\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Symfony Community",
-                    "homepage": "http://symfony.com/contributors"
-                },
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                }
-            ],
-            "description": "PSR HTTP message bridge",
-            "homepage": "http://symfony.com",
-            "keywords": [
-                "http",
-                "http-message",
-                "psr-7"
-            ],
-            "time": "2015-05-29 17:57:12"
-        },
-        {
-            "name": "symfony/routing",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Routing.git",
-                "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Routing/zipball/20b1378cb6efffb77ea0608232f18c8f0dd25109",
-                "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
-            },
-            "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/common": "~2.2",
-                "psr/log": "~1.0",
-                "symfony/config": "~2.7",
-                "symfony/expression-language": "~2.4",
-                "symfony/http-foundation": "~2.3",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "doctrine/annotations": "For using the annotation loader",
-                "symfony/config": "For using the all-in-one router or any loader",
-                "symfony/expression-language": "For using expression matching",
-                "symfony/yaml": "For using the YAML loader"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Routing\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Routing Component",
-            "homepage": "https://symfony.com",
-            "keywords": [
-                "router",
-                "routing",
-                "uri",
-                "url"
-            ],
-            "time": "2015-08-24 07:13:45"
-        },
-        {
-            "name": "symfony/serializer",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Serializer.git",
-                "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Serializer/zipball/baf24f86a8656eea9c80988f332e51461bfcb67f",
-                "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/cache": "~1.0",
-                "symfony/config": "~2.2",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/property-access": "~2.3",
-                "symfony/yaml": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-                "symfony/config": "For using the XML mapping loader.",
-                "symfony/property-access": "For using the ObjectNormalizer.",
-                "symfony/yaml": "For using the default YAML mapping loader."
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Serializer\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Serializer Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-31 16:44:53"
-        },
-        {
-            "name": "symfony/translation",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Translation.git",
-                "reference": "485877661835e188cd78345c6d4eef1290d17571"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Translation/zipball/485877661835e188cd78345c6d4eef1290d17571",
-                "reference": "485877661835e188cd78345c6d4eef1290d17571",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "conflict": {
-                "symfony/config": "<2.7"
-            },
-            "require-dev": {
-                "psr/log": "~1.0",
-                "symfony/config": "~2.7",
-                "symfony/intl": "~2.4",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/yaml": "~2.2"
-            },
-            "suggest": {
-                "psr/log": "To use logging capability in translator",
-                "symfony/config": "",
-                "symfony/yaml": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Translation\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Translation Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-09-06 08:36:38"
-        },
-        {
-            "name": "symfony/validator",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Validator.git",
-                "reference": "356459a697e26274d44c608513c05c23dc1d8ea7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Validator/zipball/356459a697e26274d44c608513c05c23dc1d8ea7",
-                "reference": "356459a697e26274d44c608513c05c23dc1d8ea7",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9",
-                "symfony/translation": "~2.4"
-            },
-            "require-dev": {
-                "doctrine/annotations": "~1.0",
-                "doctrine/cache": "~1.0",
-                "egulias/email-validator": "~1.2,>=1.2.1",
-                "symfony/config": "~2.2",
-                "symfony/expression-language": "~2.4",
-                "symfony/http-foundation": "~2.1",
-                "symfony/intl": "~2.4",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/property-access": "~2.3",
-                "symfony/yaml": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-                "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-                "egulias/email-validator": "Strict (RFC compliant) email validation",
-                "symfony/config": "",
-                "symfony/expression-language": "For using the 2.4 Expression validator",
-                "symfony/http-foundation": "",
-                "symfony/intl": "",
-                "symfony/property-access": "For using the 2.4 Validator API",
-                "symfony/yaml": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Validator\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Validator Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-09-06 08:36:38"
-        },
-        {
-            "name": "symfony/yaml",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/Yaml.git",
-                "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/Yaml/zipball/2dc7b06c065df96cc686c66da2705e5e18aef661",
-                "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\Yaml\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony Yaml Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-24 07:13:45"
-        },
-        {
-            "name": "twig/twig",
-            "version": "v1.22.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/twigphp/Twig.git",
-                "reference": "b7fc2469fa009897871fb95b68237286fc54a5ad"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/twigphp/Twig/zipball/b7fc2469fa009897871fb95b68237286fc54a5ad",
-                "reference": "b7fc2469fa009897871fb95b68237286fc54a5ad",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.2.7"
-            },
-            "require-dev": {
-                "symfony/debug": "~2.7",
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.22-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Twig_": "lib/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com",
-                    "homepage": "http://fabien.potencier.org",
-                    "role": "Lead Developer"
-                },
-                {
-                    "name": "Armin Ronacher",
-                    "email": "armin.ronacher@active-4.com",
-                    "role": "Project Founder"
-                },
-                {
-                    "name": "Twig Team",
-                    "homepage": "http://twig.sensiolabs.org/contributors",
-                    "role": "Contributors"
-                }
-            ],
-            "description": "Twig, the flexible, fast, and secure template language for PHP",
-            "homepage": "http://twig.sensiolabs.org",
-            "keywords": [
-                "templating"
-            ],
-            "time": "2015-09-15 06:50:16"
-        },
-        {
-            "name": "zendframework/zend-diactoros",
-            "version": "1.1.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/zendframework/zend-diactoros.git",
-                "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
-                "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.4",
-                "psr/http-message": "~1.0"
-            },
-            "provide": {
-                "psr/http-message-implementation": "~1.0.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.6",
-                "squizlabs/php_codesniffer": "^2.3.1"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev",
-                    "dev-develop": "1.1-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Zend\\Diactoros\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-2-Clause"
-            ],
-            "description": "PSR HTTP Message implementations",
-            "homepage": "https://github.com/zendframework/zend-diactoros",
-            "keywords": [
-                "http",
-                "psr",
-                "psr-7"
-            ],
-            "time": "2015-08-10 20:04:20"
-        },
-        {
-            "name": "zendframework/zend-escaper",
-            "version": "2.5.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/zendframework/zend-escaper.git",
-                "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
-                "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.23"
-            },
-            "require-dev": {
-                "fabpot/php-cs-fixer": "1.7.*",
-                "phpunit/phpunit": "~4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.5-dev",
-                    "dev-develop": "2.6-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Zend\\Escaper\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "homepage": "https://github.com/zendframework/zend-escaper",
-            "keywords": [
-                "escaper",
-                "zf2"
-            ],
-            "time": "2015-06-03 14:05:37"
-        },
-        {
-            "name": "zendframework/zend-feed",
-            "version": "2.5.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/zendframework/zend-feed.git",
-                "reference": "0661345b82b51428619e05d3aadd3de65b57fa54"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54",
-                "reference": "0661345b82b51428619e05d3aadd3de65b57fa54",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5",
-                "zendframework/zend-escaper": "~2.5",
-                "zendframework/zend-stdlib": "~2.5"
-            },
-            "require-dev": {
-                "fabpot/php-cs-fixer": "1.7.*",
-                "phpunit/phpunit": "~4.0",
-                "zendframework/zend-cache": "~2.5",
-                "zendframework/zend-db": "~2.5",
-                "zendframework/zend-http": "~2.5",
-                "zendframework/zend-servicemanager": "~2.5",
-                "zendframework/zend-validator": "~2.5"
-            },
-            "suggest": {
-                "zendframework/zend-cache": "Zend\\Cache component",
-                "zendframework/zend-db": "Zend\\Db component",
-                "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
-                "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
-                "zendframework/zend-validator": "Zend\\Validator component"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.5-dev",
-                    "dev-develop": "2.6-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Zend\\Feed\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "description": "provides functionality for consuming RSS and Atom feeds",
-            "homepage": "https://github.com/zendframework/zend-feed",
-            "keywords": [
-                "feed",
-                "zf2"
-            ],
-            "time": "2015-08-04 21:39:18"
-        },
-        {
-            "name": "zendframework/zend-stdlib",
-            "version": "2.6.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/zendframework/zend-stdlib.git",
-                "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/a35758803fc9051ec1aff43989e679b6b451b1b4",
-                "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5"
-            },
-            "require-dev": {
-                "fabpot/php-cs-fixer": "1.7.*",
-                "phpunit/phpunit": "~4.0",
-                "zendframework/zend-config": "~2.5",
-                "zendframework/zend-eventmanager": "~2.5",
-                "zendframework/zend-filter": "~2.5",
-                "zendframework/zend-inputfilter": "~2.5",
-                "zendframework/zend-serializer": "~2.5",
-                "zendframework/zend-servicemanager": "~2.5"
-            },
-            "suggest": {
-                "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-                "zendframework/zend-filter": "To support naming strategy hydrator usage",
-                "zendframework/zend-serializer": "Zend\\Serializer component",
-                "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.6-dev",
-                    "dev-develop": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Zend\\Stdlib\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "homepage": "https://github.com/zendframework/zend-stdlib",
-            "keywords": [
-                "stdlib",
-                "zf2"
-            ],
-            "time": "2015-07-21 17:08:05"
-        }
-    ],
-    "packages-dev": [
-        {
-            "name": "behat/mink",
-            "version": "v1.6.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/Mink.git",
-                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
-                "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.1",
-                "symfony/css-selector": "~2.0"
-            },
-            "suggest": {
-                "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-                "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
-                "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
-                "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.6.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Behat\\Mink\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Browser controller/emulator abstraction for PHP",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "browser",
-                "testing",
-                "web"
-            ],
-            "time": "2015-02-04 17:02:06"
-        },
-        {
-            "name": "behat/mink-browserkit-driver",
-            "version": "v1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
-                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd",
-                "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd",
-                "shasum": ""
-            },
-            "require": {
-                "behat/mink": "~1.6@dev",
-                "php": ">=5.3.1",
-                "symfony/browser-kit": "~2.0",
-                "symfony/dom-crawler": "~2.0"
-            },
-            "require-dev": {
-                "silex/silex": "~1.2"
-            },
-            "type": "mink-driver",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Behat\\Mink\\Driver": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Symfony2 BrowserKit driver for Mink framework",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "Mink",
-                "Symfony2",
-                "browser",
-                "testing"
-            ],
-            "time": "2014-09-26 11:35:19"
-        },
-        {
-            "name": "behat/mink-goutte-driver",
-            "version": "dev-master",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/minkphp/MinkGoutteDriver.git",
-                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/7e9a7319cc0e8cf9d4d4c9e06e2020d3a31bd792",
-                "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-                "shasum": ""
-            },
-            "require": {
-                "behat/mink": "~1.6@dev",
-                "behat/mink-browserkit-driver": "~1.2@dev",
-                "fabpot/goutte": "~1.0.4|~2.0|~3.1",
-                "php": ">=5.3.1"
-            },
-            "type": "mink-driver",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.1.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Behat\\Mink\\Driver\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                }
-            ],
-            "description": "Goutte driver for Mink framework",
-            "homepage": "http://mink.behat.org/",
-            "keywords": [
-                "browser",
-                "goutte",
-                "headless",
-                "testing"
-            ],
-            "time": "2015-06-27 00:15:11"
-        },
-        {
-            "name": "doctrine/instantiator",
-            "version": "1.0.5",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/doctrine/instantiator.git",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3,<8.0-DEV"
-            },
-            "require-dev": {
-                "athletic/athletic": "~0.1.8",
-                "ext-pdo": "*",
-                "ext-phar": "*",
-                "phpunit/phpunit": "~4.0",
-                "squizlabs/php_codesniffer": "~2.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Marco Pivetta",
-                    "email": "ocramius@gmail.com",
-                    "homepage": "http://ocramius.github.com/"
-                }
-            ],
-            "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-            "homepage": "https://github.com/doctrine/instantiator",
-            "keywords": [
-                "constructor",
-                "instantiate"
-            ],
-            "time": "2015-06-14 21:17:01"
-        },
-        {
-            "name": "fabpot/goutte",
-            "version": "v3.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/FriendsOfPHP/Goutte.git",
-                "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
-                "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
-                "shasum": ""
-            },
-            "require": {
-                "guzzlehttp/guzzle": "^6.0",
-                "php": ">=5.5.0",
-                "symfony/browser-kit": "~2.1",
-                "symfony/css-selector": "~2.1",
-                "symfony/dom-crawler": "~2.1"
-            },
-            "type": "application",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "3.1-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Goutte\\": "Goutte"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                }
-            ],
-            "description": "A simple PHP Web Scraper",
-            "homepage": "https://github.com/FriendsOfPHP/Goutte",
-            "keywords": [
-                "scraper"
-            ],
-            "time": "2015-08-29 16:16:56"
-        },
-        {
-            "name": "mikey179/vfsStream",
-            "version": "v1.5.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/mikey179/vfsStream.git",
-                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
-                "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.5"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.5.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "org\\bovigo\\vfs\\": "src/main/php"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Frank Kleine",
-                    "homepage": "http://frankkleine.de/",
-                    "role": "Developer"
-                }
-            ],
-            "description": "Virtual file system to mock the real file system in unit tests.",
-            "homepage": "http://vfs.bovigo.org/",
-            "time": "2015-03-29 11:19:49"
-        },
-        {
-            "name": "phpdocumentor/reflection-docblock",
-            "version": "2.0.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-                "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "suggest": {
-                "dflydev/markdown": "~1.0",
-                "erusev/parsedown": "~1.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "phpDocumentor": [
-                        "src/"
-                    ]
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Mike van Riel",
-                    "email": "mike.vanriel@naenius.com"
-                }
-            ],
-            "time": "2015-02-03 12:10:50"
-        },
-        {
-            "name": "phpspec/prophecy",
-            "version": "v1.5.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/phpspec/prophecy.git",
-                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-                "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "phpdocumentor/reflection-docblock": "~2.0",
-                "sebastian/comparator": "~1.1"
-            },
-            "require-dev": {
-                "phpspec/phpspec": "~2.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-0": {
-                    "Prophecy\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Konstantin Kudryashov",
-                    "email": "ever.zet@gmail.com",
-                    "homepage": "http://everzet.com"
-                },
-                {
-                    "name": "Marcello Duarte",
-                    "email": "marcello.duarte@gmail.com"
-                }
-            ],
-            "description": "Highly opinionated mocking framework for PHP 5.3+",
-            "homepage": "https://github.com/phpspec/prophecy",
-            "keywords": [
-                "Double",
-                "Dummy",
-                "fake",
-                "mock",
-                "spy",
-                "stub"
-            ],
-            "time": "2015-08-13 10:07:40"
-        },
-        {
-            "name": "phpunit/php-code-coverage",
-            "version": "2.2.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-                "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c",
-                "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "phpunit/php-file-iterator": "~1.3",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-token-stream": "~1.3",
-                "sebastian/environment": "^1.3.2",
-                "sebastian/version": "~1.0"
-            },
-            "require-dev": {
-                "ext-xdebug": ">=2.1.4",
-                "phpunit/phpunit": "~4"
-            },
-            "suggest": {
-                "ext-dom": "*",
-                "ext-xdebug": ">=2.2.1",
-                "ext-xmlwriter": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-            "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-            "keywords": [
-                "coverage",
-                "testing",
-                "xunit"
-            ],
-            "time": "2015-08-04 03:42:39"
-        },
-        {
-            "name": "phpunit/php-file-iterator",
-            "version": "1.4.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-                "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
-                "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-            "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-            "keywords": [
-                "filesystem",
-                "iterator"
-            ],
-            "time": "2015-06-21 13:08:43"
-        },
-        {
-            "name": "phpunit/php-text-template",
-            "version": "1.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-text-template.git",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Simple template engine.",
-            "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-            "keywords": [
-                "template"
-            ],
-            "time": "2015-06-21 13:50:34"
-        },
-        {
-            "name": "phpunit/php-timer",
-            "version": "1.0.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-timer.git",
-                "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
-                "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Utility class for timing",
-            "homepage": "https://github.com/sebastianbergmann/php-timer/",
-            "keywords": [
-                "timer"
-            ],
-            "time": "2015-06-21 08:01:12"
-        },
-        {
-            "name": "phpunit/php-token-stream",
-            "version": "1.4.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-                "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
-                "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
-                "shasum": ""
-            },
-            "require": {
-                "ext-tokenizer": "*",
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Wrapper around PHP's tokenizer extension.",
-            "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-            "keywords": [
-                "tokenizer"
-            ],
-            "time": "2015-08-16 08:51:00"
-        },
-        {
-            "name": "phpunit/phpunit",
-            "version": "4.8.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit.git",
-                "reference": "2246830f4a1a551c67933e4171bf2126dc29d357"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2246830f4a1a551c67933e4171bf2126dc29d357",
-                "reference": "2246830f4a1a551c67933e4171bf2126dc29d357",
-                "shasum": ""
-            },
-            "require": {
-                "ext-dom": "*",
-                "ext-json": "*",
-                "ext-pcre": "*",
-                "ext-reflection": "*",
-                "ext-spl": "*",
-                "php": ">=5.3.3",
-                "phpspec/prophecy": "^1.3.1",
-                "phpunit/php-code-coverage": "~2.1",
-                "phpunit/php-file-iterator": "~1.4",
-                "phpunit/php-text-template": "~1.2",
-                "phpunit/php-timer": ">=1.0.6",
-                "phpunit/phpunit-mock-objects": "~2.3",
-                "sebastian/comparator": "~1.1",
-                "sebastian/diff": "~1.2",
-                "sebastian/environment": "~1.3",
-                "sebastian/exporter": "~1.2",
-                "sebastian/global-state": "~1.0",
-                "sebastian/version": "~1.0",
-                "symfony/yaml": "~2.1|~3.0"
-            },
-            "suggest": {
-                "phpunit/php-invoker": "~1.1"
-            },
-            "bin": [
-                "phpunit"
-            ],
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "4.8.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "The PHP Unit Testing framework.",
-            "homepage": "https://phpunit.de/",
-            "keywords": [
-                "phpunit",
-                "testing",
-                "xunit"
-            ],
-            "time": "2015-08-24 04:09:38"
-        },
-        {
-            "name": "phpunit/phpunit-mock-objects",
-            "version": "2.3.7",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-                "reference": "5e2645ad49d196e020b85598d7c97e482725786a"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a",
-                "reference": "5e2645ad49d196e020b85598d7c97e482725786a",
-                "shasum": ""
-            },
-            "require": {
-                "doctrine/instantiator": "^1.0.2",
-                "php": ">=5.3.3",
-                "phpunit/php-text-template": "~1.2",
-                "sebastian/exporter": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "suggest": {
-                "ext-soap": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sb@sebastian-bergmann.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Mock Object library for PHPUnit",
-            "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-            "keywords": [
-                "mock",
-                "xunit"
-            ],
-            "time": "2015-08-19 09:14:08"
-        },
-        {
-            "name": "sebastian/comparator",
-            "version": "1.2.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/comparator.git",
-                "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
-                "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/diff": "~1.2",
-                "sebastian/exporter": "~1.2"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides the functionality to compare PHP values for equality",
-            "homepage": "http://www.github.com/sebastianbergmann/comparator",
-            "keywords": [
-                "comparator",
-                "compare",
-                "equality"
-            ],
-            "time": "2015-07-26 15:48:44"
-        },
-        {
-            "name": "sebastian/diff",
-            "version": "1.3.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/diff.git",
-                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
-                "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Kore Nordmann",
-                    "email": "mail@kore-nordmann.de"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Diff implementation",
-            "homepage": "http://www.github.com/sebastianbergmann/diff",
-            "keywords": [
-                "diff"
-            ],
-            "time": "2015-02-22 15:13:53"
-        },
-        {
-            "name": "sebastian/environment",
-            "version": "1.3.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/environment.git",
-                "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
-                "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.3.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Provides functionality to handle HHVM/PHP environments",
-            "homepage": "http://www.github.com/sebastianbergmann/environment",
-            "keywords": [
-                "Xdebug",
-                "environment",
-                "hhvm"
-            ],
-            "time": "2015-08-03 06:14:51"
-        },
-        {
-            "name": "sebastian/exporter",
-            "version": "1.2.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/exporter.git",
-                "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
-                "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3",
-                "sebastian/recursion-context": "~1.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.2.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Volker Dusch",
-                    "email": "github@wallbash.com"
-                },
-                {
-                    "name": "Bernhard Schussek",
-                    "email": "bschussek@2bepublished.at"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides the functionality to export PHP variables for visualization",
-            "homepage": "http://www.github.com/sebastianbergmann/exporter",
-            "keywords": [
-                "export",
-                "exporter"
-            ],
-            "time": "2015-06-21 07:55:53"
-        },
-        {
-            "name": "sebastian/global-state",
-            "version": "1.0.0",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/global-state.git",
-                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-                "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.2"
-            },
-            "suggest": {
-                "ext-uopz": "*"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                }
-            ],
-            "description": "Snapshotting of global state",
-            "homepage": "http://www.github.com/sebastianbergmann/global-state",
-            "keywords": [
-                "global state"
-            ],
-            "time": "2014-10-06 09:23:50"
-        },
-        {
-            "name": "sebastian/recursion-context",
-            "version": "1.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/recursion-context.git",
-                "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
-                "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.3"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.4"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Jeff Welch",
-                    "email": "whatthejeff@gmail.com"
-                },
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de"
-                },
-                {
-                    "name": "Adam Harvey",
-                    "email": "aharvey@php.net"
-                }
-            ],
-            "description": "Provides functionality to recursively process PHP variables",
-            "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
-            "time": "2015-06-21 08:04:50"
-        },
-        {
-            "name": "sebastian/version",
-            "version": "1.0.6",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/sebastianbergmann/version.git",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-                "shasum": ""
-            },
-            "type": "library",
-            "autoload": {
-                "classmap": [
-                    "src/"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "BSD-3-Clause"
-            ],
-            "authors": [
-                {
-                    "name": "Sebastian Bergmann",
-                    "email": "sebastian@phpunit.de",
-                    "role": "lead"
-                }
-            ],
-            "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-            "homepage": "https://github.com/sebastianbergmann/version",
-            "time": "2015-06-21 13:59:46"
-        },
-        {
-            "name": "symfony/browser-kit",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/BrowserKit.git",
-                "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
-                "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9",
-                "symfony/dom-crawler": "~2.0,>=2.0.5"
-            },
-            "require-dev": {
-                "symfony/css-selector": "~2.0,>=2.0.5",
-                "symfony/phpunit-bridge": "~2.7",
-                "symfony/process": "~2.0,>=2.0.5"
-            },
-            "suggest": {
-                "symfony/process": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\BrowserKit\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony BrowserKit Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-09-06 08:36:38"
-        },
-        {
-            "name": "symfony/css-selector",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/CssSelector.git",
-                "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/CssSelector/zipball/ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
-                "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\CssSelector\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Jean-FranÃ§ois Simon",
-                    "email": "jeanfrancois.simon@sensiolabs.com"
-                },
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony CssSelector Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-24 07:13:45"
-        },
-        {
-            "name": "symfony/dom-crawler",
-            "version": "v2.7.4",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/symfony/DomCrawler.git",
-                "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
-                "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.9"
-            },
-            "require-dev": {
-                "symfony/css-selector": "~2.3",
-                "symfony/phpunit-bridge": "~2.7"
-            },
-            "suggest": {
-                "symfony/css-selector": ""
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "2.7-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Symfony\\Component\\DomCrawler\\": ""
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Fabien Potencier",
-                    "email": "fabien@symfony.com"
-                },
-                {
-                    "name": "Symfony Community",
-                    "homepage": "https://symfony.com/contributors"
-                }
-            ],
-            "description": "Symfony DomCrawler Component",
-            "homepage": "https://symfony.com",
-            "time": "2015-08-26 10:48:03"
-        }
-    ],
-    "aliases": [],
-    "minimum-stability": "dev",
-    "stability-flags": {
-        "behat/mink-goutte-driver": 20
-    },
-    "prefer-stable": true,
-    "prefer-lowest": false,
-    "platform": {
-        "php": ">=5.5.9"
-    },
-    "platform-dev": []
-}
diff --git a/core/vendor/.htaccess b/core/vendor/.htaccess
deleted file mode 100644
index 50d210b..0000000
--- a/core/vendor/.htaccess
+++ /dev/null
@@ -1,24 +0,0 @@
-# Deny all requests from Apache 2.4+.
-<IfModule mod_authz_core.c>
-  Require all denied
-</IfModule>
-
-# Deny all requests from Apache 2.0-2.2.
-<IfModule !mod_authz_core.c>
-  Deny from all
-</IfModule>
-# Turn off all options we don't need.
-Options None
-Options +FollowSymLinks
-
-# Set the catch-all handler to prevent scripts from being executed.
-SetHandler Drupal_Security_Do_Not_Remove_See_SA_2006_006
-<Files *>
-  # Override the handler again if we're run later in the evaluation list.
-  SetHandler Drupal_Security_Do_Not_Remove_See_SA_2013_003
-</Files>
-
-# If we know how to do it safely, disable the PHP engine entirely.
-<IfModule mod_php5.c>
-  php_flag engine off
-</IfModule>
diff --git a/core/vendor/behat/mink-browserkit-driver/.travis.yml b/core/vendor/behat/mink-browserkit-driver/.travis.yml
deleted file mode 100644
index 838fc4e..0000000
--- a/core/vendor/behat/mink-browserkit-driver/.travis.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-language: php
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-matrix:
-  include:
-    - php: 5.5
-      env: SYMFONY_VERSION='2.3.*'
-    - php: 5.5
-      env: SYMFONY_VERSION='2.5.*@dev'
-
-before_script:
-  - sh -c 'if [ "$SYMFONY_VERSION" != "" ]; then composer require -n --no-update symfony/symfony=$SYMFONY_VERSION; fi;'
-  - composer install -n --prefer-source
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar
-  - php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md b/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md
deleted file mode 100644
index 774663f..0000000
--- a/core/vendor/behat/mink-browserkit-driver/CHANGELOG.md
+++ /dev/null
@@ -1,33 +0,0 @@
-1.2.0 / 2014-09-26
-==================
-
-BC break:
-
-* Changed the behavior of `getValue` for checkboxes according to the BC break in Mink 1.6
-
-New features:
-
-* Implemented `getOuterHtml`
-* Added the support of manipulating forms without submit buttons
-* Added support of any request headers instead of supporting only a few hardcoded ones
-* Added support of any BrowserKit client using `filterResponse` when using BrowserKit 2.3+
-* Added the support of reset buttons
-* Implemented `submitForm`
-* Implemented `isSelected`
-
-Bug fixes:
-
-* Fixed the support of options without value attribute in `isSelected` and `getValue`
-* Added the support of radio buttons in `isChecked`
-* Fixed the submission of empty textarea fields
-* Refactored the handling of request headers to ensure they are reset when resetting the driver
-* Fixed the handling of buttons to submit only for submit buttons rather than all buttons
-* Fixed the code to throw exceptions rather than triggering a fatal error for invalid usages of the driver
-* Fixed the removal of cookies
-* Fixed the submission of form fields with same name and without id
-* Fixed `getAttribute` to return `null` for missing attributes rather than an empty string
-
-Testing:
-
-* Updated the testsuite to use the new Mink 1.6 driver testsuite
-* Added testing on HHVM
diff --git a/core/vendor/behat/mink-browserkit-driver/README.md b/core/vendor/behat/mink-browserkit-driver/README.md
deleted file mode 100755
index fc36e41..0000000
--- a/core/vendor/behat/mink-browserkit-driver/README.md
+++ /dev/null
@@ -1,54 +0,0 @@
-Mink BrowserKit Driver
-======================
-
-[![Latest Stable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/stable.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Latest Unstable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/unstable.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Total Downloads](https://poser.pugx.org/behat/mink-browserkit-driver/downloads.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
-[![Build Status](https://travis-ci.org/Behat/MinkBrowserKitDriver.svg?branch=master)](https://travis-ci.org/Behat/MinkBrowserKitDriver)
-[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/badges/quality-score.png?s=0443d284940e099ea560eb39b6b2fcdc5d4e7f29)](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/)
-[![Code Coverage](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/badges/coverage.png?s=48960c4495488ab0b7d310b62322f017497f5bfa)](https://scrutinizer-ci.com/g/Behat/MinkBrowserKitDriver/)
-[![License](https://poser.pugx.org/behat/mink-browserkit-driver/license.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
-
-Usage Example
--------------
-
-``` php
-<?php
-
-use Behat\Mink\Mink,
-    Behat\Mink\Session,
-    Behat\Mink\Driver\BrowserKitDriver;
-
-use Symfony\Component\HttpKernel\Client;
-
-$app  = require_once(__DIR__.'/app.php'); // Silex app
-
-$mink = new Mink(array(
-    'silex' => new Session(new BrowserKitDriver(new Client($app))),
-));
-
-$mink->getSession('silex')->getPage()->findLink('Chat')->click();
-```
-
-Installation
-------------
-
-``` json
-{
-    "require": {
-        "behat/mink":                   "~1.5",
-        "behat/mink-browserkit-driver": "~1.1"
-    }
-}
-```
-
-``` bash
-$> curl -sS https://getcomposer.org/installer | php
-$> php composer.phar install
-```
-
-Maintainers
------------
-
-* Konstantin Kudryashov [everzet](http://github.com/everzet)
-* Other [awesome developers](https://github.com/Behat/MinkBrowserKitDriver/graphs/contributors)
diff --git a/core/vendor/behat/mink-browserkit-driver/composer.json b/core/vendor/behat/mink-browserkit-driver/composer.json
deleted file mode 100644
index c0c5df9..0000000
--- a/core/vendor/behat/mink-browserkit-driver/composer.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "name":         "behat/mink-browserkit-driver",
-    "description":  "Symfony2 BrowserKit driver for Mink framework",
-    "keywords":     ["Symfony2", "Mink", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "mink-driver",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                  ">=5.3.1",
-        "behat/mink":           "~1.6@dev",
-        "symfony/browser-kit":  "~2.0",
-        "symfony/dom-crawler":  "~2.0"
-    },
-
-    "require-dev": {
-        "silex/silex": "~1.2"
-    },
-
-    "autoload": {
-        "psr-0": {
-            "Behat\\Mink\\Driver": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\Driver\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.2.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist b/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
deleted file mode 100644
index 4f9b932..0000000
--- a/core/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<phpunit colors="true" bootstrap="vendor/behat/mink/driver-testsuite/bootstrap.php">
-    <php>
-        <var name="driver_config_factory" value="Behat\Mink\Tests\Driver\BrowserKitConfig::getInstance" />
-    </php>
-
-    <testsuites>
-        <testsuite name="Driver test suite">
-            <directory>tests</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Basic</directory>
-            <directory>vendor/behat/mink/driver-testsuite/tests/Form</directory>
-        </testsuite>
-    </testsuites>
-
-    <filter>
-        <whitelist>
-            <directory>./src/Behat/Mink/Driver</directory>
-        </whitelist>
-    </filter>
-</phpunit>
diff --git a/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php b/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php
deleted file mode 100644
index 28b99dc..0000000
--- a/core/vendor/behat/mink-browserkit-driver/src/Behat/Mink/Driver/BrowserKitDriver.php
+++ /dev/null
@@ -1,949 +0,0 @@
-<?php
-
-/*
- * This file is part of the Behat\Mink.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Exception\DriverException;
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-use Symfony\Component\BrowserKit\Client;
-use Symfony\Component\BrowserKit\Cookie;
-use Symfony\Component\BrowserKit\Request;
-use Symfony\Component\BrowserKit\Response;
-use Symfony\Component\DomCrawler\Crawler;
-use Symfony\Component\DomCrawler\Field\ChoiceFormField;
-use Symfony\Component\DomCrawler\Field\FileFormField;
-use Symfony\Component\DomCrawler\Field\FormField;
-use Symfony\Component\DomCrawler\Field\InputFormField;
-use Symfony\Component\DomCrawler\Field\TextareaFormField;
-use Symfony\Component\DomCrawler\Form;
-use Symfony\Component\HttpFoundation\Request as HttpFoundationRequest;
-use Symfony\Component\HttpFoundation\Response as HttpFoundationResponse;
-use Symfony\Component\HttpKernel\Client as HttpKernelClient;
-
-/**
- * Symfony2 BrowserKit driver.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class BrowserKitDriver extends CoreDriver
-{
-    private $session;
-    private $client;
-
-    /**
-     * @var Form[]
-     */
-    private $forms = array();
-    private $serverParameters = array();
-    private $started = false;
-    private $removeScriptFromUrl = false;
-    private $removeHostFromUrl = false;
-
-    /**
-     * Initializes BrowserKit driver.
-     *
-     * @param Client      $client  BrowserKit client instance
-     * @param string|null $baseUrl Base URL for HttpKernel clients
-     */
-    public function __construct(Client $client, $baseUrl = null)
-    {
-        $this->client = $client;
-        $this->client->followRedirects(true);
-
-        if ($baseUrl !== null && $client instanceof HttpKernelClient) {
-            $client->setServerParameter('SCRIPT_FILENAME', parse_url($baseUrl, PHP_URL_PATH));
-        }
-    }
-
-    /**
-     * Returns BrowserKit HTTP client instance.
-     *
-     * @return Client
-     */
-    public function getClient()
-    {
-        return $this->client;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setSession(Session $session)
-    {
-        $this->session = $session;
-    }
-
-    /**
-     * Tells driver to remove hostname from URL.
-     *
-     * @param Boolean $remove
-     *
-     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
-     */
-    public function setRemoveHostFromUrl($remove = true)
-    {
-        trigger_error(
-            'setRemoveHostFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
-            E_USER_DEPRECATED
-        );
-        $this->removeHostFromUrl = (bool) $remove;
-    }
-
-    /**
-     * Tells driver to remove script name from URL.
-     *
-     * @param Boolean $remove
-     *
-     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
-     */
-    public function setRemoveScriptFromUrl($remove = true)
-    {
-        trigger_error(
-            'setRemoveScriptFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
-            E_USER_DEPRECATED
-        );
-        $this->removeScriptFromUrl = (bool) $remove;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        $this->started = true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        return $this->started;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function stop()
-    {
-        $this->reset();
-        $this->started = false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reset()
-    {
-        // Restarting the client resets the cookies and the history
-        $this->client->restart();
-        $this->forms = array();
-        $this->serverParameters = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function visit($url)
-    {
-        $this->client->request('GET', $this->prepareUrl($url), array(), array(), $this->serverParameters);
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCurrentUrl()
-    {
-        if (method_exists($this->client, 'getInternalRequest')) {
-            $request = $this->client->getInternalRequest();
-        } else {
-            // BC layer for BrowserKit 2.2.x and older
-            $request = $this->client->getRequest();
-
-            if (null !== $request && !$request instanceof Request && !$request instanceof HttpFoundationRequest) {
-                throw new DriverException(sprintf(
-                    'The BrowserKit client returned an unsupported request implementation: %s. Please upgrade your BrowserKit package to 2.3 or newer.',
-                    get_class($request)
-                ));
-            }
-        }
-
-        if ($request === null) {
-            throw new DriverException('Unable to access the request before visiting a page');
-        }
-
-        return $request->getUri();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reload()
-    {
-        $this->client->reload();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function forward()
-    {
-        $this->client->forward();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function back()
-    {
-        $this->client->back();
-        $this->forms = array();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasicAuth($user, $password)
-    {
-        if (false === $user) {
-            unset($this->serverParameters['PHP_AUTH_USER'], $this->serverParameters['PHP_AUTH_PW']);
-
-            return;
-        }
-
-        $this->serverParameters['PHP_AUTH_USER'] = $user;
-        $this->serverParameters['PHP_AUTH_PW'] = $password;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestHeader($name, $value)
-    {
-        $contentHeaders = array('CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true);
-        $name = str_replace('-', '_', strtoupper($name));
-
-        // CONTENT_* are not prefixed with HTTP_ in PHP when building $_SERVER
-        if (!isset($contentHeaders[$name])) {
-            $name = 'HTTP_' . $name;
-        }
-
-        $this->serverParameters[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResponseHeaders()
-    {
-        return $this->getResponse()->getHeaders();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCookie($name, $value = null)
-    {
-        if (null === $value) {
-            $this->deleteCookie($name);
-
-            return;
-        }
-
-        $jar = $this->client->getCookieJar();
-        $jar->set(new Cookie($name, $value));
-    }
-
-    /**
-     * Deletes a cookie by name.
-     *
-     * @param string $name Cookie name.
-     */
-    private function deleteCookie($name)
-    {
-        $path = $this->getCookiePath();
-        $jar = $this->client->getCookieJar();
-
-        do {
-            if (null !== $jar->get($name, $path)) {
-                $jar->expire($name, $path);
-            }
-
-            $path = preg_replace('/.$/', '', $path);
-        } while ($path);
-    }
-
-    /**
-     * Returns current cookie path.
-     *
-     * @return string
-     */
-    private function getCookiePath()
-    {
-        $path = dirname(parse_url($this->getCurrentUrl(), PHP_URL_PATH));
-
-        if ('\\' === DIRECTORY_SEPARATOR) {
-            $path = str_replace('\\', '/', $path);
-        }
-
-        return $path;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($name)
-    {
-        // Note that the following doesn't work well because
-        // Symfony\Component\BrowserKit\CookieJar stores cookies by name,
-        // path, AND domain and if you don't fill them all in correctly then
-        // you won't get the value that you're expecting.
-        //
-        // $jar = $this->client->getCookieJar();
-        //
-        // if (null !== $cookie = $jar->get($name)) {
-        //     return $cookie->getValue();
-        // }
-
-        $allValues = $this->client->getCookieJar()->allValues($this->getCurrentUrl());
-
-        if (isset($allValues[$name])) {
-            return $allValues[$name];
-        }
-
-        return null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStatusCode()
-    {
-        return $this->getResponse()->getStatus();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        return $this->getResponse()->getContent();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($xpath)
-    {
-        $nodes = $this->getCrawler()->filterXPath($xpath);
-
-        $elements = array();
-        foreach ($nodes as $i => $node) {
-            $elements[] = new NodeElement(sprintf('(%s)[%d]', $xpath, $i + 1), $this->session);
-        }
-
-        return $elements;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTagName($xpath)
-    {
-        return $this->getCrawlerNode($this->getFilteredCrawler($xpath))->nodeName;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText($xpath)
-    {
-        $text = $this->getFilteredCrawler($xpath)->text();
-        $text = str_replace("\n", ' ', $text);
-        $text = preg_replace('/ {2,}/', ' ', $text);
-
-        return trim($text);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml($xpath)
-    {
-        // cut the tag itself (making innerHTML out of outerHTML)
-        return preg_replace('/^\<[^\>]+\>|\<[^\>]+\>$/', '', $this->getOuterHtml($xpath));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOuterHtml($xpath)
-    {
-        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        return $node->ownerDocument->saveXML($node);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttribute($xpath, $name)
-    {
-        $node = $this->getFilteredCrawler($xpath);
-
-        if ($this->getCrawlerNode($node)->hasAttribute($name)) {
-            return $node->attr($name);
-        }
-
-        return null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue($xpath)
-    {
-        if (in_array($this->getAttribute($xpath, 'type'), array('submit', 'image', 'button'))) {
-            return $this->getAttribute($xpath, 'value');
-        }
-
-        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        if ('option' === $node->tagName) {
-            return $this->getOptionValue($node);
-        }
-
-        try {
-            $field = $this->getFormField($xpath);
-        } catch (\InvalidArgumentException $e) {
-            return $this->getAttribute($xpath, 'value');
-        }
-
-        return $field->getValue();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setValue($xpath, $value)
-    {
-        $this->getFormField($xpath)->setValue($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function check($xpath)
-    {
-        $this->getCheckboxField($xpath)->tick();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function uncheck($xpath)
-    {
-        $this->getCheckboxField($xpath)->untick();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function selectOption($xpath, $value, $multiple = false)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField) {
-            throw new DriverException(sprintf('Impossible to select an option on the element with XPath "%s" as it is not a select or radio input', $xpath));
-        }
-
-        if ($multiple) {
-            $oldValue   = (array) $field->getValue();
-            $oldValue[] = $value;
-            $value      = $oldValue;
-        }
-
-        $field->select($value);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSelected($xpath)
-    {
-        $optionValue = $this->getOptionValue($this->getCrawlerNode($this->getFilteredCrawler($xpath)));
-        $selectField = $this->getFormField('(' . $xpath . ')/ancestor-or-self::*[local-name()="select"]');
-        $selectValue = $selectField->getValue();
-
-        return is_array($selectValue) ? in_array($optionValue, $selectValue) : $optionValue == $selectValue;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function click($xpath)
-    {
-        $node = $this->getFilteredCrawler($xpath);
-        $crawlerNode = $this->getCrawlerNode($node);
-        $tagName = $crawlerNode->nodeName;
-
-        if ('a' === $tagName) {
-            $this->client->click($node->link());
-            $this->forms = array();
-        } elseif ($this->canSubmitForm($crawlerNode)) {
-            $this->submit($node->form());
-        } elseif ($this->canResetForm($crawlerNode)) {
-            $this->resetForm($crawlerNode);
-        } else {
-            $message = sprintf('%%s supports clicking on links and buttons only. But "%s" provided', $tagName);
-
-            throw new UnsupportedDriverActionException($message, $this);
-        }
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isChecked($xpath)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField || 'select' === $field->getType()) {
-            throw new DriverException(sprintf('Impossible to get the checked state of the element with XPath "%s" as it is not a checkbox or radio input', $xpath));
-        }
-
-        if ('checkbox' === $field->getType()) {
-            return $field->hasValue();
-        }
-
-        $radio = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-
-        return $radio->getAttribute('value') === $field->getValue();
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function attachFile($xpath, $path)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof FileFormField) {
-            throw new DriverException(sprintf('Impossible to attach a file on the element with XPath "%s" as it is not a file input', $xpath));
-        }
-
-        $field->upload($path);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function submitForm($xpath)
-    {
-        $crawler = $this->getFilteredCrawler($xpath);
-
-        $this->submit($crawler->form());
-    }
-
-    /**
-     * @return Response
-     *
-     * @throws DriverException If there is not response yet
-     */
-    protected function getResponse()
-    {
-        if (!method_exists($this->client, 'getInternalResponse')) {
-            $implementationResponse = $this->client->getResponse();
-
-            if (null === $implementationResponse) {
-                throw new DriverException('Unable to access the response before visiting a page');
-            }
-
-            return $this->convertImplementationResponse($implementationResponse);
-        }
-
-        $response = $this->client->getInternalResponse();
-
-        if (null === $response) {
-            throw new DriverException('Unable to access the response before visiting a page');
-        }
-
-        return $response;
-    }
-
-    /**
-     * Gets the BrowserKit Response for legacy BrowserKit versions.
-     *
-     * Before 2.3.0, there was no Client::getInternalResponse method, and the
-     * return value of Client::getResponse can be anything when the implementation
-     * uses Client::filterResponse because of a bad choice done in BrowserKit and
-     * kept for BC reasons (the Client::getInternalResponse method has been added
-     * to solve it).
-     *
-     * This implementation supports client which don't rely Client::filterResponse
-     * and clients which use an HttpFoundation Response (like the HttpKernel client).
-     *
-     * @param object $response the response specific to the BrowserKit implementation
-     *
-     * @return Response
-     *
-     * @throws DriverException If the response cannot be converted to a BrowserKit response
-     */
-    private function convertImplementationResponse($response)
-    {
-        if ($response instanceof Response) {
-            return $response;
-        }
-
-        // due to a bug, the HttpKernel client implementation returns the HttpFoundation response
-        // The conversion logic is copied from Symfony\Component\HttpKernel\Client::filterResponse
-        if ($response instanceof HttpFoundationResponse) {
-            $headers = $response->headers->all();
-            if ($response->headers->getCookies()) {
-                $cookies = array();
-                foreach ($response->headers->getCookies() as $cookie) {
-                    $cookies[] = new Cookie(
-                        $cookie->getName(),
-                        $cookie->getValue(),
-                        $cookie->getExpiresTime(),
-                        $cookie->getPath(),
-                        $cookie->getDomain(),
-                        $cookie->isSecure(),
-                        $cookie->isHttpOnly()
-                    );
-                }
-                $headers['Set-Cookie'] = $cookies;
-            }
-
-            // this is needed to support StreamedResponse
-            ob_start();
-            $response->sendContent();
-            $content = ob_get_clean();
-
-            return new Response($content, $response->getStatusCode(), $headers);
-        }
-
-        throw new DriverException(sprintf(
-            'The BrowserKit client returned an unsupported response implementation: %s. Please upgrade your BrowserKit package to 2.3 or newer.',
-            get_class($response)
-        ));
-    }
-
-    /**
-     * Prepares URL for visiting.
-     * Removes "*.php/" from urls and then passes it to BrowserKitDriver::visit().
-     *
-     * @param string $url
-     *
-     * @return string
-     */
-    protected function prepareUrl($url)
-    {
-        $replacement = ($this->removeHostFromUrl ? '' : '$1') . ($this->removeScriptFromUrl ? '' : '$2');
-
-        return preg_replace('#(https?\://[^/]+)(/[^/\.]+\.php)?#', $replacement, $url);
-    }
-
-    /**
-     * Returns form field from XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return FormField
-     *
-     * @throws DriverException
-     */
-    protected function getFormField($xpath)
-    {
-        $fieldNode = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
-        $fieldName = str_replace('[]', '', $fieldNode->getAttribute('name'));
-
-        $formNode = $this->getFormNode($fieldNode);
-        $formId = $this->getFormNodeId($formNode);
-
-        if (!isset($this->forms[$formId])) {
-            $this->forms[$formId] = new Form($formNode, $this->getCurrentUrl());
-        }
-
-        if (is_array($this->forms[$formId][$fieldName])) {
-            return $this->forms[$formId][$fieldName][$this->getFieldPosition($fieldNode)];
-        }
-
-        return $this->forms[$formId][$fieldName];
-    }
-
-    /**
-     * Returns the checkbox field from xpath query, ensuring it is valid.
-     *
-     * @param string $xpath
-     *
-     * @return ChoiceFormField
-     *
-     * @throws DriverException when the field is not a checkbox
-     */
-    private function getCheckboxField($xpath)
-    {
-        $field = $this->getFormField($xpath);
-
-        if (!$field instanceof ChoiceFormField) {
-            throw new DriverException(sprintf('Impossible to check the element with XPath "%s" as it is not a checkbox', $xpath));
-        }
-
-        return $field;
-    }
-
-    /**
-     * @param \DOMElement $element
-     *
-     * @return \DOMElement
-     *
-     * @throws DriverException if the form node cannot be found
-     */
-    private function getFormNode(\DOMElement $element)
-    {
-        if ($element->hasAttribute('form')) {
-            $formId = $element->getAttribute('form');
-            $formNode = $element->ownerDocument->getElementById($formId);
-
-            if (null === $formNode || 'form' !== $formNode->nodeName) {
-                throw new DriverException(sprintf('The selected node has an invalid form attribute (%s).', $formId));
-            }
-
-            return $formNode;
-        }
-
-        $formNode = $element;
-
-        do {
-            // use the ancestor form element
-            if (null === $formNode = $formNode->parentNode) {
-                throw new DriverException('The selected node does not have a form ancestor.');
-            }
-        } while ('form' !== $formNode->nodeName);
-
-        return $formNode;
-    }
-
-    /**
-     * Gets the position of the field node among elements with the same name
-     *
-     * BrowserKit uses the field name as index to find the field in its Form object.
-     * When multiple fields have the same name (checkboxes for instance), it will return
-     * an array of elements in the order they appear in the DOM.
-     *
-     * @param \DOMElement $fieldNode
-     *
-     * @return integer
-     */
-    private function getFieldPosition(\DOMElement $fieldNode)
-    {
-        $elements = $this->getCrawler()->filterXPath('//*[@name=\''.$fieldNode->getAttribute('name').'\']');
-
-        if (count($elements) > 1) {
-            // more than one element contains this name !
-            // so we need to find the position of $fieldNode
-            foreach ($elements as $key => $element) {
-                /** @var \DOMElement $element */
-                if ($element->getNodePath() === $fieldNode->getNodePath()) {
-                    return $key;
-                }
-            }
-        }
-
-        return 0;
-    }
-
-    private function submit(Form $form)
-    {
-        $formId = $this->getFormNodeId($form->getFormNode());
-
-        if (isset($this->forms[$formId])) {
-            $this->mergeForms($form, $this->forms[$formId]);
-        }
-
-        // remove empty file fields from request
-        foreach ($form->getFiles() as $name => $field) {
-            if (empty($field['name']) && empty($field['tmp_name'])) {
-                $form->remove($name);
-            }
-        }
-
-        foreach ($form->all() as $field) {
-            // Add a fix for https://github.com/symfony/symfony/pull/10733 to support Symfony versions which are not fixed
-            if ($field instanceof TextareaFormField && null === $field->getValue()) {
-                $field->setValue('');
-            }
-        }
-
-        $this->client->submit($form);
-
-        $this->forms = array();
-    }
-
-    private function resetForm(\DOMElement $fieldNode)
-    {
-        $formNode = $this->getFormNode($fieldNode);
-        $formId = $this->getFormNodeId($formNode);
-        unset($this->forms[$formId]);
-    }
-
-    /**
-     * Determines if a node can submit a form.
-     *
-     * @param \DOMElement $node Node.
-     *
-     * @return boolean
-     */
-    private function canSubmitForm(\DOMElement $node)
-    {
-        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
-
-        if ('input' == $node->nodeName && in_array($type, array('submit', 'image'))) {
-            return true;
-        }
-
-        return 'button' == $node->nodeName && (null === $type || 'submit' == $type);
-    }
-
-    /**
-     * Determines if a node can reset a form.
-     *
-     * @param \DOMElement $node Node.
-     *
-     * @return boolean
-     */
-    private function canResetForm(\DOMElement $node)
-    {
-        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
-
-        return in_array($node->nodeName, array('input', 'button')) && 'reset' == $type;
-    }
-
-    /**
-     * Returns form node unique identifier.
-     *
-     * @param \DOMElement $form
-     *
-     * @return string
-     */
-    private function getFormNodeId(\DOMElement $form)
-    {
-        return md5($form->getLineNo() . $form->getNodePath() . $form->nodeValue);
-    }
-
-    /**
-     * Gets the value of an option element
-     *
-     * @param \DOMElement $option
-     *
-     * @return string
-     *
-     * @see \Symfony\Component\DomCrawler\Field\ChoiceFormField::buildOptionValue
-     */
-    private function getOptionValue(\DOMElement $option)
-    {
-        if ($option->hasAttribute('value')) {
-            return $option->getAttribute('value');
-        }
-
-        if (!empty($option->nodeValue)) {
-            return $option->nodeValue;
-        }
-
-        return '1'; // DomCrawler uses 1 by default if there is no text in the option
-    }
-
-    /**
-     * Merges second form values into first one.
-     *
-     * @param Form $to   merging target
-     * @param Form $from merging source
-     */
-    private function mergeForms(Form $to, Form $from)
-    {
-        foreach ($from->all() as $name => $field) {
-            $fieldReflection = new \ReflectionObject($field);
-            $nodeReflection  = $fieldReflection->getProperty('node');
-            $valueReflection = $fieldReflection->getProperty('value');
-
-            $nodeReflection->setAccessible(true);
-            $valueReflection->setAccessible(true);
-
-            if (!($field instanceof InputFormField && in_array(
-                $nodeReflection->getValue($field)->getAttribute('type'),
-                array('submit', 'button', 'image')
-            ))) {
-                $valueReflection->setValue($to[$name], $valueReflection->getValue($field));
-            }
-        }
-    }
-
-    /**
-     * Returns DOMElement from crawler instance.
-     *
-     * @param Crawler $crawler
-     *
-     * @return \DOMElement
-     *
-     * @throws DriverException when the node does not exist
-     */
-    private function getCrawlerNode(Crawler $crawler)
-    {
-        $crawler->rewind();
-        $node = $crawler->current();
-
-        if (null !== $node) {
-            return $node;
-        }
-
-        throw new DriverException('The element does not exist');
-    }
-
-    /**
-     * Returns a crawler filtered for the given XPath, requiring at least 1 result.
-     *
-     * @param string $xpath
-     *
-     * @return Crawler
-     *
-     * @throws DriverException when no matching elements are found
-     */
-    private function getFilteredCrawler($xpath)
-    {
-        if (!count($crawler = $this->getCrawler()->filterXPath($xpath))) {
-            throw new DriverException(sprintf('There is no element matching XPath "%s"', $xpath));
-        }
-
-        return $crawler;
-    }
-
-    /**
-     * Returns crawler instance (got from client).
-     *
-     * @return Crawler
-     *
-     * @throws DriverException
-     */
-    private function getCrawler()
-    {
-        $crawler = $this->client->getCrawler();
-
-        if (null === $crawler) {
-            throw new DriverException('Unable to access the response content before visiting a page');
-        }
-
-        return $crawler;
-    }
-}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php b/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
deleted file mode 100644
index 32335c5..0000000
--- a/core/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
+++ /dev/null
@@ -1,181 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Custom;
-
-use Behat\Mink\Driver\BrowserKitDriver;
-use Symfony\Component\BrowserKit\Client;
-use Symfony\Component\BrowserKit\Response;
-
-class ErrorHandlingTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var TestClient
-     */
-    private $client;
-
-    protected function setUp()
-    {
-        $this->client = new TestClient();
-    }
-
-    public function testGetClient()
-    {
-        $this->assertSame($this->client, $this->getDriver()->getClient());
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the response before visiting a page
-     */
-    public function testGetResponseHeaderWithoutVisit()
-    {
-        $this->getDriver()->getResponseHeaders();
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the response content before visiting a page
-     */
-    public function testFindWithoutVisit()
-    {
-        $this->getDriver()->find('//html');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Unable to access the request before visiting a page
-     */
-    public function testGetCurrentUrlWithoutVisit()
-    {
-        $this->getDriver()->getCurrentUrl();
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
-     */
-    public function testNotMatchingHtml5FormId()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input name="test" value="foo" form="foo">
-        <input type="submit">
-    </form>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
-     */
-    public function testInvalidHtml5FormId()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input name="test" value="foo" form="foo">
-        <input type="submit">
-    </form>
-    <div id="foo"></div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage The selected node does not have a form ancestor.
-     */
-    public function testManipulateInputWithoutForm()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <form id="test">
-        <input type="submit">
-    </form>
-    <div id="foo">
-        <input name="test" value="foo">
-    </div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->setValue('//input[./@name="test"]', 'bar');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\DriverException
-     * @expectedExceptionMessage Behat\Mink\Driver\BrowserKitDriver supports clicking on links and buttons only. But "div" provided
-     */
-    public function testClickOnUnsupportedElement()
-    {
-        $html = <<<'HTML'
-<html>
-<body>
-    <div></div>
-</body>
-</html>
-HTML;
-
-        $this->client->setNextResponse(new Response($html));
-
-        $driver = $this->getDriver();
-        $driver->visit('/index.php');
-        $driver->click('//div');
-    }
-
-    private function getDriver()
-    {
-        return new BrowserKitDriver($this->client);
-    }
-}
-
-class TestClient extends Client
-{
-    protected $nextResponse = null;
-    protected $nextScript = null;
-
-    public function setNextResponse(Response $response)
-    {
-        $this->nextResponse = $response;
-    }
-
-    public function setNextScript($script)
-    {
-        $this->nextScript = $script;
-    }
-
-    protected function doRequest($request)
-    {
-        if (null === $this->nextResponse) {
-            return new Response();
-        }
-
-        $response = $this->nextResponse;
-        $this->nextResponse = null;
-
-        return $response;
-    }
-}
diff --git a/core/vendor/behat/mink-goutte-driver/.travis.yml b/core/vendor/behat/mink-goutte-driver/.travis.yml
deleted file mode 100644
index d21d960..0000000
--- a/core/vendor/behat/mink-goutte-driver/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-language: php
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-before_install:
-  # Force using Goutte 2 on HHVM for now because Guzzle 6 is broken there
-  - if [ "hhvm" = "$TRAVIS_PHP_VERSION" ]; then composer require fabpot/goutte '~2' --no-update; fi
-
-before_script:
-  - export WEB_FIXTURES_HOST=http://localhost
-
-  - composer install --dev --prefer-source
-
-  - sudo apt-get update
-  - sudo apt-get install -y --force-yes apache2 libapache2-mod-php5
-  - sudo sed -i -e "s,/var/www,$(pwd)/vendor/behat/mink/driver-testsuite/web-fixtures,g" /etc/apache2/sites-available/default
-  - sudo /etc/init.d/apache2 restart
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar
-  - php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink-goutte-driver/CHANGELOG.md b/core/vendor/behat/mink-goutte-driver/CHANGELOG.md
deleted file mode 100644
index fcaa7f0..0000000
--- a/core/vendor/behat/mink-goutte-driver/CHANGELOG.md
+++ /dev/null
@@ -1,20 +0,0 @@
-1.1.0 / 2014-10-09
-==================
-
-The driver now relies on BrowserKitDriver 1.2.x, so all changes of this driver are relevant.
-The changes below only describe the changes related to GoutteDriver specifically.
-
-New features:
-
-* Added the possibility to use a normal Goutte client instead of requiring to use an extended one
-* Added the support of Goutte 2.0 as well
-
-Bug fixes:
-
-* Fixed the support of disabling basic auth
-* Fixed the resetting of the driver to reset the basic auth
-
-Testing:
-
-* Updated the testsuite to use the new Mink 1.6 driver testsuite
-* Added testing on HHVM
diff --git a/core/vendor/behat/mink-goutte-driver/composer.json b/core/vendor/behat/mink-goutte-driver/composer.json
deleted file mode 100644
index f103906..0000000
--- a/core/vendor/behat/mink-goutte-driver/composer.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
-    "name":         "behat/mink-goutte-driver",
-    "description":  "Goutte driver for Mink framework",
-    "keywords":     ["goutte", "headless", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "mink-driver",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                           ">=5.3.1",
-        "behat/mink":                    "~1.6@dev",
-        "behat/mink-browserkit-driver":  "~1.2@dev",
-        "fabpot/goutte":                 "~1.0.4|~2.0|~3.1"
-    },
-
-    "autoload": {
-        "psr-4": {
-            "Behat\\Mink\\Driver\\": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\Driver\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.1.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/.travis.yml b/core/vendor/behat/mink/.travis.yml
deleted file mode 100644
index 4c0c786..0000000
--- a/core/vendor/behat/mink/.travis.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-language: php
-
-sudo: false
-
-php: [5.3, 5.4, 5.5, 5.6, hhvm]
-
-cache:
-  directories:
-    - $HOME/.composer/cache
-
-install:
-  - composer install
-
-script: phpunit -v --coverage-clover=coverage.clover
-
-after_script:
-  - wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/core/vendor/behat/mink/CHANGES.md b/core/vendor/behat/mink/CHANGES.md
deleted file mode 100644
index e21d5af..0000000
--- a/core/vendor/behat/mink/CHANGES.md
+++ /dev/null
@@ -1,255 +0,0 @@
-1.6.1 / 2015-02-04
-==================
-
-Bug fixes:
-
-* Added a check for empty path in `WebAssert::cleanUrl()`
-
-Driver testsuite:
-
-* Added an extra test to ensure the right behavior for traversal
-
-Misc:
-
-* Changed the description in the composer.json
-* Switched the repository structure to use PSR-4
-* Updated URLs for the move to the new Github organization
-
-1.6.0 / 2014-09-26
-==================
-
-  * [BC break] Changed the named selector to prefer exact matches over partial matches
-  * [BC break] Changed `NodeElement::getValue` for checkboxes to return the value rather than the checked state (use `isChecked` for that)
-  * Fixed the XPath prefixing when searching inside an existing element
-  * Refactored the driver testsuite entirely and expand it to cover drivers entirely (covering many more cases for consistency)
-  * Changed `NodeElement::setValue` to support any fields rather than only input elements
-  * Removed the wrapping of any driver-level exception in a MinkException on invalid usage as it was making the code too complex
-  * Fixed the matching of the input type in the named selector to be case insensitive according to the HTML spec
-  * Introduced `Behat\Mink\Selector\Xpath\Escaper` to allow reusing the XPath escaping
-  * Deprecated `Element::getSession`. Code needing the session should get it from outside rather than the element
-  * Changed ElementNotFoundException to extend from ExpectationException
-  * Added `Element::getOuterHtml` to get the HTML code of the element including itself
-  * Fixed the name selectors to match on the `placeholder` only for textual inputs
-  * Enforced consistent behavior for drivers on 4xx and 5xx response to return the response rather than throwing an exception
-  * Added `Element::waitFor` to allow retrying some code until it succeeds or the timeout is reached
-  * Added `Element::isValid` to check whether an element still exists in the page
-  * Made `Session::executeScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
-  * Made `Session::evaluateScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
-  * Removed `hasClass` from `DocumentElement` (instead of triggering a fatal error)
-  * Added testing on HHVM to ensure consistency
-  * Fixed `NodeElement::getTagName` to ensure that the tag name is lowercase for all drivers
-  * Fixed `Element::hasAttribute` to ensure it supports attributes with an empty value
-  * Fixed the `field` selector to avoid matching inputs with the type `submit` or `reset`
-  * Changed the button XPath selection to accept `reset` buttons as well
-  * Changed `Session::wait` to return the condition value rather than nothing
-  * Added `Session::getWindowName` and `Session::getWindowNames` to get the name of the current and of all windows
-  * Added `Session::maximizeWindow` to maximize the window
-  * Added `NodeElement::isSelected` to check whether an `<option>` is selected
-  * Added `NodeElement::submitForm` to allow submitting a form without using a button
-  * Added assertions about the value of an attribute
-  * Added the anchor in the assertion on the URL in `WebAssert`
-
-1.5.0 / 2013-04-14
-==================
-
-  * Add `CoreDriver` to simplify future drivers improvements
-  * Add `Mink::isSessionStarted()` method
-  * Fix multibite string `preg_replace` bugs
-  * Fix handling of whitespaces in `WebAssert::pageText...()` methods
-
-1.4.3 / 2013-03-02
-==================
-
-  * Bump dependencies constraints
-
-1.4.2 / 2013-02-13
-==================
-
-  * Fix wrong test case to ensure that core drivers work as expected
-
-1.4.1 / 2013-02-10
-==================
-
-  * Update dependencies
-  * Add ElementException to element actions
-  * Rel attribute support for named selectors
-  * Add hasClass() helper to traversable elements
-  * Add getScreenshot() method to session
-  * Name attr support in named selector for button
-  * Fix for bunch of bugs
-
-1.4.0 / 2012-05-40
-==================
-
-  * New `Session::selectWindow()` and `Session::selectIFrame()` methods
-  * New built-in `WebAssert` class
-  * Fixed DocBlocks (autocompletion in any IDE now should just work)
-  * Moved Behat-related code into `Behat\MinkExtension`
-  * Removed PHPUnit test case class
-  * Updated composer dependencies to not require custom repository anymore
-  * All drivers moved into separate packages
-
-1.3.3 / 2012-03-23
-==================
-
-  * Prevent exceptions in `__toString()`
-  * Added couple of useful step definitions for Behat
-  * Fixed issues #168, #211, #212, #208
-  * Lot of small bug fixes and improvements
-  * Fixed dependencies and composer installation routine
-
-1.3.2 / 2011-12-21
-==================
-
-  * Fixed webdriver registration in MinkContext
-
-1.3.1 / 2011-12-21
-==================
-
-  * Fixed Composer package
-
-1.3.0 / 2011-12-21
-==================
-
-  * Brand new Selenium2Driver (webdriver session)
-  * Multiselect bugfixes
-  * ZombieDriver back in the business
-  * Composer now manages dependencies
-  * Some MinkContext steps got fixes
-  * Lots of bug fixes and cleanup
-
-1.2.0 / 2011-11-04
-==================
-
-  * Brand new SeleniumDriver (thanks @alexandresalome)
-  * Multiselect support (multiple options selection), including new Behat steps
-  * Ability to select option by it's text (in addition to value)
-  * ZombieDriver updates
-  * Use SuiteHooks to populate parameters (no need to call parent __construct anymore)
-  * Updated Goutte and all vendors
-  * Lot of bugfixes and new tests
-
-1.1.1 / 2011-08-12
-==================
-
-  * Fixed Zombie.js server termination on Linux
-  * Fixed base_url usage for external URLs
-
-1.1.0 / 2011-08-08
-==================
-
-  * Added Zombie.js driver (thanks @b00giZm)
-  * Added pt translation (thanks Daniel Gomes)
-  * Refactored MinkContext and MinkTestCase
-
-1.0.3 / 2011-08-02
-==================
-
-  * File uploads for empty fields fixed (GoutteDriver)
-  * Lazy sessions restart
-  * `show_tmp_dir` option in MinkContext
-  * Updated to stable Symfony2 components
-  * SahiClient connection limit bumped to 60 seconds
-  * Dutch language support
-
-1.0.2 / 2011-07-22
-==================
-
-  * ElementHtmlException fixed (thanks @Stof)
-
-1.0.1 / 2011-07-21
-==================
-
-  * Fixed buggy assertions in MinkContext
-
-1.0.0 / 2011-07-20
-==================
-
-  * Added missing tests for almost everything
-  * Hude speedup for SahiDriver
-  * Support for Behat 2.0 contexts
-  * Bundled PHPUnit TestCase
-  * Deep element traversing
-  * Correct behavior of getText() method
-  * New getHtml() method
-  * Basic HTTP auth support
-  * Soft and hard session resetting
-  * Cookies management
-  * Browser history interactions (reload(), back(), forward())
-  * Weaverryan'd exception messages
-  * Huge amount of bugfixes and small additions
-
-0.3.2 / 2011-06-20
-==================
-
-  * Fixed file uploads in Goutte driver
-  * Fixed setting of long texts into fields
-  * Added getPlainText() (returns text without tags and whitespaces) method to the element's API
-  * Start_url is now optional parameter
-  * Default session (if needed) name now need to be always specified by hands with setDefaultSessionName()
-  * default_driver => default_session
-  * Updated Symfony Components
-
-0.3.1 / 2011-05-17
-==================
-
-  * Small SahiClient update (it generates SID now if no provided)
-  * setActiveSessionName => setDefaultSessionName method rename
-
-0.3.0 / 2011-05-17
-==================
-
-  * Rewritten from scratch Mink drivers handler. Now it's sessions handler. And Mink now
-    sessions-centric tool. See examples in readme. Much cleaner API now.
-
-0.2.4 / 2011-05-12
-==================
-
-  * Fixed wrong url locator function
-  * Fixed wrong regex in `should see` step
-  * Fixed delimiters use in `should see` step
-  * Added url-match step for checking urls against regex
-
-0.2.3 / 2011-05-01
-==================
-
-  * Updated SahiClient with new version, which is faster and cleaner with it's exceptions
-
-0.2.2 / 2011-05-01
-==================
-
-  * Ability to use already started browser as SahiDriver aim
-  * Added japanese translation for bundled steps (thanks @hidenorigoto)
-  * 10 seconds limit for browser connection in SahiDriver
-
-0.2.1 / 2011-04-21
-==================
-
-  * Fixed some bundled step definitions
-
-0.2.0 / 2011-04-21
-==================
-
-  * Additional step definitions
-  * Support for extended drivers configuration through behat.yml environment parameters
-  * Lots of new named selectors
-  * Bug fixes
-  * Small improvements
-
-0.1.2 / 2011-04-08
-==================
-
-  * Fixed Sahi url escaping
-
-0.1.1 / 2011-04-06
-==================
-
-  * Fixed should/should_not steps
-  * Added spanish translation
-  * Fixed forms to use <base> element
-  * Fixed small UnsupportedByDriverException issue
-
-0.1.0 / 2011-04-04
-==================
-
-  * Initial release
diff --git a/core/vendor/behat/mink/LICENSE b/core/vendor/behat/mink/LICENSE
deleted file mode 100644
index 14f15e8..0000000
--- a/core/vendor/behat/mink/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright (c) 2011-2013 Konstantin Kudryashov <ever.zet@gmail.com>
-
-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/core/vendor/behat/mink/composer.json b/core/vendor/behat/mink/composer.json
deleted file mode 100644
index 7a8723f..0000000
--- a/core/vendor/behat/mink/composer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-    "name":         "behat/mink",
-    "description":  "Browser controller/emulator abstraction for PHP",
-    "keywords":     ["web", "testing", "browser"],
-    "homepage":     "http://mink.behat.org/",
-    "type":         "library",
-    "license":      "MIT",
-
-    "authors": [
-        {
-            "name":      "Konstantin Kudryashov",
-            "email":     "ever.zet@gmail.com",
-            "homepage":  "http://everzet.com"
-        }
-    ],
-
-    "require": {
-        "php":                   ">=5.3.1",
-        "symfony/css-selector":  "~2.0"
-    },
-
-    "suggest": {
-        "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-        "behat/mink-goutte-driver":     "fast headless driver for any app without JS emulation",
-        "behat/mink-selenium2-driver":  "slow, but JS-enabled driver for any app (requires Selenium2)",
-        "behat/mink-zombie-driver":     "fast and JS-enabled headless driver for any app (requires node.js)"
-    },
-
-    "autoload": {
-        "psr-4": {
-            "Behat\\Mink\\": "src/"
-        }
-    },
-
-    "autoload-dev": {
-        "psr-4": {
-            "Behat\\Mink\\Tests\\": "tests"
-        }
-    },
-
-    "extra": {
-        "branch-alias": {
-            "dev-master": "1.6.x-dev"
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php b/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
deleted file mode 100644
index f654297..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Driver\DriverInterface;
-
-abstract class AbstractConfig
-{
-    /**
-     * Creates driver instance.
-     *
-     * @return DriverInterface
-     */
-    abstract public function createDriver();
-
-    /**
-     * Map remote file path.
-     *
-     * @param string $file File path.
-     *
-     * @return string
-     */
-    public function mapRemoteFilePath($file)
-    {
-        if (!isset($_SERVER['TEST_MACHINE_BASE_PATH']) || !isset($_SERVER['DRIVER_MACHINE_BASE_PATH'])) {
-            return $file;
-        }
-
-        $pattern = '/^'.preg_quote($_SERVER['TEST_MACHINE_BASE_PATH'], '/').'/';
-        $basePath = $_SERVER['DRIVER_MACHINE_BASE_PATH'];
-
-        return preg_replace($pattern, $basePath, $file, 1);
-    }
-
-    /**
-     * Gets the base url to the fixture folder
-     *
-     * @return string
-     */
-    public function getWebFixturesUrl()
-    {
-        return $_SERVER['WEB_FIXTURES_HOST'];
-    }
-
-    /**
-     * @param string $testCase The name of the TestCase class
-     * @param string $test     The name of the test method
-     *
-     * @return string|null A message explaining why the test should be skipped, or null to run the test.
-     */
-    public function skipMessage($testCase, $test)
-    {
-        if (!$this->supportsCss() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Css\\')) {
-            return 'This driver does not support CSS.';
-        }
-
-        if (!$this->supportsJs() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Js\\')) {
-            return 'This driver does not support JavaScript.';
-        }
-
-        return null;
-    }
-
-    /**
-     * Whether the JS tests should run or no.
-     *
-     * @return bool
-     */
-    protected function supportsJs()
-    {
-        return true;
-    }
-
-    /**
-     * Whether the CSS tests should run or no.
-     *
-     * @return bool
-     */
-    protected function supportsCss()
-    {
-        return false;
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
deleted file mode 100644
index 6f516e8..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ContentTest extends TestCase
-{
-    public function testOuterHtml()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $element = $this->getAssertSession()->elementExists('css', '.travers');
-
-        $this->assertEquals(
-            "<div class=\"travers\">\n            <div class=\"sub\">el1</div>\n".
-            "            <div class=\"sub\">el2</div>\n            <div class=\"sub\">\n".
-            "                <a href=\"some_url\">some <strong>deep</strong> url</a>\n".
-            "            </div>\n        </div>",
-            $element->getOuterHtml()
-        );
-    }
-
-    /**
-     * @dataProvider getAttributeDataProvider
-     */
-    public function testGetAttribute($attributeName, $attributeValue)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $element = $this->getSession()->getPage()->findById('attr-elem['.$attributeName.']');
-
-        $this->assertNotNull($element);
-        $this->assertSame($attributeValue, $element->getAttribute($attributeName));
-    }
-
-    public function getAttributeDataProvider()
-    {
-        return array(
-            array('with-value', 'some-value'),
-            array('without-value', ''),
-            array('with-empty-value', ''),
-            array('with-missing', null),
-        );
-    }
-
-    public function testJson()
-    {
-        $this->getSession()->visit($this->pathTo('/json.php'));
-        $this->assertContains(
-            '{"key1":"val1","key2":234,"key3":[1,2,3]}',
-            $this->getSession()->getPage()->getContent()
-        );
-    }
-
-    public function testHtmlDecodingNotPerformed()
-    {
-        $session = $this->getSession();
-        $webAssert = $this->getAssertSession();
-        $session->visit($this->pathTo('/html_decoding.html'));
-        $page = $session->getPage();
-
-        $span = $webAssert->elementExists('css', 'span');
-        $input = $webAssert->elementExists('css', 'input');
-
-        $expectedHtml = '<span custom-attr="&amp;">some text</span>';
-        $this->assertContains($expectedHtml, $page->getHtml(), '.innerHTML is returned as-is');
-        $this->assertContains($expectedHtml, $page->getContent(), '.outerHTML is returned as-is');
-
-        $this->assertEquals('&', $span->getAttribute('custom-attr'), '.getAttribute value is decoded');
-        $this->assertEquals('&', $input->getAttribute('value'), '.getAttribute value is decoded');
-        $this->assertEquals('&', $input->getValue(), 'node value is decoded');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
deleted file mode 100644
index 355dd71..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
+++ /dev/null
@@ -1,167 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class CookieTest extends TestCase
-{
-    /**
-     * test cookie decoding
-     * @group issue140
-     */
-    public function testIssue140()
-    {
-        $this->getSession()->visit($this->pathTo('/issue140.php'));
-
-        $this->getSession()->getPage()->fillField('cookie_value', 'some:value;');
-        $this->getSession()->getPage()->pressButton('Set cookie');
-
-        $this->getSession()->visit($this->pathTo('/issue140.php?show_value'));
-        $this->assertEquals('some:value;', $this->getSession()->getCookie('tc'));
-        $this->assertEquals('some:value;', $this->getSession()->getPage()->getText());
-    }
-
-    public function testCookie()
-    {
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-        $this->assertNull($this->getSession()->getCookie('srvr_cookie'));
-
-        $this->getSession()->setCookie('srvr_cookie', 'client cookie set');
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: client cookie set', $this->getSession()->getPage()->getText());
-        $this->assertEquals('client cookie set', $this->getSession()->getCookie('srvr_cookie'));
-
-        $this->getSession()->setCookie('srvr_cookie', null);
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-
-        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
-        $this->getSession()->setCookie('srvr_cookie', null);
-        $this->getSession()->reload();
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-    }
-
-    /**
-     * @dataProvider cookieWithPathsDataProvider
-     */
-    public function testCookieWithPaths($cookieRemovalMode)
-    {
-        // start clean
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
-
-        // cookie from root path is accessible in sub-folder
-        $session->visit($this->pathTo('/cookie_page1.php'));
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set', $session->getPage()->getText());
-
-        // cookie from sub-folder overrides cookie from root path
-        $session->visit($this->pathTo('/sub-folder/cookie_page1.php'));
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set_sub_folder', $session->getPage()->getText());
-
-        if ($cookieRemovalMode == 'session_reset') {
-            $session->reset();
-        } elseif ($cookieRemovalMode == 'cookie_delete') {
-            $session->setCookie('srvr_cookie', null);
-        }
-
-        // cookie is removed from all paths
-        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
-    }
-
-    public function cookieWithPathsDataProvider()
-    {
-        return array(
-            array('session_reset'),
-            array('cookie_delete'),
-        );
-    }
-
-    public function testReset()
-    {
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->setCookie('srvr_cookie', 'test_cookie');
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: test_cookie', $this->getSession()->getPage()->getText());
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
-        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
-
-        $this->getSession()->setCookie('client_cookie1', 'some_val');
-        $this->getSession()->setCookie('client_cookie2', 123);
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
-
-        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
-        $this->assertContains(
-            "'client_cookie1' = 'some_val'",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            "'client_cookie2' = '123'",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            "_SESS' = ",
-            $this->getSession()->getPage()->getText()
-        );
-        $this->assertContains(
-            " 'srvr_cookie' = 'srv_var_is_set'",
-            $this->getSession()->getPage()->getText()
-        );
-
-        $this->getSession()->reset();
-        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
-        $this->assertContains('array ( )', $this->getSession()->getPage()->getText());
-    }
-
-    public function testHttpOnlyCookieIsDeleted()
-    {
-        $this->getSession()->restart();
-        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
-        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
-
-        $this->getSession()->reload();
-        $this->assertEquals('Has Cookie: true', $this->findById('cookie-status')->getText());
-
-        $this->getSession()->restart();
-        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
-        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
-    }
-
-    public function testSessionPersistsBetweenRequests()
-    {
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $webAssert = $this->getAssertSession();
-        $node = $webAssert->elementExists('css', '#session-id');
-        $sessionId = $node->getText();
-
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertEquals($sessionId, $node->getText());
-
-        $this->getSession()->visit($this->pathTo('/session_test.php?login'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertNotEquals($sessionId, $newSessionId = $node->getText());
-
-        $this->getSession()->visit($this->pathTo('/session_test.php'));
-        $node = $webAssert->elementExists('css', '#session-id');
-        $this->assertEquals($newSessionId, $node->getText());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
deleted file mode 100644
index 440585a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
+++ /dev/null
@@ -1,262 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ErrorHandlingTest extends TestCase
-{
-    const NOT_FOUND_XPATH = '//html/./invalid';
-
-    const NOT_FOUND_EXCEPTION = 'Exception';
-
-    const INVALID_EXCEPTION = 'Exception';
-
-    public function testVisitErrorPage()
-    {
-        $this->getSession()->visit($this->pathTo('/500.php'));
-
-        $this->assertContains(
-            'Sorry, a server error happened',
-            $this->getSession()->getPage()->getContent(),
-            'Drivers allow loading pages with a 500 status code'
-        );
-    }
-
-    public function testCheckInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->check($element->getXpath());
-    }
-
-    public function testCheckNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->check(self::NOT_FOUND_XPATH);
-    }
-
-    public function testUncheckInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->uncheck($element->getXpath());
-    }
-
-    public function testUncheckNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->uncheck(self::NOT_FOUND_XPATH);
-    }
-
-    public function testSelectOptionInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->selectOption($element->getXpath(), 'test');
-    }
-
-    public function testSelectOptionNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->selectOption(self::NOT_FOUND_XPATH, 'test');
-    }
-
-    public function testAttachFileInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('user-name');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->attachFile($element->getXpath(), __FILE__);
-    }
-
-    public function testAttachFileNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->attachFile(self::NOT_FOUND_XPATH, __FILE__);
-    }
-
-    public function testSubmitFormInvalidElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $element = $this->findById('core');
-
-        $this->setExpectedException(self::INVALID_EXCEPTION);
-        $this->getSession()->getDriver()->submitForm($element->getXpath());
-    }
-
-    public function testSubmitFormNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->submitForm(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetTagNameNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getTagName(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetTextNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getText(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetHtmlNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getHtml(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetOuterHtmlNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getOuterHtml(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetValueNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getValue(self::NOT_FOUND_XPATH);
-    }
-
-    public function testSetValueNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->setValue(self::NOT_FOUND_XPATH, 'test');
-    }
-
-    public function testIsSelectedNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isSelected(self::NOT_FOUND_XPATH);
-    }
-
-    public function testIsCheckedNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isChecked(self::NOT_FOUND_XPATH);
-    }
-
-    public function testIsVisibleNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->isVisible(self::NOT_FOUND_XPATH);
-    }
-
-    public function testClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->click(self::NOT_FOUND_XPATH);
-    }
-
-    public function testDoubleClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->doubleClick(self::NOT_FOUND_XPATH);
-    }
-
-    public function testRightClickNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->rightClick(self::NOT_FOUND_XPATH);
-    }
-
-    public function testGetAttributeNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->getAttribute(self::NOT_FOUND_XPATH, 'id');
-    }
-
-    public function testMouseOverNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->mouseOver(self::NOT_FOUND_XPATH);
-    }
-
-    public function testFocusNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->focus(self::NOT_FOUND_XPATH);
-    }
-
-    public function testBlurNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->blur(self::NOT_FOUND_XPATH);
-    }
-
-    public function testKeyPressNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyPress(self::NOT_FOUND_XPATH, 'a');
-    }
-
-    public function testKeyDownNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyDown(self::NOT_FOUND_XPATH, 'a');
-    }
-
-    public function testKeyUpNotFoundElement()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
-        $this->getSession()->getDriver()->keyUp(self::NOT_FOUND_XPATH, 'a');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
deleted file mode 100644
index 0288ff1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class HeaderTest extends TestCase
-{
-    /**
-     * test referrer
-     * @group issue130
-     */
-    public function testIssue130()
-    {
-        $this->getSession()->visit($this->pathTo('/issue130.php?p=1'));
-        $page = $this->getSession()->getPage();
-
-        $page->clickLink('Go to 2');
-        $this->assertEquals($this->pathTo('/issue130.php?p=1'), $page->getText());
-    }
-
-    public function testHeaders()
-    {
-        $this->getSession()->setRequestHeader('Accept-Language', 'fr');
-        $this->getSession()->visit($this->pathTo('/headers.php'));
-
-        $this->assertContains('[HTTP_ACCEPT_LANGUAGE] => fr', $this->getSession()->getPage()->getContent());
-    }
-
-    public function testSetUserAgent()
-    {
-        $session = $this->getSession();
-
-        $session->setRequestHeader('user-agent', 'foo bar');
-        $session->visit($this->pathTo('/headers.php'));
-        $this->assertContains('[HTTP_USER_AGENT] => foo bar', $session->getPage()->getContent());
-    }
-
-    public function testResetHeaders()
-    {
-        $session = $this->getSession();
-
-        $session->setRequestHeader('X-Mink-Test', 'test');
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertContains(
-            '[HTTP_X_MINK_TEST] => test',
-            $session->getPage()->getContent(),
-            'The custom header should be sent',
-            true
-        );
-
-        $session->reset();
-        $session->visit($this->pathTo('/headers.php'));
-
-        $this->assertNotContains(
-            '[HTTP_X_MINK_TEST] => test',
-            $session->getPage()->getContent(),
-            'The custom header should not be sent after resetting',
-            true
-        );
-    }
-
-    public function testResponseHeaders()
-    {
-        $this->getSession()->visit($this->pathTo('/response_headers.php'));
-
-        $headers = $this->getSession()->getResponseHeaders();
-
-        $lowercasedHeaders = array();
-        foreach ($headers as $name => $value) {
-            $lowercasedHeaders[str_replace('_', '-', strtolower($name))] = $value;
-        }
-
-        $this->assertArrayHasKey('x-mink-test', $lowercasedHeaders);
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
deleted file mode 100644
index 8ecb139..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
+++ /dev/null
@@ -1,69 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class NavigationTest extends TestCase
-{
-    public function testRedirect()
-    {
-        $this->getSession()->visit($this->pathTo('/redirector.php'));
-        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testPageControlls()
-    {
-        $this->getSession()->visit($this->pathTo('/randomizer.php'));
-        $number1 = $this->getSession()->getPage()->find('css', '#number')->getText();
-
-        $this->getSession()->reload();
-        $number2 = $this->getSession()->getPage()->find('css', '#number')->getText();
-
-        $this->assertNotEquals($number1, $number2);
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $this->getSession()->getPage()->clickLink('Random number page');
-
-        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->back();
-        $this->assertEquals($this->pathTo('/links.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->forward();
-        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testLinks()
-    {
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink('Redirect me to');
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/redirector\.php$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink('basic form image');
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/basic_form\.html$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/basic_form.html'), $this->getSession()->getCurrentUrl());
-
-        $this->getSession()->visit($this->pathTo('/links.html'));
-        $page = $this->getSession()->getPage();
-        $link = $page->findLink("Link with a ");
-
-        $this->assertNotNull($link);
-        $this->assertRegExp('/links\.html\?quoted$/', $link->getAttribute('href'));
-        $link->click();
-
-        $this->assertEquals($this->pathTo('/links.html?quoted'), $this->getSession()->getCurrentUrl());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
deleted file mode 100644
index 3bcb7ac..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
+++ /dev/null
@@ -1,139 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class TraversingTest extends TestCase
-{
-    /**
-     * find by label
-     * @group issue211
-     */
-    public function testIssue211()
-    {
-        $this->getSession()->visit($this->pathTo('/issue211.html'));
-        $field = $this->getSession()->getPage()->findField('TÃ©lÃ©phone');
-
-        $this->assertNotNull($field);
-    }
-
-    public function testElementsTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $page = $this->getSession()->getPage();
-
-        $this->assertNotNull($page->find('css', 'h1'));
-        $this->assertEquals('Extremely useless page', $page->find('css', 'h1')->getText());
-        $this->assertEquals('h1', $page->find('css', 'h1')->getTagName());
-
-        $this->assertNotNull($page->find('xpath', '//div/strong[3]'));
-        $this->assertEquals('pariatur', $page->find('xpath', '//div/strong[3]')->getText());
-        $this->assertEquals('super-duper', $page->find('xpath', '//div/strong[3]')->getAttribute('class'));
-        $this->assertTrue($page->find('xpath', '//div/strong[3]')->hasAttribute('class'));
-
-        $this->assertNotNull($page->find('xpath', '//div/strong[2]'));
-        $this->assertEquals('veniam', $page->find('xpath', '//div/strong[2]')->getText());
-        $this->assertEquals('strong', $page->find('xpath', '//div/strong[2]')->getTagName());
-        $this->assertNull($page->find('xpath', '//div/strong[2]')->getAttribute('class'));
-        $this->assertFalse($page->find('xpath', '//div/strong[2]')->hasAttribute('class'));
-
-        $strongs = $page->findAll('css', 'div#core > strong');
-        $this->assertCount(3, $strongs);
-        $this->assertEquals('Lorem', $strongs[0]->getText());
-        $this->assertEquals('pariatur', $strongs[2]->getText());
-
-        $element = $page->find('css', '#some-element');
-
-        $this->assertEquals('some very interesting text', $element->getText());
-        $this->assertEquals(
-            "\n            some <div>very\n            </div>\n".
-            "<em>interesting</em>      text\n        ",
-            $element->getHtml()
-        );
-
-        $this->assertTrue($element->hasAttribute('data-href'));
-        $this->assertFalse($element->hasAttribute('data-url'));
-        $this->assertEquals('http://mink.behat.org', $element->getAttribute('data-href'));
-        $this->assertNull($element->getAttribute('data-url'));
-        $this->assertEquals('div', $element->getTagName());
-    }
-
-    public function testVeryDeepElementsTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $page = $this->getSession()->getPage();
-
-        $footer = $page->find('css', 'footer');
-        $this->assertNotNull($footer);
-
-        $searchForm = $footer->find('css', 'form#search-form');
-        $this->assertNotNull($searchForm);
-        $this->assertEquals('search-form', $searchForm->getAttribute('id'));
-
-        $searchInput = $searchForm->findField('Search site...');
-        $this->assertNotNull($searchInput);
-        $this->assertEquals('text', $searchInput->getAttribute('type'));
-
-        $searchInput = $searchForm->findField('Search site...');
-        $this->assertNotNull($searchInput);
-        $this->assertEquals('text', $searchInput->getAttribute('type'));
-
-        $profileForm = $footer->find('css', '#profile');
-        $this->assertNotNull($profileForm);
-
-        $profileFormDiv = $profileForm->find('css', 'div');
-        $this->assertNotNull($profileFormDiv);
-
-        $profileFormDivLabel = $profileFormDiv->find('css', 'label');
-        $this->assertNotNull($profileFormDivLabel);
-
-        $profileFormDivParent = $profileFormDivLabel->getParent();
-        $this->assertNotNull($profileFormDivParent);
-
-        $profileFormDivParent = $profileFormDivLabel->getParent();
-        $this->assertEquals('something', $profileFormDivParent->getAttribute('data-custom'));
-
-        $profileFormInput = $profileFormDivLabel->findField('user-name');
-        $this->assertNotNull($profileFormInput);
-        $this->assertEquals('username', $profileFormInput->getAttribute('name'));
-    }
-
-    public function testDeepTraversing()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $traversDiv = $this->getSession()->getPage()->findAll('css', 'div.travers');
-
-        $this->assertCount(1, $traversDiv);
-        $traversDiv = $traversDiv[0];
-
-        $subDivs = $traversDiv->findAll('css', 'div.sub');
-        $this->assertCount(3, $subDivs);
-
-        $this->assertTrue($subDivs[2]->hasLink('some deep url'));
-        $this->assertFalse($subDivs[2]->hasLink('come deep url'));
-        $subUrl = $subDivs[2]->findLink('some deep url');
-        $this->assertNotNull($subUrl);
-
-        $this->assertRegExp('/some_url$/', $subUrl->getAttribute('href'));
-        $this->assertEquals('some deep url', $subUrl->getText());
-        $this->assertEquals('some <strong>deep</strong> url', $subUrl->getHtml());
-
-        $this->assertTrue($subUrl->has('css', 'strong'));
-        $this->assertFalse($subUrl->has('css', 'em'));
-        $this->assertEquals('deep', $subUrl->find('css', 'strong')->getText());
-    }
-
-    public function testFindingChild()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $form = $this->getSession()->getPage()->find('css', 'footer form');
-        $this->assertNotNull($form);
-
-        $this->assertCount(1, $form->findAll('css', 'input'), 'Elements are searched only in the element, not in all previous matches');
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
deleted file mode 100644
index b3daf31..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Basic;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class VisibilityTest extends TestCase
-{
-    public function testVisibility()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $clicker   = $webAssert->elementExists('css', '.elements div#clicker');
-        $invisible = $webAssert->elementExists('css', '#invisible');
-
-        $this->assertFalse($invisible->isVisible());
-        $this->assertTrue($clicker->isVisible());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
deleted file mode 100644
index e1ce4ab..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class CheckboxTest extends TestCase
-{
-    public function testManipulate()
-    {
-        $this->getSession()->visit($this->pathTo('advanced_form.html'));
-
-        $checkbox = $this->getAssertSession()->fieldExists('agreement');
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-
-        $checkbox->check();
-
-        $this->assertEquals('yes', $checkbox->getValue());
-        $this->assertTrue($checkbox->isChecked());
-
-        $checkbox->uncheck();
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-    }
-
-    public function testSetValue()
-    {
-        $this->getSession()->visit($this->pathTo('advanced_form.html'));
-
-        $checkbox = $this->getAssertSession()->fieldExists('agreement');
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-
-        $checkbox->setValue(true);
-
-        $this->assertEquals('yes', $checkbox->getValue());
-        $this->assertTrue($checkbox->isChecked());
-
-        $checkbox->setValue(false);
-
-        $this->assertNull($checkbox->getValue());
-        $this->assertFalse($checkbox->isChecked());
-    }
-
-    public function testCheckboxMultiple()
-    {
-        $this->getSession()->visit($this->pathTo('/multicheckbox_form.html'));
-        $webAssert = $this->getAssertSession();
-
-        $this->assertEquals('Multicheckbox Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $updateMail  = $webAssert->elementExists('css', '[name="mail_types[]"][value="update"]');
-        $spamMail    = $webAssert->elementExists('css', '[name="mail_types[]"][value="spam"]');
-
-        $this->assertEquals('update', $updateMail->getValue());
-        $this->assertNull($spamMail->getValue());
-
-        $this->assertTrue($updateMail->isChecked());
-        $this->assertFalse($spamMail->isChecked());
-
-        $updateMail->uncheck();
-        $this->assertFalse($updateMail->isChecked());
-        $this->assertFalse($spamMail->isChecked());
-
-        $spamMail->check();
-        $this->assertFalse($updateMail->isChecked());
-        $this->assertTrue($spamMail->isChecked());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
deleted file mode 100644
index f15f266..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
+++ /dev/null
@@ -1,312 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class GeneralTest extends TestCase
-{
-    // test multiple submit buttons
-    public function testIssue212()
-    {
-        $session = $this->getSession();
-
-        $session->visit($this->pathTo('/issue212.html'));
-
-        $field = $this->findById('poney-button');
-        $this->assertEquals('poney', $field->getValue());
-    }
-
-    public function testBasicForm()
-    {
-        $this->getSession()->visit($this->pathTo('/basic_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Basic Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $firstname  = $webAssert->fieldExists('first_name');
-        $lastname   = $webAssert->fieldExists('lastn');
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-
-        $firstname->setValue('Konstantin');
-        $page->fillField('last_name', 'Kudryashov');
-
-        $this->assertEquals('Konstantin', $firstname->getValue());
-        $this->assertEquals('Kudryashov', $lastname->getValue());
-
-        $page->findButton('Reset')->click();
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-
-        $firstname->setValue('Konstantin');
-        $page->fillField('last_name', 'Kudryashov');
-
-        $page->findButton('Save')->click();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Anket for Konstantin', $webAssert->elementExists('css', 'h1')->getText());
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-            $this->assertEquals('Lastname: Kudryashov', $webAssert->elementExists('css', '#last')->getText());
-        }
-    }
-
-    /**
-     * @dataProvider formSubmitWaysDataProvider
-     */
-    public function testFormSubmitWays($submitVia)
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/basic_form.html'));
-        $page = $session->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $firstname = $webAssert->fieldExists('first_name');
-        $firstname->setValue('Konstantin');
-
-        $page->findButton($submitVia)->click();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        } else {
-            $this->fail('Form was never submitted');
-        }
-    }
-
-    public function formSubmitWaysDataProvider()
-    {
-        return array(
-            array('Save'),
-            array('input-type-image'),
-            array('button-without-type'),
-            array('button-type-submit'),
-        );
-    }
-
-    public function testFormSubmit()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/basic_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $webAssert->fieldExists('first_name')->setValue('Konstantin');
-
-        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        };
-    }
-
-    public function testFormSubmitWithoutButton()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/form_without_button.html'));
-
-        $webAssert = $this->getAssertSession();
-        $webAssert->fieldExists('first_name')->setValue('Konstantin');
-
-        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
-
-        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
-            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
-        };
-    }
-
-    public function testBasicGetForm()
-    {
-        $this->getSession()->visit($this->pathTo('/basic_get_form.php'));
-        $webAssert = $this->getAssertSession();
-
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Basic Get Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $search = $webAssert->fieldExists('q');
-        $search->setValue('some#query');
-        $page->pressButton('Find');
-
-        $div = $webAssert->elementExists('css', 'div');
-        $this->assertEquals('some#query', $div->getText());
-    }
-
-    public function testAdvancedForm()
-    {
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->fillField('first_name', 'ever');
-        $page->fillField('last_name', 'zet');
-
-        $page->pressButton('Register');
-
-        $this->assertContains('no file', $page->getContent());
-
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('ADvanced Form Page', $webAssert->elementExists('css', 'h1')->getText());
-
-        $firstname   = $webAssert->fieldExists('first_name');
-        $lastname    = $webAssert->fieldExists('lastn');
-        $email       = $webAssert->fieldExists('Your email:');
-        $select      = $webAssert->fieldExists('select_number');
-        $sex         = $webAssert->fieldExists('sex');
-        $maillist    = $webAssert->fieldExists('mail_list');
-        $agreement   = $webAssert->fieldExists('agreement');
-        $notes       = $webAssert->fieldExists('notes');
-        $about       = $webAssert->fieldExists('about');
-
-        $this->assertEquals('Firstname', $firstname->getValue());
-        $this->assertEquals('Lastname', $lastname->getValue());
-        $this->assertEquals('your@email.com', $email->getValue());
-        $this->assertEquals('20', $select->getValue());
-        $this->assertEquals('w', $sex->getValue());
-        $this->assertEquals('original notes', $notes->getValue());
-
-        $this->assertEquals('on', $maillist->getValue());
-        $this->assertNull($agreement->getValue());
-
-        $this->assertTrue($maillist->isChecked());
-        $this->assertFalse($agreement->isChecked());
-
-        $agreement->check();
-        $this->assertTrue($agreement->isChecked());
-
-        $maillist->uncheck();
-        $this->assertFalse($maillist->isChecked());
-
-        $select->selectOption('thirty');
-        $this->assertEquals('30', $select->getValue());
-
-        $sex->selectOption('m');
-        $this->assertEquals('m', $sex->getValue());
-
-        $notes->setValue('new notes');
-        $this->assertEquals('new notes', $notes->getValue());
-
-        $about->attachFile($this->mapRemoteFilePath(__DIR__.'/../../web-fixtures/some_file.txt'));
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-
-        $page->fillField('first_name', 'Foo "item"');
-        $page->fillField('last_name', 'Bar');
-        $page->fillField('Your email:', 'ever.zet@gmail.com');
-
-        $this->assertEquals('Foo "item"', $firstname->getValue());
-        $this->assertEquals('Bar', $lastname->getValue());
-
-        $button->press();
-
-        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
-            $out = <<<OUT
-array (
-  'agreement' = 'on',
-  'email' = 'ever.zet@gmail.com',
-  'first_name' = 'Foo "item"',
-  'last_name' = 'Bar',
-  'notes' = 'new notes',
-  'select_number' = '30',
-  'sex' = 'm',
-  'submit' = 'Register',
-)
-some_file.txt
-1 uploaded file
-OUT;
-            $this->assertContains($out, $page->getContent());
-        }
-    }
-
-    public function testMultiInput()
-    {
-        $this->getSession()->visit($this->pathTo('/multi_input_form.html'));
-        $page = $this->getSession()->getPage();
-        $webAssert = $this->getAssertSession();
-        $this->assertEquals('Multi input Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $first = $webAssert->fieldExists('First');
-        $second = $webAssert->fieldExists('Second');
-        $third = $webAssert->fieldExists('Third');
-
-        $this->assertEquals('tag1', $first->getValue());
-        $this->assertSame('tag2', $second->getValue());
-        $this->assertEquals('tag1', $third->getValue());
-
-        $first->setValue('tag2');
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('tag2', $second->getValue());
-        $this->assertEquals('tag1', $third->getValue());
-
-        $second->setValue('one');
-
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('one', $second->getValue());
-
-        $third->setValue('tag3');
-
-        $this->assertEquals('tag2', $first->getValue());
-        $this->assertSame('one', $second->getValue());
-        $this->assertEquals('tag3', $third->getValue());
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $space = ' ';
-        $out = <<<OUT
-  'tags' =$space
-  array (
-    0 = 'tag2',
-    1 = 'one',
-    2 = 'tag3',
-  ),
-OUT;
-        $this->assertContains($out, $page->getContent());
-    }
-
-    public function testAdvancedFormSecondSubmit()
-    {
-        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
-        $page = $this->getSession()->getPage();
-
-        $button = $page->findButton('Login');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $toSearch = array(
-            "'agreement' = 'off',",
-            "'submit' = 'Login',",
-            'no file',
-        );
-
-        $pageContent = $page->getContent();
-
-        foreach ($toSearch as $searchString) {
-            $this->assertContains($searchString, $pageContent);
-        }
-    }
-
-    public function testSubmitEmptyTextarea()
-    {
-        $this->getSession()->visit($this->pathTo('/empty_textarea.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->pressButton('Save');
-
-        $toSearch = array(
-            "'textarea' = '',",
-            "'submit' = 'Save',",
-            'no file',
-        );
-
-        $pageContent = $page->getContent();
-
-        foreach ($toSearch as $searchString) {
-            $this->assertContains($searchString, $pageContent);
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
deleted file mode 100644
index 492625a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
+++ /dev/null
@@ -1,135 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Form;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class SelectTest extends TestCase
-{
-    public function testMultiselect()
-    {
-        $this->getSession()->visit($this->pathTo('/multiselect_form.html'));
-        $webAssert = $this->getAssertSession();
-        $page = $this->getSession()->getPage();
-        $this->assertEquals('Multiselect Test', $webAssert->elementExists('css', 'h1')->getText());
-
-        $select      = $webAssert->fieldExists('select_number');
-        $multiSelect = $webAssert->fieldExists('select_multiple_numbers[]');
-        $secondMultiSelect = $webAssert->fieldExists('select_multiple_values[]');
-
-        $this->assertEquals('20', $select->getValue());
-        $this->assertSame(array(), $multiSelect->getValue());
-        $this->assertSame(array('2', '3'), $secondMultiSelect->getValue());
-
-        $select->selectOption('thirty');
-        $this->assertEquals('30', $select->getValue());
-
-        $multiSelect->selectOption('one', true);
-
-        $this->assertSame(array('1'), $multiSelect->getValue());
-
-        $multiSelect->selectOption('three', true);
-
-        $this->assertEquals(array('1', '3'), $multiSelect->getValue());
-
-        $secondMultiSelect->selectOption('two');
-        $this->assertSame(array('2'), $secondMultiSelect->getValue());
-
-        $button = $page->findButton('Register');
-        $this->assertNotNull($button);
-        $button->press();
-
-        $space = ' ';
-        $out = <<<OUT
-  'agreement' = 'off',
-  'select_multiple_numbers' =$space
-  array (
-    0 = '1',
-    1 = '3',
-  ),
-  'select_multiple_values' =$space
-  array (
-    0 = '2',
-  ),
-  'select_number' = '30',
-OUT;
-        $this->assertContains($out, $page->getContent());
-    }
-
-    /**
-     * @dataProvider testElementSelectedStateCheckDataProvider
-     */
-    public function testElementSelectedStateCheck($selectName, $optionValue, $optionText)
-    {
-        $session = $this->getSession();
-        $webAssert = $this->getAssertSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $webAssert->fieldExists($selectName);
-
-        $optionValueEscaped = $session->getSelectorsHandler()->xpathLiteral($optionValue);
-        $option = $webAssert->elementExists('named', array('option', $optionValueEscaped));
-
-        $this->assertFalse($option->isSelected());
-        $select->selectOption($optionText);
-        $this->assertTrue($option->isSelected());
-    }
-
-    public function testElementSelectedStateCheckDataProvider()
-    {
-        return array(
-            array('select_number', '30', 'thirty'),
-            array('select_multiple_numbers[]', '2', 'two'),
-        );
-    }
-
-    public function testSetValueSingleSelect()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $this->getAssertSession()->fieldExists('select_number');
-
-        $select->setValue('10');
-        $this->assertEquals('10', $select->getValue());
-    }
-
-    public function testSetValueMultiSelect()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/multiselect_form.html'));
-        $select = $this->getAssertSession()->fieldExists('select_multiple_values[]');
-
-        $select->setValue(array('1', '2'));
-        $this->assertEquals(array('1', '2'), $select->getValue());
-    }
-
-    /**
-     * @see https://github.com/Behat/Mink/issues/193
-     */
-    public function testOptionWithoutValue()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue193.html'));
-
-        $session->getPage()->selectFieldOption('options-without-values', 'Two');
-        $this->assertEquals('Two', $this->findById('options-without-values')->getValue());
-
-        $this->assertTrue($this->findById('two')->isSelected());
-        $this->assertFalse($this->findById('one')->isSelected());
-
-        $session->getPage()->selectFieldOption('options-with-values', 'two');
-        $this->assertEquals('two', $this->findById('options-with-values')->getValue());
-    }
-
-    /**
-     * @see https://github.com/Behat/Mink/issues/131
-     */
-    public function testAccentuatedOption()
-    {
-        $this->getSession()->visit($this->pathTo('/issue131.html'));
-        $page = $this->getSession()->getPage();
-
-        $page->selectFieldOption('foobar', 'Gimme some accentuÃ©s characters');
-
-        $this->assertEquals('1', $page->findField('foobar')->getValue());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
deleted file mode 100644
index d1fd3f1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class ChangeEventTest extends TestCase
-{
-    /**
-     * 'change' event should be fired after selecting an <option> in a <select>
-     *
-     * TODO check whether this test is redundant with other change event tests.
-     */
-    public function testIssue255()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue255.html'));
-
-        $session->getPage()->selectFieldOption('foo_select', 'Option 3');
-
-        $session->wait(2000, '$("#output_foo_select").text() != ""');
-        $this->assertEquals('onChangeSelect', $session->getPage()->find('css', '#output_foo_select')->getText());
-    }
-
-    public function testIssue178()
-    {
-        $session = $this->getSession();
-        $session->visit($this->pathTo('/issue178.html'));
-
-        $this->findById('source')->setValue('foo');
-        $this->assertEquals('foo', $this->findById('target')->getText());
-    }
-
-    /**
-     * @dataProvider setValueChangeEventDataProvider
-     * @group change-event-detector
-     */
-    public function testSetValueChangeEvent($elementId, $valueForEmpty, $valueForFilled = '')
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $input = $this->findById($elementId);
-        $this->assertNull($page->findById($elementId.'-result'));
-
-        // Verify setting value, when control is initially empty.
-        $input->setValue($valueForEmpty);
-        $this->assertElementChangeCount($elementId, 'initial value setting triggers change event');
-
-        if ($valueForFilled) {
-            // Verify setting value, when control already has a value.
-            $this->findById('results')->click();
-            $input->setValue($valueForFilled);
-            $this->assertElementChangeCount($elementId, 'value change triggers change event');
-        }
-    }
-
-    public function setValueChangeEventDataProvider()
-    {
-        return array(
-            'input default' => array('the-input-default', 'from empty', 'from existing'),
-            'input text' => array('the-input-text', 'from empty', 'from existing'),
-            'input email' => array('the-email', 'from empty', 'from existing'),
-            'textarea' => array('the-textarea', 'from empty', 'from existing'),
-            'file' => array('the-file', 'from empty', 'from existing'),
-            'select' => array('the-select', '30'),
-            'radio' => array('the-radio-m', 'm'),
-        );
-    }
-
-    /**
-     * @dataProvider selectOptionChangeEventDataProvider
-     * @group change-event-detector
-     */
-    public function testSelectOptionChangeEvent($elementId, $elementValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $input = $this->findById($elementId);
-        $this->assertNull($page->findById($elementId.'-result'));
-
-        $input->selectOption($elementValue);
-        $this->assertElementChangeCount($elementId);
-    }
-
-    public function selectOptionChangeEventDataProvider()
-    {
-        return array(
-            'select' => array('the-select', '30'),
-            'radio' => array('the-radio-m', 'm'),
-        );
-    }
-
-    /**
-     * @dataProvider checkboxTestWayDataProvider
-     * @group change-event-detector
-     */
-    public function testCheckChangeEvent($useSetValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $checkbox = $this->findById('the-unchecked-checkbox');
-        $this->assertNull($page->findById('the-unchecked-checkbox-result'));
-
-        if ($useSetValue) {
-            $checkbox->setValue(true);
-        } else {
-            $checkbox->check();
-        }
-
-        $this->assertElementChangeCount('the-unchecked-checkbox');
-    }
-
-    /**
-     * @dataProvider checkboxTestWayDataProvider
-     * @group change-event-detector
-     */
-    public function testUncheckChangeEvent($useSetValue)
-    {
-        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
-        $page = $this->getSession()->getPage();
-
-        $checkbox = $this->findById('the-checked-checkbox');
-        $this->assertNull($page->findById('the-checked-checkbox-result'));
-
-        if ($useSetValue) {
-            $checkbox->setValue(false);
-        } else {
-            $checkbox->uncheck();
-        }
-
-        $this->assertElementChangeCount('the-checked-checkbox');
-    }
-
-    public function checkboxTestWayDataProvider()
-    {
-        return array(
-            array(true),
-            array(false),
-        );
-    }
-
-    private function assertElementChangeCount($elementId, $message = '')
-    {
-        $counterElement = $this->getSession()->getPage()->findById($elementId.'-result');
-        $actualCount = null === $counterElement ? 0 : $counterElement->getText();
-
-        $this->assertEquals('1', $actualCount, $message);
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
deleted file mode 100644
index e49d837..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
+++ /dev/null
@@ -1,122 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class EventsTest extends TestCase
-{
-    /**
-     * @group mouse-events
-     */
-    public function testClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->click();
-        $this->assertEquals('single clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testDoubleClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->doubleClick();
-        $this->assertEquals('double clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testRightClick()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
-        $this->assertEquals('not clicked', $clicker->getText());
-
-        $clicker->rightClick();
-        $this->assertEquals('right clicked', $clicker->getText());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testFocus()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
-        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
-
-        $focusBlurDetector->focus();
-        $this->assertEquals('focused', $focusBlurDetector->getValue());
-    }
-
-    /**
-     * @group mouse-events
-     * @depends testFocus
-     */
-    public function testBlur()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
-        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
-
-        $focusBlurDetector->blur();
-        $this->assertEquals('blured', $focusBlurDetector->getValue());
-    }
-
-    /**
-     * @group mouse-events
-     */
-    public function testMouseOver()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $mouseOverDetector = $this->getAssertSession()->elementExists('css', '.elements div#mouseover-detector');
-        $this->assertEquals('no mouse action detected', $mouseOverDetector->getText());
-
-        $mouseOverDetector->mouseOver();
-        $this->assertEquals('mouse overed', $mouseOverDetector->getText());
-    }
-
-    /**
-     * @dataProvider provideKeyboardEventsModifiers
-     */
-    public function testKeyboardEvents($modifier, $eventProperties)
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $input1 = $webAssert->elementExists('css', '.elements input.input.first');
-        $input2 = $webAssert->elementExists('css', '.elements input.input.second');
-        $input3 = $webAssert->elementExists('css', '.elements input.input.third');
-        $event  = $webAssert->elementExists('css', '.elements .text-event');
-
-        $input1->keyDown('u', $modifier);
-        $this->assertEquals('key downed:'.$eventProperties, $event->getText());
-
-        $input2->keyPress('r', $modifier);
-        $this->assertEquals('key pressed:114 / '.$eventProperties, $event->getText());
-
-        $input3->keyUp(78, $modifier);
-        $this->assertEquals('key upped:78 / '.$eventProperties, $event->getText());
-    }
-
-    public function provideKeyboardEventsModifiers()
-    {
-        return array(
-            'none' => array(null, '0 / 0 / 0 / 0'),
-            'alt' => array('alt', '1 / 0 / 0 / 0'),
-             // jQuery considers ctrl as being a metaKey in the normalized event
-            'ctrl' => array('ctrl', '0 / 1 / 0 / 1'),
-            'shift' => array('shift', '0 / 0 / 1 / 0'),
-            'meta' => array('meta', '0 / 0 / 0 / 1'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
deleted file mode 100644
index 00235d1..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class JavascriptEvaluationTest extends TestCase
-{
-    /**
-     * Tests, that `wait` method returns check result after exit.
-     */
-    public function testWaitReturnValue()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-
-        $found = $this->getSession()->wait(5000, '$("#draggable").length == 1');
-        $this->assertTrue($found);
-    }
-
-    public function testWait()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-
-        $waitable = $this->findById('waitable');
-
-        $waitable->click();
-        $this->getSession()->wait(3000, '$("#waitable").has("div").length > 0');
-        $this->assertEquals('arrived', $this->getSession()->getPage()->find('css', '#waitable > div')->getText());
-
-        $waitable->click();
-        $this->getSession()->wait(3000, 'false');
-        $this->assertEquals('timeout', $this->getSession()->getPage()->find('css', '#waitable > div')->getText());
-    }
-
-    /**
-     * @dataProvider provideExecutedScript
-     */
-    public function testExecuteScript($script)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->getSession()->executeScript($script);
-
-        sleep(1);
-
-        $heading = $this->getAssertSession()->elementExists('css', 'h1');
-        $this->assertEquals('Hello world', $heading->getText());
-    }
-
-    public function provideExecutedScript()
-    {
-        return array(
-            array('document.querySelector("h1").textContent = "Hello world"'),
-            array('document.querySelector("h1").textContent = "Hello world";'),
-            array('function () {document.querySelector("h1").textContent = "Hello world";}()'),
-            array('function () {document.querySelector("h1").textContent = "Hello world";}();'),
-            array('(function () {document.querySelector("h1").textContent = "Hello world";})()'),
-            array('(function () {document.querySelector("h1").textContent = "Hello world";})();'),
-        );
-    }
-
-    /**
-     * @dataProvider provideEvaluatedScript
-     */
-    public function testEvaluateJavascript($script)
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-
-        $this->assertSame(2, $this->getSession()->evaluateScript($script));
-    }
-
-    public function provideEvaluatedScript()
-    {
-        return array(
-            array('1 + 1'),
-            array('1 + 1;'),
-            array('return 1 + 1'),
-            array('return 1 + 1;'),
-            array('function () {return 1+1;}()'),
-            array('(function () {return 1+1;})()'),
-            array('return function () { return 1+1;}()'),
-            array('return (function () {return 1+1;})()'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
deleted file mode 100644
index 86cfa65..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class JavascriptTest extends TestCase
-{
-    public function testAriaRoles()
-    {
-        $this->getSession()->visit($this->pathTo('/aria_roles.html'));
-
-        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === false');
-        $this->getSession()->getPage()->pressButton('Toggle');
-        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === true');
-
-        $this->getSession()->getPage()->clickLink('Go to Index');
-        $this->assertEquals($this->pathTo('/index.html'), $this->getSession()->getCurrentUrl());
-    }
-
-    public function testDragDrop()
-    {
-        $this->getSession()->visit($this->pathTo('/js_test.html'));
-        $webAssert = $this->getAssertSession();
-
-        $draggable = $webAssert->elementExists('css', '#draggable');
-        $droppable = $webAssert->elementExists('css', '#droppable');
-
-        $draggable->dragTo($droppable);
-        $this->assertEquals('Dropped!', $droppable->find('css', 'p')->getText());
-    }
-
-    // test accentuated char in button
-    public function testIssue225()
-    {
-        $this->getSession()->visit($this->pathTo('/issue225.html'));
-        $this->getSession()->getPage()->pressButton('CrÃ©er un compte');
-        $this->getSession()->wait(5000, '$("#panel").text() != ""');
-
-        $this->assertContains('OH AIH!', $this->getSession()->getPage()->getText());
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php b/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
deleted file mode 100644
index 70b9ed9..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver\Js;
-
-use Behat\Mink\Tests\Driver\TestCase;
-
-class WindowTest extends TestCase
-{
-    public function testWindow()
-    {
-        $this->getSession()->visit($this->pathTo('/window.html'));
-        $session = $this->getSession();
-        $page    = $session->getPage();
-        $webAssert = $this->getAssertSession();
-
-        $page->clickLink('Popup #1');
-        $session->switchToWindow(null);
-
-        $page->clickLink('Popup #2');
-        $session->switchToWindow(null);
-
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-
-        $session->switchToWindow('popup_1');
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Popup#1 div text', $el->getText());
-
-        $session->switchToWindow('popup_2');
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Popup#2 div text', $el->getText());
-
-        $session->switchToWindow(null);
-        $el = $webAssert->elementExists('css', '#text');
-        $this->assertSame('Main window div text', $el->getText());
-    }
-
-    public function testGetWindowNames()
-    {
-        $this->getSession()->visit($this->pathTo('/window.html'));
-        $session = $this->getSession();
-        $page    = $session->getPage();
-
-        $windowName = $this->getSession()->getWindowName();
-
-        $this->assertNotNull($windowName);
-
-        $page->clickLink('Popup #1');
-        $page->clickLink('Popup #2');
-
-        $windowNames = $this->getSession()->getWindowNames();
-
-        $this->assertNotNull($windowNames[0]);
-        $this->assertNotNull($windowNames[1]);
-        $this->assertNotNull($windowNames[2]);
-    }
-
-    public function testResizeWindow()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $session = $this->getSession();
-
-        $session->resizeWindow(400, 300);
-        $session->wait(1000, 'false');
-
-        $script = "return Math.abs(window.outerHeight - 300) <= 100 && Math.abs(window.outerWidth - 400) <= 100;";
-
-        $this->assertTrue($session->evaluateScript($script));
-    }
-
-    public function testWindowMaximize()
-    {
-        $this->getSession()->visit($this->pathTo('/index.html'));
-        $session = $this->getSession();
-
-        $session->maximizeWindow();
-        $session->wait(1000, 'false');
-
-        $script = "return Math.abs(screen.availHeight - window.outerHeight) <= 100;";
-
-        $this->assertTrue($session->evaluateScript($script));
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php b/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php
deleted file mode 100644
index ea003ce..0000000
--- a/core/vendor/behat/mink/driver-testsuite/tests/TestCase.php
+++ /dev/null
@@ -1,156 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Mink;
-use Behat\Mink\Session;
-use Behat\Mink\WebAssert;
-
-abstract class TestCase extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Mink session manager.
-     *
-     * @var Mink
-     */
-    private static $mink;
-
-    /**
-     * @var AbstractConfig
-     */
-    private static $config;
-
-    /**
-     * Initializes the test case
-     */
-    public static function setUpBeforeClass()
-    {
-        if (null === self::$mink) {
-            $session = new Session(self::getConfig()->createDriver());
-            self::$mink = new Mink(array('sess' => $session));
-        }
-    }
-
-    /**
-     * @return AbstractConfig
-     *
-     * @throws \UnexpectedValueException if the global driver_config_factory returns an invalid object
-     */
-    private static function getConfig()
-    {
-        if (null === self::$config) {
-            self::$config = call_user_func($GLOBALS['driver_config_factory']);
-
-            if (!self::$config instanceof AbstractConfig) {
-                throw new \UnexpectedValueException('The "driver_config_factory" global variable must return a \Behat\Mink\Tests\Driver\AbstractConfig.');
-            }
-        }
-
-        return self::$config;
-    }
-
-    protected function checkRequirements()
-    {
-        if (null !== $message = self::getConfig()->skipMessage(get_class($this), $this->getName(false))) {
-            $this->markTestSkipped($message);
-        }
-
-        parent::checkRequirements();
-    }
-
-    protected function tearDown()
-    {
-        if (null !== self::$mink) {
-            self::$mink->resetSessions();
-        }
-    }
-
-    protected function onNotSuccessfulTest(\Exception $e)
-    {
-        if ($e instanceof UnsupportedDriverActionException) {
-            $this->markTestSkipped($e->getMessage());
-        }
-
-        parent::onNotSuccessfulTest($e);
-    }
-
-    /**
-     * Returns session.
-     *
-     * @return Session
-     */
-    protected function getSession()
-    {
-        return self::$mink->getSession('sess');
-    }
-
-    /**
-     * Returns assert session.
-     *
-     * @return WebAssert
-     */
-    protected function getAssertSession()
-    {
-        return self::$mink->assertSession('sess');
-    }
-
-    /**
-     * @param string $id
-     *
-     * @return \Behat\Mink\Element\NodeElement
-     */
-    protected function findById($id)
-    {
-        $id = $this->getSession()->getSelectorsHandler()->xpathLiteral($id);
-
-        return $this->getAssertSession()->elementExists('named', array('id', $id));
-    }
-
-    /**
-     * Map remote file path.
-     *
-     * @param string $file File path.
-     *
-     * @return string
-     */
-    protected function mapRemoteFilePath($file)
-    {
-        $realPath = realpath($file);
-
-        if (false !== $realPath) {
-            $file = $realPath;
-        }
-
-        return self::getConfig()->mapRemoteFilePath($file);
-    }
-
-    /**
-     * @param string $path
-     *
-     * @return string
-     */
-    protected function pathTo($path)
-    {
-        return rtrim(self::getConfig()->getWebFixturesUrl(), '/').'/'.ltrim($path, '/');
-    }
-
-    /**
-     * Waits for a condition to be true, considering than it is successful for drivers not supporting wait()
-     *
-     * @param int    $time
-     * @param string $condition A JS condition to evaluate
-     *
-     * @return bool
-     *
-     * @see \Behat\Mink\Session::wait()
-     */
-    protected function safePageWait($time, $condition)
-    {
-        try {
-            return $this->getSession()->wait($time, $condition);
-        } catch (UnsupportedDriverActionException $e) {
-            return true;
-        }
-    }
-}
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
deleted file mode 100644
index af3032a..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>ADvanced Form</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script src="js/jquery-1.6.2-min.js"></script>
-</head>
-<body>
-    <h1>ADvanced Form Page</h1>
-
-    <form method="POST" enctype="multipart/form-data" action="advanced_form_post.php">
-        <input id="the-input-default" value="" />
-        <input type="text" id="the-input-text" value="" />
-        <input type="email" id="the-email" value="" />
-
-        <select id="the-select">
-            <option value="10">ten</option>
-            <option value="20" selected="selected">twenty</option>
-            <option value="30">thirty</option>
-        </select>
-
-        <label>
-            <span><input type="radio" name="sex" id="the-radio-m" value="m" /> m</span>
-            <span><input type="radio" name="sex" id="the-radio-w" value="w" checked="checked" /> w</span>
-        </label>
-
-        <input type="checkbox" id="the-checked-checkbox" value="cb-val" checked/>
-        <input type="checkbox" id="the-unchecked-checkbox" value="cb-val"/>
-
-        <textarea id="the-textarea"></textarea>
-
-        <input type="file" id="the-file" />
-    </form>
-
-    <ul id="results" style="border: 1px solid red;">
-        <li>for easy element location</li>
-    </ul>
-
-    <script type="text/javascript">
-        $(document).ready(function () {
-            var $change_registry = {},
-                $results = $('#results');
-
-            $(':input').change(function ($e) {
-                var $result_id = this.id + '-result';
-
-                if (!$change_registry[this.id]) {
-                    $change_registry[this.id] = 1;
-                    $results.append('<li id="' + $result_id + '"></li>');
-                }
-                else {
-                    $change_registry[this.id]++;
-                }
-
-                $('#' + $result_id).text($change_registry[this.id]);
-            });
-
-            $results.click(function () {
-                $results.empty();
-                $change_registry = {};
-            });
-        });
-    </script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
deleted file mode 100644
index 6bb379c..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-</head>
-<body>
-    <h1>Extremely useless page</h1>
-    <div id="core">
-        <strong>Lorem</strong> ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim <strong>veniam</strong>, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla <strong class="super-duper">pariatur</strong>. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-        <div id="some-element" data-href="http://mink.behat.org">
-            some <div>very
-            </div>
-<em>interesting</em>      text
-        </div>
-
-        <div class="attribute-testing">
-            <input type="text" id="attr-elem[with-value]" with-value="some-value"/>
-            <input type="text" id="attr-elem[without-value]" without-value/>
-            <input type="text" id="attr-elem[with-empty-value]" with-empty-value=""/>
-            <input type="text" id="attr-elem[with-missing]"/>
-        </div>
-
-        <div class="travers">
-            <div class="sub">el1</div>
-            <div class="sub">el2</div>
-            <div class="sub">
-                <a href="some_url">some <strong>deep</strong> url</a>
-            </div>
-        </div>
-
-        <div class="sub">el4</div>
-
-    </div>
-
-    <footer>
-        <form id="search-form">
-            <input type="text" placeholder="Search site..." />
-        </form>
-        <form id="profile">
-            <div data-custom="something">
-                <label>
-                    <input type="text" id="user-name" name="username" />
-                </label>
-            </div>
-            <input type="submit" />
-        </form>
-    </footer>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
deleted file mode 100644
index 2178bba..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="fr">
-<head>
-    <title>Index page</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-    <script src="js/jquery-1.6.2-min.js"></script>
-</head>
-<body>
-
-<button id="btn">CrÃ©er un compte</button>
-
-<div id="panel"></div>
-
-<script type="text/javascript">
-    $('#btn').click(function (event) {
-        $('#panel').text('OH ' + 'AIH!');
-    });
-</script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html b/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
deleted file mode 100644
index e965a40..0000000
--- a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title>JS elements test</title>
-    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
-
-    <style>
-        #draggable {
-            width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0;
-            background:#ccc;
-            opacity:0.5;
-        }
-        #droppable {
-            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
-            background:#eee;
-        }
-        #waitable {
-            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
-            background:#eee;
-        }
-    </style>
-</head>
-<body>
-    <div class="elements">
-        <div id="clicker">not clicked</div>
-        <div id="mouseover-detector">no mouse action detected</div>
-        <div id="invisible" style="display: none">invisible man</div>
-        <input id="focus-blur-detector" type="text" value="no action detected"/>
-        <input class="input first" type="text" value="" />
-        <input class="input second" type="text" value="" />
-        <input class="input third" type="text" value="" />
-        <div class="text-event"></div>
-    </div>
-
-    <div id="draggable" class="ui-widget-content"></div>
-
-    <div id="droppable" class="ui-widget-header">
-        <p>Drop here</p>
-    </div>
-
-    <div id="waitable"></div>
-
-    <script src="js/jquery-1.6.2-min.js"></script>
-    <script src="js/jquery-ui-1.8.14.custom.min.js"></script>
-	<script>
-		$(document).ready(function() {
-            $('#clicker').click(function() {
-                $(this).text('single clicked');
-            });
-
-            $('#clicker').dblclick(function() {
-                $(this).text('double clicked');
-            });
-
-            $('#clicker').bind('contextmenu', function() {
-                $(this).text('right clicked');
-            });
-
-            $('#focus-blur-detector').focus(function() {
-                $(this).val('focused');
-            });
-
-            $('#focus-blur-detector').blur(function() {
-                $(this).val('blured');
-            });
-
-            $('#mouseover-detector').mouseover(function() {
-                $(this).text('mouse overed');
-            });
-
-            $('.elements input.input.first').keydown(function(ev) {
-                $('.text-event').text('key downed:' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $('.elements input.input.second').keypress(function(ev) {
-                $('.text-event').text('key pressed:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $('.elements input.input.third').keyup(function(ev) {
-                $('.text-event').text('key upped:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
-            });
-
-            $( "#draggable" ).draggable();
-            $( "#droppable" ).droppable({
-                drop: function( event, ui ) {
-                    $( this ).find( "p" ).html( "Dropped!" );
-                }
-            });
-
-            var t1, t2;
-
-            $('#waitable').click(function() {
-                var el = $(this);
-
-                el.html('');
-                clearTimeout(t1);
-                clearTimeout(t2);
-
-                t1 = setTimeout(function() {
-                    el.html('<div>arrived</div>');
-                }, 1000);
-
-                t2 = setTimeout(function() {
-                    el.html('<div>timeout</div>');
-                }, 2000);
-            });
-		});
-	</script>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/src/Driver/CoreDriver.php b/core/vendor/behat/mink/src/Driver/CoreDriver.php
deleted file mode 100644
index 248f291..0000000
--- a/core/vendor/behat/mink/src/Driver/CoreDriver.php
+++ /dev/null
@@ -1,447 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-
-/**
- * Core driver.
- * All other drivers should extend this class for future compatibility.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class CoreDriver implements DriverInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function setSession(Session $session)
-    {
-        throw new UnsupportedDriverActionException('Setting the session is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function start()
-    {
-        throw new UnsupportedDriverActionException('Starting the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isStarted()
-    {
-        throw new UnsupportedDriverActionException('Checking the driver state is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function stop()
-    {
-        throw new UnsupportedDriverActionException('Stopping the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reset()
-    {
-        throw new UnsupportedDriverActionException('Resetting the driver is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function visit($url)
-    {
-        throw new UnsupportedDriverActionException('Visiting an url is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCurrentUrl()
-    {
-        throw new UnsupportedDriverActionException('Getting the current url is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getContent()
-    {
-        throw new UnsupportedDriverActionException('Getting the page content is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($xpath)
-    {
-        throw new UnsupportedDriverActionException('Finding elements is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTagName($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the tag name is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element text is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element inner HTML is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getOuterHtml($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the element outer HTML is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getAttribute($xpath, $name)
-    {
-        throw new UnsupportedDriverActionException('Getting the element attribute is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getValue($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the field value is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setValue($xpath, $value)
-    {
-        throw new UnsupportedDriverActionException('Setting the field value is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function check($xpath)
-    {
-        throw new UnsupportedDriverActionException('Checking a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function uncheck($xpath)
-    {
-        throw new UnsupportedDriverActionException('Unchecking a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isChecked($xpath)
-    {
-        throw new UnsupportedDriverActionException('Getting the state of a checkbox is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function selectOption($xpath, $value, $multiple = false)
-    {
-        throw new UnsupportedDriverActionException('Selecting an option is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function click($xpath)
-    {
-        throw new UnsupportedDriverActionException('Clicking on an element is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function attachFile($xpath, $path)
-    {
-        throw new UnsupportedDriverActionException('Attaching a file in an input is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function reload()
-    {
-        throw new UnsupportedDriverActionException('Page reloading is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function forward()
-    {
-        throw new UnsupportedDriverActionException('Forward action is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function back()
-    {
-        throw new UnsupportedDriverActionException('Backward action is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setBasicAuth($user, $password)
-    {
-        throw new UnsupportedDriverActionException('Basic auth setup is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function switchToWindow($name = null)
-    {
-        throw new UnsupportedDriverActionException('Windows management is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function switchToIFrame($name = null)
-    {
-        throw new UnsupportedDriverActionException('iFrames management is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setRequestHeader($name, $value)
-    {
-        throw new UnsupportedDriverActionException('Request headers manipulation is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getResponseHeaders()
-    {
-        throw new UnsupportedDriverActionException('Response headers are not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function setCookie($name, $value = null)
-    {
-        throw new UnsupportedDriverActionException('Cookies manipulation is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCookie($name)
-    {
-        throw new UnsupportedDriverActionException('Cookies are not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getStatusCode()
-    {
-        throw new UnsupportedDriverActionException('Status code is not available from %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getScreenshot()
-    {
-        throw new UnsupportedDriverActionException('Screenshots are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getWindowNames()
-    {
-        throw new UnsupportedDriverActionException('Listing all window names is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getWindowName()
-    {
-        throw new UnsupportedDriverActionException('Listing this window name is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function doubleClick($xpath)
-    {
-        throw new UnsupportedDriverActionException('Double-clicking is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function rightClick($xpath)
-    {
-        throw new UnsupportedDriverActionException('Right-clicking is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isVisible($xpath)
-    {
-        throw new UnsupportedDriverActionException('Element visibility check is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isSelected($xpath)
-    {
-        throw new UnsupportedDriverActionException('Element selection check is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function mouseOver($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function focus($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function blur($xpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyPress($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyDown($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function keyUp($xpath, $char, $modifier = null)
-    {
-        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function dragTo($sourceXpath, $destinationXpath)
-    {
-        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function executeScript($script)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function evaluateScript($script)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function wait($timeout, $condition)
-    {
-        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function resizeWindow($width, $height, $name = null)
-    {
-        throw new UnsupportedDriverActionException('Window resizing is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function maximizeWindow($name = null)
-    {
-        throw new UnsupportedDriverActionException('Window maximize is not supported by %s', $this);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function submitForm($xpath)
-    {
-        throw new UnsupportedDriverActionException('Form submission is not supported by %s', $this);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Driver/DriverInterface.php b/core/vendor/behat/mink/src/Driver/DriverInterface.php
deleted file mode 100644
index 8357caa..0000000
--- a/core/vendor/behat/mink/src/Driver/DriverInterface.php
+++ /dev/null
@@ -1,637 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Driver;
-
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Exception\DriverException;
-use Behat\Mink\Exception\UnsupportedDriverActionException;
-use Behat\Mink\Session;
-
-/**
- * Driver interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface DriverInterface
-{
-    /**
-     * Sets driver's current session.
-     *
-     * @param Session $session
-     */
-    public function setSession(Session $session);
-
-    /**
-     * Starts driver.
-     *
-     * Once started, the driver should be ready to visit a page.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     *
-     * Calling start on a started driver is an undefined behavior. Driver
-     * implementations are free to handle it silently or to fail with an
-     * exception.
-     *
-     * @throws DriverException When the driver cannot be started
-     */
-    public function start();
-
-    /**
-     * Checks whether driver is started.
-     *
-     * @return Boolean
-     */
-    public function isStarted();
-
-    /**
-     * Stops driver.
-     *
-     * Once stopped, the driver should be started again before using it again.
-     *
-     * Calling any action on a stopped driver is an undefined behavior.
-     * The only supported method call after stopping a driver is starting it again.
-     *
-     * Calling stop on a stopped driver is an undefined behavior. Driver
-     * implementations are free to handle it silently or to fail with an
-     * exception.
-     *
-     * @throws DriverException When the driver cannot be closed
-     */
-    public function stop();
-
-    /**
-     * Resets driver state.
-     *
-     * This should reset cookies, request headers and basic authentication.
-     * When possible, the history should be reset as well, but this is not enforced
-     * as some implementations may not be able to reset it without restarting the
-     * driver entirely. Consumers requiring a clean history should restart the driver
-     * to enforce it.
-     *
-     * Once reset, the driver should be ready to visit a page.
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     *
-     * Calling reset on a stopped driver is an undefined behavior.
-     */
-    public function reset();
-
-    /**
-     * Visit specified URL.
-     *
-     * @param string $url url of the page
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function visit($url);
-
-    /**
-     * Returns current URL address.
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getCurrentUrl();
-
-    /**
-     * Reloads current page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function reload();
-
-    /**
-     * Moves browser forward 1 page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function forward();
-
-    /**
-     * Moves browser backward 1 page.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function back();
-
-    /**
-     * Sets HTTP Basic authentication parameters
-     *
-     * @param string|Boolean $user     user name or false to disable authentication
-     * @param string         $password password
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setBasicAuth($user, $password);
-
-    /**
-     * Switches to specific browser window.
-     *
-     * @param string $name window name (null for switching back to main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function switchToWindow($name = null);
-
-    /**
-     * Switches to specific iFrame.
-     *
-     * @param string $name iframe name (null for switching back)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function switchToIFrame($name = null);
-
-    /**
-     * Sets specific request header on client.
-     *
-     * @param string $name
-     * @param string $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setRequestHeader($name, $value);
-
-    /**
-     * Returns last response headers.
-     *
-     * @return array
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getResponseHeaders();
-
-    /**
-     * Sets cookie.
-     *
-     * @param string $name
-     * @param string $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function setCookie($name, $value = null);
-
-    /**
-     * Returns cookie by name.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getCookie($name);
-
-    /**
-     * Returns last response status code.
-     *
-     * @return integer
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getStatusCode();
-
-    /**
-     * Returns last response content.
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getContent();
-
-    /**
-     * Capture a screenshot of the current window.
-     *
-     * @return string screenshot of MIME type image/* depending
-     *                on driver (e.g., image/png, image/jpeg)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getScreenshot();
-
-    /**
-     * Return the names of all open windows.
-     *
-     * @return array array of all open windows
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getWindowNames();
-
-    /**
-     * Return the name of the currently active window.
-     *
-     * @return string the name of the current window
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getWindowName();
-
-    /**
-     * Finds elements with specified XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return NodeElement[]
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function find($xpath);
-
-    /**
-     * Returns element's tag name by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getTagName($xpath);
-
-    /**
-     * Returns element's text by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getText($xpath);
-
-    /**
-     * Returns element's inner html by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getHtml($xpath);
-
-    /**
-     * Returns element's outer html by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getOuterHtml($xpath);
-
-    /**
-     * Returns element's attribute by it's XPath query.
-     *
-     * @param string $xpath
-     * @param string $name
-     *
-     * @return string|null
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function getAttribute($xpath, $name);
-
-    /**
-     * Returns element's value by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return string|bool|array
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::getValue
-     */
-    public function getValue($xpath);
-
-    /**
-     * Sets element's value by it's XPath query.
-     *
-     * @param string            $xpath
-     * @param string|bool|array $value
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::setValue
-     */
-    public function setValue($xpath, $value);
-
-    /**
-     * Checks checkbox by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::check
-     */
-    public function check($xpath);
-
-    /**
-     * Unchecks checkbox by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::uncheck
-     */
-    public function uncheck($xpath);
-
-    /**
-     * Checks whether checkbox or radio button located by it's XPath query is checked.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::isChecked
-     */
-    public function isChecked($xpath);
-
-    /**
-     * Selects option from select field or value in radio group located by it's XPath query.
-     *
-     * @param string  $xpath
-     * @param string  $value
-     * @param Boolean $multiple
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::selectOption
-     */
-    public function selectOption($xpath, $value, $multiple = false);
-
-    /**
-     * Checks whether select option, located by it's XPath query, is selected.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::isSelected
-     */
-    public function isSelected($xpath);
-
-    /**
-     * Clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function click($xpath);
-
-    /**
-     * Double-clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function doubleClick($xpath);
-
-    /**
-     * Right-clicks button or link located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function rightClick($xpath);
-
-    /**
-     * Attaches file path to file field located by it's XPath query.
-     *
-     * @param string $xpath
-     * @param string $path
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::attachFile
-     */
-    public function attachFile($xpath, $path);
-
-    /**
-     * Checks whether element visible located by it's XPath query.
-     *
-     * @param string $xpath
-     *
-     * @return Boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function isVisible($xpath);
-
-    /**
-     * Simulates a mouse over on the element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function mouseOver($xpath);
-
-    /**
-     * Brings focus to element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function focus($xpath);
-
-    /**
-     * Removes focus from element.
-     *
-     * @param string $xpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function blur($xpath);
-
-    /**
-     * Presses specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyPress($xpath, $char, $modifier = null);
-
-    /**
-     * Pressed down specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyDown($xpath, $char, $modifier = null);
-
-    /**
-     * Pressed up specific keyboard key.
-     *
-     * @param string         $xpath
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function keyUp($xpath, $char, $modifier = null);
-
-    /**
-     * Drag one element onto another.
-     *
-     * @param string $sourceXpath
-     * @param string $destinationXpath
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function dragTo($sourceXpath, $destinationXpath);
-
-    /**
-     * Executes JS script.
-     *
-     * @param string $script
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function executeScript($script);
-
-    /**
-     * Evaluates JS script.
-     *
-     * The "return" keyword is optional in the script passed as argument. Driver implementations
-     * must accept the expression both with and without the keyword.
-     *
-     * @param string $script
-     *
-     * @return mixed
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function evaluateScript($script);
-
-    /**
-     * Waits some time or until JS condition turns true.
-     *
-     * @param integer $timeout   timeout in milliseconds
-     * @param string  $condition JS condition
-     *
-     * @return boolean
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function wait($timeout, $condition);
-
-    /**
-     * Set the dimensions of the window.
-     *
-     * @param integer $width  set the window width, measured in pixels
-     * @param integer $height set the window height, measured in pixels
-     * @param string  $name   window name (null for the main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function resizeWindow($width, $height, $name = null);
-
-    /**
-     * Maximize the window if it is not maximized already
-     *
-     * @param string $name window name (null for the main window)
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     */
-    public function maximizeWindow($name = null);
-
-    /**
-     * Submits the form.
-     *
-     * @param string $xpath Xpath.
-     *
-     * @throws UnsupportedDriverActionException When operation not supported by the driver
-     * @throws DriverException                  When the operation cannot be done
-     *
-     * @see \Behat\Mink\Element\NodeElement::submitForm
-     */
-    public function submitForm($xpath);
-}
diff --git a/core/vendor/behat/mink/src/Element/DocumentElement.php b/core/vendor/behat/mink/src/Element/DocumentElement.php
deleted file mode 100644
index edde3c3..0000000
--- a/core/vendor/behat/mink/src/Element/DocumentElement.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-/**
- * Document element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class DocumentElement extends TraversableElement
-{
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath()
-    {
-        return '//html';
-    }
-
-    /**
-     * Returns document content.
-     *
-     * @return string
-     */
-    public function getContent()
-    {
-        return trim($this->getDriver()->getContent());
-    }
-
-    /**
-     * Check whether document has specified content.
-     *
-     * @param string $content
-     *
-     * @return Boolean
-     */
-    public function hasContent($content)
-    {
-        return $this->has('named', array(
-            'content', $this->getSelectorsHandler()->xpathLiteral($content),
-        ));
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/Element.php b/core/vendor/behat/mink/src/Element/Element.php
deleted file mode 100644
index 07e1e11..0000000
--- a/core/vendor/behat/mink/src/Element/Element.php
+++ /dev/null
@@ -1,207 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Exception\ElementNotFoundException;
-use Behat\Mink\Selector\SelectorsHandler;
-use Behat\Mink\Selector\Xpath\Manipulator;
-use Behat\Mink\Session;
-
-/**
- * Base element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class Element implements ElementInterface
-{
-    /**
-     * @var Session
-     */
-    private $session;
-
-    /**
-     * Driver.
-     *
-     * @var DriverInterface
-     */
-    private $driver;
-
-    /**
-     * @var SelectorsHandler
-     */
-    private $selectorsHandler;
-
-    /**
-     * @var Manipulator
-     */
-    private $xpathManipulator;
-
-    /**
-     * Initialize element.
-     *
-     * @param Session $session
-     */
-    public function __construct(Session $session)
-    {
-        $this->xpathManipulator = new Manipulator();
-        $this->session = $session;
-
-        $this->driver = $session->getDriver();
-        $this->selectorsHandler = $session->getSelectorsHandler();
-    }
-
-    /**
-     * Returns element session.
-     *
-     * @return Session
-     *
-     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
-     */
-    public function getSession()
-    {
-        return $this->session;
-    }
-
-    /**
-     * Returns element's driver.
-     *
-     * @return DriverInterface
-     */
-    protected function getDriver()
-    {
-        return $this->driver;
-    }
-
-    /**
-     * Returns selectors handler.
-     *
-     * @return SelectorsHandler
-     */
-    protected function getSelectorsHandler()
-    {
-        return $this->selectorsHandler;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($selector, $locator)
-    {
-        return null !== $this->find($selector, $locator);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isValid()
-    {
-        return 1 === count($this->getDriver()->find($this->getXpath()));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function waitFor($timeout, $callback)
-    {
-        if (!is_callable($callback)) {
-            throw new \InvalidArgumentException('Given callback is not a valid callable');
-        }
-
-        $start = microtime(true);
-        $end = $start + $timeout;
-
-        do {
-            $result = call_user_func($callback, $this);
-
-            if ($result) {
-                break;
-            }
-
-            usleep(100000);
-        } while (microtime(true) < $end);
-
-        return $result;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function find($selector, $locator)
-    {
-        $items = $this->findAll($selector, $locator);
-
-        return count($items) ? current($items) : null;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function findAll($selector, $locator)
-    {
-        if ('named' === $selector) {
-            $items = $this->findAll('named_exact', $locator);
-            if (empty($items)) {
-                $items = $this->findAll('named_partial', $locator);
-            }
-
-            return $items;
-        }
-
-        $xpath = $this->getSelectorsHandler()->selectorToXpath($selector, $locator);
-        $xpath = $this->xpathManipulator->prepend($xpath, $this->getXpath());
-
-        return $this->getDriver()->find($xpath);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getText()
-    {
-        return $this->getDriver()->getText($this->getXpath());
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getHtml()
-    {
-        return $this->getDriver()->getHtml($this->getXpath());
-    }
-
-    /**
-     * Returns element outer html.
-     *
-     * @return string
-     */
-    public function getOuterHtml()
-    {
-        return $this->getDriver()->getOuterHtml($this->getXpath());
-    }
-
-    /**
-     * Builds an ElementNotFoundException
-     *
-     * This is an helper to build the ElementNotFoundException without
-     * needing to use the deprecated getSession accessor in child classes.
-     *
-     * @param string      $type
-     * @param string|null $selector
-     * @param string|null $locator
-     *
-     * @return ElementNotFoundException
-     */
-    protected function elementNotFound($type, $selector = null, $locator = null)
-    {
-        return new ElementNotFoundException($this->session, $type, $selector, $locator);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/ElementInterface.php b/core/vendor/behat/mink/src/Element/ElementInterface.php
deleted file mode 100644
index 8c134b9..0000000
--- a/core/vendor/behat/mink/src/Element/ElementInterface.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Session;
-
-/**
- * Element interface.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-interface ElementInterface
-{
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath();
-
-    /**
-     * Returns element's session.
-     *
-     * @return Session
-     *
-     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
-     */
-    public function getSession();
-
-    /**
-     * Checks whether element with specified selector exists inside the current element.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return Boolean
-     *
-     * @see ElementInterface::findAll for the supported selectors
-     */
-    public function has($selector, $locator);
-
-    /**
-     * Checks if an element still exists in the DOM.
-     *
-     * @return boolean
-     */
-    public function isValid();
-
-    /**
-     * Waits for an element(-s) to appear and returns it.
-     *
-     * @param int|float $timeout  Maximal allowed waiting time in seconds.
-     * @param callable  $callback Callback, which result is both used as waiting condition and returned.
-     *                            Will receive reference to `this element` as first argument.
-     *
-     * @return mixed
-     * @throws \InvalidArgumentException When invalid callback given.
-     */
-    public function waitFor($timeout, $callback);
-
-    /**
-     * Finds first element with specified selector inside the current element.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return NodeElement|null
-     *
-     * @see ElementInterface::findAll for the supported selectors
-     */
-    public function find($selector, $locator);
-
-    /**
-     * Finds all elements with specified selector inside the current element.
-     *
-     * Valid selector engines are named, xpath, css, named_partial and named_exact.
-     *
-     * 'named' is a pseudo selector engine which prefers an exact match but
-     * will return a partial match if no exact match is found.
-     * 'xpath' is a pseudo selector engine supported by SelectorsHandler.
-     *
-     * More selector engines can be registered in the SelectorsHandler.
-     *
-     * @param string       $selector selector engine name
-     * @param string|array $locator  selector locator
-     *
-     * @return NodeElement[]
-     *
-     * @see NamedSelector for the locators supported by the named selectors
-     */
-    public function findAll($selector, $locator);
-
-    /**
-     * Returns element text (inside tag).
-     *
-     * @return string
-     */
-    public function getText();
-
-    /**
-     * Returns element inner html.
-     *
-     * @return string
-     */
-    public function getHtml();
-}
diff --git a/core/vendor/behat/mink/src/Element/NodeElement.php b/core/vendor/behat/mink/src/Element/NodeElement.php
deleted file mode 100644
index 8e43546..0000000
--- a/core/vendor/behat/mink/src/Element/NodeElement.php
+++ /dev/null
@@ -1,352 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Session;
-use Behat\Mink\Exception\ElementNotFoundException;
-
-/**
- * Page element node.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NodeElement extends TraversableElement
-{
-    private $xpath;
-
-    /**
-     * Initializes node element.
-     *
-     * @param string  $xpath   element xpath
-     * @param Session $session session instance
-     */
-    public function __construct($xpath, Session $session)
-    {
-        $this->xpath = $xpath;
-
-        parent::__construct($session);
-    }
-
-    /**
-     * Returns XPath for handled element.
-     *
-     * @return string
-     */
-    public function getXpath()
-    {
-        return $this->xpath;
-    }
-
-    /**
-     * Returns parent element to the current one.
-     *
-     * @return NodeElement
-     */
-    public function getParent()
-    {
-        return $this->find('xpath', '..');
-    }
-
-    /**
-     * Returns current node tag name.
-     *
-     * The value is always returned in lowercase to allow an easy comparison.
-     *
-     * @return string
-     */
-    public function getTagName()
-    {
-        return strtolower($this->getDriver()->getTagName($this->getXpath()));
-    }
-
-    /**
-     * Returns the value of the form field or option element.
-     *
-     * For checkbox fields, the value is a boolean indicating whether the checkbox is checked.
-     * For radio buttons, the value is the value of the selected button in the radio group
-     *      or null if no button is selected.
-     * For single select boxes, the value is the value of the selected option.
-     * For multiple select boxes, the value is an array of selected option values.
-     * for file inputs, the return value is undefined given that browsers don't allow accessing
-     *      the value of file inputs for security reasons. Some drivers may allow accessing the
-     *      path of the file set in the field, but this is not required if it cannot be implemented.
-     * For textarea elements and all textual fields, the value is the content of the field.
-     * Form option elements, the value is the value of the option (the value attribute or the text
-     *      content if the attribute is not set).
-     *
-     * Calling this method on other elements than form fields or option elements is not allowed.
-     *
-     * @return string|bool|array
-     */
-    public function getValue()
-    {
-        return $this->getDriver()->getValue($this->getXpath());
-    }
-
-    /**
-     * Sets the value of the form field.
-     *
-     * Calling this method on other elements than form fields is not allowed.
-     *
-     * @param string|bool|array $value
-     *
-     * @see NodeElement::getValue for the format of the value for each type of field
-     */
-    public function setValue($value)
-    {
-        $this->getDriver()->setValue($this->getXpath(), $value);
-    }
-
-    /**
-     * Checks whether element has attribute with specified name.
-     *
-     * @param string $name
-     *
-     * @return Boolean
-     */
-    public function hasAttribute($name)
-    {
-        return null !== $this->getDriver()->getAttribute($this->getXpath(), $name);
-    }
-
-    /**
-     * Returns specified attribute value.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     */
-    public function getAttribute($name)
-    {
-        return $this->getDriver()->getAttribute($this->getXpath(), $name);
-    }
-
-    /**
-     * Checks whether an element has a named CSS class
-     *
-     * @param string $className Name of the class
-     *
-     * @return boolean
-     */
-    public function hasClass($className)
-    {
-        if ($this->hasAttribute('class')) {
-            return in_array($className, explode(' ', $this->getAttribute('class')));
-        }
-
-        return false;
-    }
-
-    /**
-     * Clicks current node.
-     */
-    public function click()
-    {
-        $this->getDriver()->click($this->getXpath());
-    }
-
-    /**
-     * Presses current button.
-     */
-    public function press()
-    {
-        $this->click();
-    }
-
-    /**
-     * Double-clicks current node.
-     */
-    public function doubleClick()
-    {
-        $this->getDriver()->doubleClick($this->getXpath());
-    }
-
-    /**
-     * Right-clicks current node.
-     */
-    public function rightClick()
-    {
-        $this->getDriver()->rightClick($this->getXpath());
-    }
-
-    /**
-     * Checks current node if it's a checkbox field.
-     */
-    public function check()
-    {
-        $this->getDriver()->check($this->getXpath());
-    }
-
-    /**
-     * Unchecks current node if it's a checkbox field.
-     */
-    public function uncheck()
-    {
-        $this->getDriver()->uncheck($this->getXpath());
-    }
-
-    /**
-     * Checks whether current node is checked if it's a checkbox or radio field.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @return Boolean
-     */
-    public function isChecked()
-    {
-        return (Boolean) $this->getDriver()->isChecked($this->getXpath());
-    }
-
-    /**
-     * Selects specified option for select field or specified radio button in the group
-     *
-     * If the current node is a select box, this selects the option found by its value or
-     * its text.
-     * If the current node is a radio button, this selects the radio button with the given
-     * value in the radio button group of the current node.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @param string  $option
-     * @param Boolean $multiple whether the option should be added to the selection for multiple selects
-     *
-     * @throws ElementNotFoundException when the option is not found in the select box
-     */
-    public function selectOption($option, $multiple = false)
-    {
-        if ('select' !== $this->getTagName()) {
-            $this->getDriver()->selectOption($this->getXpath(), $option, $multiple);
-
-            return;
-        }
-
-        $opt = $this->find('named', array(
-            'option', $this->getSelectorsHandler()->xpathLiteral($option),
-        ));
-
-        if (null === $opt) {
-            throw $this->elementNotFound('select option', 'value|text', $option);
-        }
-
-        $this->getDriver()->selectOption($this->getXpath(), $opt->getValue(), $multiple);
-    }
-
-    /**
-     * Checks whether current node is selected if it's a option field.
-     *
-     * Calling this method on any other elements is not allowed.
-     *
-     * @return Boolean
-     */
-    public function isSelected()
-    {
-        return (Boolean) $this->getDriver()->isSelected($this->getXpath());
-    }
-
-    /**
-     * Attach file to current node if it's a file input.
-     *
-     * Calling this method on any other elements than file input is not allowed.
-     *
-     * @param string $path path to file (local)
-     */
-    public function attachFile($path)
-    {
-        $this->getDriver()->attachFile($this->getXpath(), $path);
-    }
-
-    /**
-     * Checks whether current node is visible on page.
-     *
-     * @return Boolean
-     */
-    public function isVisible()
-    {
-        return (Boolean) $this->getDriver()->isVisible($this->getXpath());
-    }
-
-    /**
-     * Simulates a mouse over on the element.
-     */
-    public function mouseOver()
-    {
-        $this->getDriver()->mouseOver($this->getXpath());
-    }
-
-    /**
-     * Drags current node onto other node.
-     *
-     * @param ElementInterface $destination other node
-     */
-    public function dragTo(ElementInterface $destination)
-    {
-        $this->getDriver()->dragTo($this->getXpath(), $destination->getXpath());
-    }
-
-    /**
-     * Brings focus to element.
-     */
-    public function focus()
-    {
-        $this->getDriver()->focus($this->getXpath());
-    }
-
-    /**
-     * Removes focus from element.
-     */
-    public function blur()
-    {
-        $this->getDriver()->blur($this->getXpath());
-    }
-
-    /**
-     * Presses specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyPress($char, $modifier = null)
-    {
-        $this->getDriver()->keyPress($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Pressed down specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyDown($char, $modifier = null)
-    {
-        $this->getDriver()->keyDown($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Pressed up specific keyboard key.
-     *
-     * @param string|integer $char     could be either char ('b') or char-code (98)
-     * @param string         $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
-     */
-    public function keyUp($char, $modifier = null)
-    {
-        $this->getDriver()->keyUp($this->getXpath(), $char, $modifier);
-    }
-
-    /**
-     * Submits the form.
-     *
-     * Calling this method on anything else than form elements is not allowed.
-     */
-    public function submit()
-    {
-        $this->getDriver()->submitForm($this->getXpath());
-    }
-}
diff --git a/core/vendor/behat/mink/src/Element/TraversableElement.php b/core/vendor/behat/mink/src/Element/TraversableElement.php
deleted file mode 100644
index 0621af3..0000000
--- a/core/vendor/behat/mink/src/Element/TraversableElement.php
+++ /dev/null
@@ -1,309 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Element;
-
-use Behat\Mink\Exception\ElementNotFoundException;
-
-/**
- * Traversable element.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-abstract class TraversableElement extends Element
-{
-    /**
-     * Finds element by its id.
-     *
-     * @param string $id element id
-     *
-     * @return NodeElement|null
-     */
-    public function findById($id)
-    {
-        $id = $this->getSelectorsHandler()->xpathLiteral($id);
-
-        return $this->find('named', array('id', $id));
-    }
-
-    /**
-     * Checks whether element has a link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @return Boolean
-     */
-    public function hasLink($locator)
-    {
-        return null !== $this->findLink($locator);
-    }
-
-    /**
-     * Finds link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @return NodeElement|null
-     */
-    public function findLink($locator)
-    {
-        return $this->find('named', array(
-            'link', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Clicks link with specified locator.
-     *
-     * @param string $locator link id, title, text or image alt
-     *
-     * @throws ElementNotFoundException
-     */
-    public function clickLink($locator)
-    {
-        $link = $this->findLink($locator);
-
-        if (null === $link) {
-            throw $this->elementNotFound('link', 'id|title|alt|text', $locator);
-        }
-
-        $link->click();
-    }
-
-    /**
-     * Checks whether element has a button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @return Boolean
-     */
-    public function hasButton($locator)
-    {
-        return null !== $this->findButton($locator);
-    }
-
-    /**
-     * Finds button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @return NodeElement|null
-     */
-    public function findButton($locator)
-    {
-        return $this->find('named', array(
-            'button', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Presses button (input[type=submit|image|button|reset], button) with specified locator.
-     *
-     * @param string $locator button id, value or alt
-     *
-     * @throws ElementNotFoundException
-     */
-    public function pressButton($locator)
-    {
-        $button = $this->findButton($locator);
-
-        if (null === $button) {
-            throw $this->elementNotFound('button', 'id|name|title|alt|value', $locator);
-        }
-
-        $button->press();
-    }
-
-    /**
-     * Checks whether element has a field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     */
-    public function hasField($locator)
-    {
-        return null !== $this->findField($locator);
-    }
-
-    /**
-     * Finds field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return NodeElement|null
-     */
-    public function findField($locator)
-    {
-        return $this->find('named', array(
-            'field', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Fills in field (input, textarea, select) with specified locator.
-     *
-     * @param string $locator input id, name or label
-     * @param string $value   value
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::setValue
-     */
-    public function fillField($locator, $value)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->setValue($value);
-    }
-
-    /**
-     * Checks whether element has a checkbox with specified locator, which is checked.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     *
-     * @see NodeElement::isChecked
-     */
-    public function hasCheckedField($locator)
-    {
-        $field = $this->findField($locator);
-
-        return null !== $field && $field->isChecked();
-    }
-
-    /**
-     * Checks whether element has a checkbox with specified locator, which is unchecked.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @return Boolean
-     *
-     * @see NodeElement::isChecked
-     */
-    public function hasUncheckedField($locator)
-    {
-        $field = $this->findField($locator);
-
-        return null !== $field && !$field->isChecked();
-    }
-
-    /**
-     * Checks checkbox with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @throws ElementNotFoundException
-     */
-    public function checkField($locator)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->check();
-    }
-
-    /**
-     * Unchecks checkbox with specified locator.
-     *
-     * @param string $locator input id, name or label
-     *
-     * @throws ElementNotFoundException
-     */
-    public function uncheckField($locator)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->uncheck();
-    }
-
-    /**
-     * Checks whether element has a select field with specified locator.
-     *
-     * @param string $locator select id, name or label
-     *
-     * @return Boolean
-     */
-    public function hasSelect($locator)
-    {
-        return $this->has('named', array(
-            'select', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Selects option from select field with specified locator.
-     *
-     * @param string  $locator  input id, name or label
-     * @param string  $value    option value
-     * @param Boolean $multiple select multiple options
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::selectOption
-     */
-    public function selectFieldOption($locator, $value, $multiple = false)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->selectOption($value, $multiple);
-    }
-
-    /**
-     * Checks whether element has a table with specified locator.
-     *
-     * @param string $locator table id or caption
-     *
-     * @return Boolean
-     */
-    public function hasTable($locator)
-    {
-        return $this->has('named', array(
-            'table', $this->getSelectorsHandler()->xpathLiteral($locator),
-        ));
-    }
-
-    /**
-     * Attach file to file field with specified locator.
-     *
-     * @param string $locator input id, name or label
-     * @param string $path    path to file
-     *
-     * @throws ElementNotFoundException
-     *
-     * @see NodeElement::attachFile
-     */
-    public function attachFileToField($locator, $path)
-    {
-        $field = $this->findField($locator);
-
-        if (null === $field) {
-            throw $this->elementNotFound('form field', 'id|name|label|value', $locator);
-        }
-
-        $field->attachFile($path);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementException.php b/core/vendor/behat/mink/src/Exception/ElementException.php
deleted file mode 100644
index 49d5c6c..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementException.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Element\Element;
-
-/**
- * A standard way for elements to re-throw exceptions
- *
- * @deprecated This exception class is not used anymore in Mink 1.6 and will be removed in 2.0
- *
- * @author Chris Worfolk <xmeltrut@gmail.com>
- */
-class ElementException extends Exception
-{
-    private $element;
-
-    /**
-     * Initialises exception.
-     *
-     * @param Element    $element   optional message
-     * @param \Exception $exception exception
-     */
-    public function __construct(Element $element, \Exception $exception)
-    {
-        $this->element = $element;
-
-        parent::__construct(sprintf("Exception thrown by %s\n%s", $element->getXpath(), $exception->getMessage()));
-    }
-
-    /**
-     * Override default toString so we don't send a full backtrace in verbose mode.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        return $this->getMessage();
-    }
-
-    /**
-     * Get the element that caused the exception
-     *
-     * @return Element
-     */
-    public function getElement()
-    {
-        return $this->element;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementHtmlException.php b/core/vendor/behat/mink/src/Exception/ElementHtmlException.php
deleted file mode 100644
index 99e2ea6..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementHtmlException.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-use Behat\Mink\Element\Element;
-
-/**
- * Exception thrown when an expectation on the HTML of an element fails.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ElementHtmlException extends ExpectationException
-{
-    /**
-     * Element instance.
-     *
-     * @var Element
-     */
-    protected $element;
-
-    /**
-     * Initializes exception.
-     *
-     * @param string     $message   optional message
-     * @param Session    $session   session instance
-     * @param Element    $element   element
-     * @param \Exception $exception expectation exception
-     */
-    public function __construct($message, Session $session, Element $element, \Exception $exception = null)
-    {
-        $this->element = $element;
-
-        parent::__construct($message, $session, $exception);
-    }
-
-    protected function getContext()
-    {
-        return $this->element->getOuterHtml();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php b/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php
deleted file mode 100644
index 95fd5f0..0000000
--- a/core/vendor/behat/mink/src/Exception/ElementNotFoundException.php
+++ /dev/null
@@ -1,53 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-
-/**
- * Exception thrown when an expected element is not found.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ElementNotFoundException extends ExpectationException
-{
-    /**
-     * Initializes exception.
-     *
-     * @param Session $session  session instance
-     * @param string  $type     element type
-     * @param string  $selector element selector type
-     * @param string  $locator  element locator
-     */
-    public function __construct(Session $session, $type = null, $selector = null, $locator = null)
-    {
-        $message = '';
-
-        if (null !== $type) {
-            $message .= ucfirst($type);
-        } else {
-            $message .= 'Tag';
-        }
-
-        if (null !== $locator) {
-            if (null === $selector || in_array($selector, array('css', 'xpath'))) {
-                $selector = 'matching '.($selector ?: 'locator');
-            } else {
-                $selector = 'with '.$selector;
-            }
-            $message .= ' '.$selector.' "'.$locator.'"';
-        }
-
-        $message .= ' not found.';
-
-        parent::__construct($message, $session);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ExpectationException.php b/core/vendor/behat/mink/src/Exception/ExpectationException.php
deleted file mode 100644
index 25034d1..0000000
--- a/core/vendor/behat/mink/src/Exception/ExpectationException.php
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-use Behat\Mink\Session;
-
-/**
- * Exception thrown for failed expectations.
- *
- * Some specialized child classes are available to customize the error rendering.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ExpectationException extends Exception
-{
-    private $session;
-
-    /**
-     * Initializes exception.
-     *
-     * @param string     $message   optional message
-     * @param Session    $session   session instance
-     * @param \Exception $exception expectation exception
-     */
-    public function __construct($message, Session $session, \Exception $exception = null)
-    {
-        $this->session = $session;
-
-        if (!$message && null !== $exception) {
-            $message = $exception->getMessage();
-        }
-
-        parent::__construct($message, 0, $exception);
-    }
-
-    /**
-     * Returns exception message with additional context info.
-     *
-     * @return string
-     */
-    public function __toString()
-    {
-        try {
-            $pageText = $this->pipeString($this->trimString($this->getContext())."\n");
-            $string   = sprintf("%s\n\n%s%s", $this->getMessage(), $this->getResponseInfo(), $pageText);
-        } catch (\Exception $e) {
-            return $this->getMessage();
-        }
-
-        return $string;
-    }
-
-    /**
-     * Gets the context rendered for this exception
-     *
-     * @return string
-     */
-    protected function getContext()
-    {
-        return $this->trimBody($this->getSession()->getPage()->getContent());
-    }
-
-    /**
-     * Returns exception session.
-     *
-     * @return Session
-     */
-    protected function getSession()
-    {
-        return $this->session;
-    }
-
-    /**
-     * Prepends every line in a string with pipe (|).
-     *
-     * @param string $string
-     *
-     * @return string
-     */
-    protected function pipeString($string)
-    {
-        return '|  '.strtr($string, array("\n" => "\n|  "));
-    }
-
-    /**
-     * Removes response header/footer, letting only <body /> content.
-     *
-     * @param string $string response content
-     *
-     * @return string
-     */
-    protected function trimBody($string)
-    {
-        $string = preg_replace(array('/^.*<body>/s', '/<\/body>.*$/s'), array('<body>', '</body>'), $string);
-
-        return $string;
-    }
-
-    /**
-     * Trims string to specified number of chars.
-     *
-     * @param string  $string response content
-     * @param integer $count  trim count
-     *
-     * @return string
-     */
-    protected function trimString($string, $count = 1000)
-    {
-        $string = trim($string);
-
-        if ($count < mb_strlen($string)) {
-            return mb_substr($string, 0, $count - 3).'...';
-        }
-
-        return $string;
-    }
-
-    /**
-     * Returns response information string.
-     *
-     * @return string
-     */
-    protected function getResponseInfo()
-    {
-        $driver = basename(str_replace('\\', '/', get_class($this->session->getDriver())));
-
-        $info = '+--[ ';
-        try {
-            $info .= 'HTTP/1.1 '.$this->session->getStatusCode().' | ';
-        } catch (UnsupportedDriverActionException $e) {
-            // Ignore the status code when not supported
-        }
-        $info .= $this->session->getCurrentUrl().' | '.$driver." ]\n|\n";
-
-        return $info;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Exception/ResponseTextException.php b/core/vendor/behat/mink/src/Exception/ResponseTextException.php
deleted file mode 100644
index 145ed6d..0000000
--- a/core/vendor/behat/mink/src/Exception/ResponseTextException.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Exception;
-
-/**
- * Exception thrown when an expectation on the response text fails.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class ResponseTextException extends ExpectationException
-{
-    protected function getContext()
-    {
-        return $this->getSession()->getPage()->getText();
-    }
-}
diff --git a/core/vendor/behat/mink/src/Mink.php b/core/vendor/behat/mink/src/Mink.php
deleted file mode 100644
index d1621b1..0000000
--- a/core/vendor/behat/mink/src/Mink.php
+++ /dev/null
@@ -1,216 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-/**
- * Mink sessions manager.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Mink
-{
-    private $defaultSessionName;
-
-    /**
-     * Sessions.
-     *
-     * @var Session[]
-     */
-    private $sessions = array();
-
-    /**
-     * Initializes manager.
-     *
-     * @param Session[] $sessions
-     */
-    public function __construct(array $sessions = array())
-    {
-        foreach ($sessions as $name => $session) {
-            $this->registerSession($name, $session);
-        }
-    }
-
-    /**
-     * Stops all started sessions.
-     */
-    public function __destruct()
-    {
-        $this->stopSessions();
-    }
-
-    /**
-     * Registers new session.
-     *
-     * @param string  $name
-     * @param Session $session
-     */
-    public function registerSession($name, Session $session)
-    {
-        $name = strtolower($name);
-
-        $this->sessions[$name] = $session;
-    }
-
-    /**
-     * Checks whether session with specified name is registered.
-     *
-     * @param string $name
-     *
-     * @return Boolean
-     */
-    public function hasSession($name)
-    {
-        return isset($this->sessions[strtolower($name)]);
-    }
-
-    /**
-     * Sets default session name to use.
-     *
-     * @param string $name name of the registered session
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function setDefaultSessionName($name)
-    {
-        $name = strtolower($name);
-
-        if (!isset($this->sessions[$name])) {
-            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
-        }
-
-        $this->defaultSessionName = $name;
-    }
-
-    /**
-     * Returns default session name or null if none.
-     *
-     * @return null|string
-     */
-    public function getDefaultSessionName()
-    {
-        return $this->defaultSessionName;
-    }
-
-    /**
-     * Returns registered session by it's name or active one and automatically starts it if required.
-     *
-     * @param string $name session name
-     *
-     * @return Session
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    public function getSession($name = null)
-    {
-        $session = $this->locateSession($name);
-
-        // start session if needed
-        if (!$session->isStarted()) {
-            $session->start();
-        }
-
-        return $session;
-    }
-
-    /**
-     * Checks whether a named session (or the default session) has already been started
-     *
-     * @param string $name session name - if null then the default session will be checked
-     *
-     * @return bool whether the session has been started
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    public function isSessionStarted($name = null)
-    {
-        $session = $this->locateSession($name);
-
-        return $session->isStarted();
-    }
-
-    /**
-     * Returns session asserter.
-     *
-     * @param Session|string $session session object or name
-     *
-     * @return WebAssert
-     */
-    public function assertSession($session = null)
-    {
-        if (!($session instanceof Session)) {
-            $session = $this->getSession($session);
-        }
-
-        return new WebAssert($session);
-    }
-
-    /**
-     * Resets all started sessions.
-     */
-    public function resetSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->reset();
-            }
-        }
-    }
-
-    /**
-     * Restarts all started sessions.
-     */
-    public function restartSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->restart();
-            }
-        }
-    }
-
-    /**
-     * Stops all started sessions.
-     */
-    public function stopSessions()
-    {
-        foreach ($this->sessions as $session) {
-            if ($session->isStarted()) {
-                $session->stop();
-            }
-        }
-    }
-
-    /**
-     * Returns the named or default session without starting it.
-     *
-     * @param string $name session name
-     *
-     * @return Session
-     *
-     * @throws \InvalidArgumentException If the named session is not registered
-     */
-    protected function locateSession($name = null)
-    {
-        $name = strtolower($name) ?: $this->defaultSessionName;
-
-        if (null === $name) {
-            throw new \InvalidArgumentException('Specify session name to get');
-        }
-
-        if (!isset($this->sessions[$name])) {
-            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
-        }
-
-        $session = $this->sessions[$name];
-
-        return $session;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/NamedSelector.php b/core/vendor/behat/mink/src/Selector/NamedSelector.php
deleted file mode 100644
index 4845f99..0000000
--- a/core/vendor/behat/mink/src/Selector/NamedSelector.php
+++ /dev/null
@@ -1,238 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-/**
- * Named selectors engine. Uses registered XPath selectors to create new expressions.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class NamedSelector implements SelectorInterface
-{
-    private $replacements = array(
-        // simple replacements
-        '%lowercaseType%' => "translate(./@type, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
-        '%lowercaseRole%' => "translate(./@role, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
-        '%tagTextMatch%' => 'contains(normalize-space(string(.)), %locator%)',
-        '%labelTextMatch%' => './@id = //label[%tagTextMatch%]/@for',
-        '%idMatch%' => './@id = %locator%',
-        '%valueMatch%' => 'contains(./@value, %locator%)',
-        '%idOrValueMatch%' => '(%idMatch% or %valueMatch%)',
-        '%idOrNameMatch%' => '(%idMatch% or ./@name = %locator%)',
-        '%placeholderMatch%' => './@placeholder = %locator%',
-        '%titleMatch%' => 'contains(./@title, %locator%)',
-        '%altMatch%' => 'contains(./@alt, %locator%)',
-        '%relMatch%' => 'contains(./@rel, %locator%)',
-        '%labelAttributeMatch%' => 'contains(./@label, %locator%)',
-
-        // complex replacements
-        '%inputTypeWithoutPlaceholderFilter%' => "%lowercaseType% = 'radio' or %lowercaseType% = 'checkbox' or %lowercaseType% = 'file'",
-        '%fieldFilterWithPlaceholder%' => 'self::input[not(%inputTypeWithoutPlaceholderFilter%)] | self::textarea',
-        '%fieldMatchWithPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch% or %placeholderMatch%)',
-        '%fieldMatchWithoutPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch%)',
-        '%fieldFilterWithoutPlaceholder%' => 'self::input[%inputTypeWithoutPlaceholderFilter%] | self::select',
-        '%buttonTypeFilter%' => "%lowercaseType% = 'submit' or %lowercaseType% = 'image' or %lowercaseType% = 'button' or %lowercaseType% = 'reset'",
-        '%notFieldTypeFilter%' => "not(%buttonTypeFilter% or %lowercaseType% = 'hidden')",
-        '%buttonMatch%' => '%idOrNameMatch% or %valueMatch% or %titleMatch%',
-        '%linkMatch%' => '(%idMatch% or %tagTextMatch% or %titleMatch% or %relMatch%)',
-        '%imgAltMatch%' => './/img[%altMatch%]',
-    );
-
-    private $selectors = array(
-        'fieldset' => <<<XPATH
-.//fieldset
-[(%idMatch% or .//legend[%tagTextMatch%])]
-XPATH
-
-        ,'field' => <<<XPATH
-.//*
-[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//*[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%]
-|
-.//*
-[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//*[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%]
-XPATH
-
-        ,'link' => <<<XPATH
-.//a
-[./@href][(%linkMatch% or %imgAltMatch%)]
-|
-.//*
-[%lowercaseRole% = 'link'][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'button' => <<<XPATH
-.//input
-[%buttonTypeFilter%][(%buttonMatch%)]
-|
-.//input
-[%lowercaseType% = 'image'][%altMatch%]
-|
-.//button
-[(%buttonMatch% or %tagTextMatch%)]
-|
-.//*
-[%lowercaseRole% = 'button'][(%buttonMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'link_or_button' => <<<XPATH
-.//a
-[./@href][(%linkMatch% or %imgAltMatch%)]
-|
-.//input
-[%buttonTypeFilter%][(%idOrValueMatch% or %titleMatch%)]
-|
-.//input
-[%lowercaseType% = 'image'][%altMatch%]
-|
-.//button
-[(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-|
-.//*
-[(%lowercaseRole% = 'button' or %lowercaseRole% = 'link')][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
-XPATH
-
-        ,'content' => <<<XPATH
-./descendant-or-self::*
-[%tagTextMatch%]
-XPATH
-
-        ,'select' => <<<XPATH
-.//select
-[%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//select
-XPATH
-
-        ,'checkbox' => <<<XPATH
-.//input
-[%lowercaseType% = 'checkbox'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'checkbox']
-XPATH
-
-        ,'radio' => <<<XPATH
-.//input
-[%lowercaseType% = 'radio'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'radio']
-XPATH
-
-        ,'file' => <<<XPATH
-.//input
-[%lowercaseType% = 'file'][%fieldMatchWithoutPlaceholder%]
-|
-.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'file']
-XPATH
-
-        ,'optgroup' => <<<XPATH
-.//optgroup
-[%labelAttributeMatch%]
-XPATH
-
-        ,'option' => <<<XPATH
-.//option
-[(./@value = %locator% or %tagTextMatch%)]
-XPATH
-
-        ,'table' => <<<XPATH
-.//table
-[(%idMatch% or .//caption[%tagTextMatch%])]
-XPATH
-        ,'id' => <<<XPATH
-.//*[%idMatch%]
-XPATH
-    ,'id_or_name' => <<<XPATH
-.//*[%idOrNameMatch%]
-XPATH
-    );
-
-    /**
-     * Creates selector instance.
-     */
-    public function __construct()
-    {
-        foreach ($this->replacements as $from => $to) {
-            $this->replacements[$from] = strtr($to, $this->replacements);
-        }
-
-        foreach ($this->selectors as $alias => $selector) {
-            $this->selectors[$alias] = strtr($selector, $this->replacements);
-        }
-    }
-
-    /**
-     * Registers new XPath selector with specified name.
-     *
-     * @param string $name  name for selector
-     * @param string $xpath xpath expression
-     */
-    public function registerNamedXpath($name, $xpath)
-    {
-        $this->selectors[$name] = $xpath;
-    }
-
-    /**
-     * Translates provided locator into XPath.
-     *
-     * @param string|array $locator selector name or array of (selector_name, locator)
-     *
-     * @return string
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function translateToXPath($locator)
-    {
-        if (2 < count($locator)) {
-            throw new \InvalidArgumentException('NamedSelector expects array(name, locator) as argument');
-        }
-
-        if (2 == count($locator)) {
-            $selector   = $locator[0];
-            $locator    = $locator[1];
-        } else {
-            $selector   = (string) $locator;
-            $locator    = null;
-        }
-
-        if (!isset($this->selectors[$selector])) {
-            throw new \InvalidArgumentException(sprintf(
-                'Unknown named selector provided: "%s". Expected one of (%s)',
-                $selector,
-                implode(', ', array_keys($this->selectors))
-            ));
-        }
-
-        $xpath = $this->selectors[$selector];
-
-        if (null !== $locator) {
-            $xpath = strtr($xpath, array('%locator%' => $locator));
-        }
-
-        return $xpath;
-    }
-
-    /**
-     * Registers a replacement in the list of replacements
-     *
-     * This method must be called in the constructor before calling the parent constructor.
-     *
-     * @param string $from
-     * @param string $to
-     */
-    protected function registerReplacement($from, $to)
-    {
-        $this->replacements[$from] = $to;
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/SelectorsHandler.php b/core/vendor/behat/mink/src/Selector/SelectorsHandler.php
deleted file mode 100644
index a19de67..0000000
--- a/core/vendor/behat/mink/src/Selector/SelectorsHandler.php
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector;
-
-use Behat\Mink\Selector\Xpath\Escaper;
-
-/**
- * Selectors handler.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class SelectorsHandler
-{
-    private $selectors;
-    private $escaper;
-
-    /**
-     * Initializes selectors handler.
-     *
-     * @param SelectorInterface[] $selectors default selectors to register
-     */
-    public function __construct(array $selectors = array())
-    {
-        $this->escaper = new Escaper();
-
-        $this->registerSelector('named_partial', new PartialNamedSelector());
-        $this->registerSelector('named_exact', new ExactNamedSelector());
-        $this->registerSelector('css', new CssSelector());
-
-        foreach ($selectors as $name => $selector) {
-            $this->registerSelector($name, $selector);
-        }
-    }
-
-    /**
-     * Registers new selector engine with specified name.
-     *
-     * @param string            $name     selector engine name
-     * @param SelectorInterface $selector selector engine instance
-     */
-    public function registerSelector($name, SelectorInterface $selector)
-    {
-        $this->selectors[$name] = $selector;
-    }
-
-    /**
-     * Checks whether selector with specified name is registered on handler.
-     *
-     * @param string $name selector engine name
-     *
-     * @return Boolean
-     */
-    public function isSelectorRegistered($name)
-    {
-        return isset($this->selectors[$name]);
-    }
-
-    /**
-     * Returns selector engine with specified name.
-     *
-     * @param string $name selector engine name
-     *
-     * @return SelectorInterface
-     *
-     * @throws \InvalidArgumentException
-     */
-    public function getSelector($name)
-    {
-        if ('named' === $name) {
-            trigger_error(
-                'Using the "named" selector directly from the handler is deprecated as of 1.6 and will be removed in 2.0.'
-                .' Use the "named_partial" or use the "named" selector through the Element API instead.',
-                E_USER_DEPRECATED
-            );
-            $name = 'named_partial';
-        }
-
-        if (!$this->isSelectorRegistered($name)) {
-            throw new \InvalidArgumentException("Selector \"$name\" is not registered.");
-        }
-
-        return $this->selectors[$name];
-    }
-
-    /**
-     * Translates selector with specified name to XPath.
-     *
-     * @param string       $selector selector engine name (registered)
-     * @param string|array $locator  selector locator (an array or a string depending of the selector being used)
-     *
-     * @return string
-     */
-    public function selectorToXpath($selector, $locator)
-    {
-        if ('xpath' === $selector) {
-            if (!is_string($locator)) {
-                throw new \InvalidArgumentException('The xpath selector expects to get a string as locator');
-            }
-
-            return $locator;
-        }
-
-        return $this->getSelector($selector)->translateToXPath($locator);
-    }
-
-    /**
-     * Translates string to XPath literal.
-     *
-     * @param string $s
-     *
-     * @return string
-     */
-    public function xpathLiteral($s)
-    {
-        return $this->escaper->escapeLiteral($s);
-    }
-}
diff --git a/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php b/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php
deleted file mode 100644
index be35000..0000000
--- a/core/vendor/behat/mink/src/Selector/Xpath/Escaper.php
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink\Selector\Xpath;
-
-/**
- * XPath escaper.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Escaper
-{
-    /**
-     * Escapes the string as a XPath literal.
-     *
-     * @param string $s
-     *
-     * @return string
-     */
-    public function escapeLiteral($s)
-    {
-        if (false === strpos($s, "'")) {
-            return sprintf("'%s'", $s);
-        }
-
-        if (false === strpos($s, '"')) {
-            return sprintf('"%s"', $s);
-        }
-
-        $string = $s;
-        $parts = array();
-        while (true) {
-            if (false !== $pos = strpos($string, "'")) {
-                $parts[] = sprintf("'%s'", substr($string, 0, $pos));
-                $parts[] = "\"'\"";
-                $string = substr($string, $pos + 1);
-            } else {
-                $parts[] = "'$string'";
-                break;
-            }
-        }
-
-        return sprintf("concat(%s)", implode($parts, ','));
-    }
-}
diff --git a/core/vendor/behat/mink/src/Session.php b/core/vendor/behat/mink/src/Session.php
deleted file mode 100644
index c67f7f9..0000000
--- a/core/vendor/behat/mink/src/Session.php
+++ /dev/null
@@ -1,352 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Selector\SelectorsHandler;
-use Behat\Mink\Element\DocumentElement;
-
-/**
- * Mink session.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class Session
-{
-    private $driver;
-    private $page;
-    private $selectorsHandler;
-
-    /**
-     * Initializes session.
-     *
-     * @param DriverInterface  $driver
-     * @param SelectorsHandler $selectorsHandler
-     */
-    public function __construct(DriverInterface $driver, SelectorsHandler $selectorsHandler = null)
-    {
-        $driver->setSession($this);
-
-        if (null === $selectorsHandler) {
-            $selectorsHandler = new SelectorsHandler();
-        }
-
-        $this->driver           = $driver;
-        $this->selectorsHandler = $selectorsHandler;
-        $this->page             = new DocumentElement($this);
-    }
-
-    /**
-     * Checks whether session (driver) was started.
-     *
-     * @return Boolean
-     */
-    public function isStarted()
-    {
-        return $this->driver->isStarted();
-    }
-
-    /**
-     * Starts session driver.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     */
-    public function start()
-    {
-        $this->driver->start();
-    }
-
-    /**
-     * Stops session driver.
-     */
-    public function stop()
-    {
-        $this->driver->stop();
-    }
-
-    /**
-     * Restart session driver.
-     */
-    public function restart()
-    {
-        $this->driver->stop();
-        $this->driver->start();
-    }
-
-    /**
-     * Reset session driver state.
-     *
-     * Calling any action before visiting a page is an undefined behavior.
-     * The only supported method calls on a fresh driver are
-     * - visit()
-     * - setRequestHeader()
-     * - setBasicAuth()
-     * - reset()
-     * - stop()
-     */
-    public function reset()
-    {
-        $this->driver->reset();
-    }
-
-    /**
-     * Returns session driver.
-     *
-     * @return DriverInterface
-     */
-    public function getDriver()
-    {
-        return $this->driver;
-    }
-
-    /**
-     * Returns page element.
-     *
-     * @return DocumentElement
-     */
-    public function getPage()
-    {
-        return $this->page;
-    }
-
-    /**
-     * Returns selectors handler.
-     *
-     * @return SelectorsHandler
-     */
-    public function getSelectorsHandler()
-    {
-        return $this->selectorsHandler;
-    }
-
-    /**
-     * Visit specified URL.
-     *
-     * @param string $url url of the page
-     */
-    public function visit($url)
-    {
-        $this->driver->visit($url);
-    }
-
-    /**
-     * Sets HTTP Basic authentication parameters
-     *
-     * @param string|Boolean $user     user name or false to disable authentication
-     * @param string         $password password
-     */
-    public function setBasicAuth($user, $password = '')
-    {
-        $this->driver->setBasicAuth($user, $password);
-    }
-
-    /**
-     * Sets specific request header.
-     *
-     * @param string $name
-     * @param string $value
-     */
-    public function setRequestHeader($name, $value)
-    {
-        $this->driver->setRequestHeader($name, $value);
-    }
-
-    /**
-     * Returns all response headers.
-     *
-     * @return array
-     */
-    public function getResponseHeaders()
-    {
-        return $this->driver->getResponseHeaders();
-    }
-
-    /**
-     * Sets cookie.
-     *
-     * @param string $name
-     * @param string $value
-     */
-    public function setCookie($name, $value = null)
-    {
-        $this->driver->setCookie($name, $value);
-    }
-
-    /**
-     * Returns cookie by name.
-     *
-     * @param string $name
-     *
-     * @return string|null
-     */
-    public function getCookie($name)
-    {
-        return $this->driver->getCookie($name);
-    }
-
-    /**
-     * Returns response status code.
-     *
-     * @return integer
-     */
-    public function getStatusCode()
-    {
-        return $this->driver->getStatusCode();
-    }
-
-    /**
-     * Returns current URL address.
-     *
-     * @return string
-     */
-    public function getCurrentUrl()
-    {
-        return $this->driver->getCurrentUrl();
-    }
-
-    /**
-     * Capture a screenshot of the current window.
-     *
-     * @return string screenshot of MIME type image/* depending
-     *                on driver (e.g., image/png, image/jpeg)
-     */
-    public function getScreenshot()
-    {
-        return $this->driver->getScreenshot();
-    }
-
-    /**
-     * Return the names of all open windows
-     *
-     * @return array Array of all open window's names.
-     */
-    public function getWindowNames()
-    {
-        return $this->driver->getWindowNames();
-    }
-
-    /**
-     * Return the name of the currently active window
-     *
-     * @return string The name of the current window.
-     */
-    public function getWindowName()
-    {
-        return $this->driver->getWindowName();
-    }
-
-    /**
-     * Reloads current session page.
-     */
-    public function reload()
-    {
-        $this->driver->reload();
-    }
-
-    /**
-     * Moves backward 1 page in history.
-     */
-    public function back()
-    {
-        $this->driver->back();
-    }
-
-    /**
-     * Moves forward 1 page in history.
-     */
-    public function forward()
-    {
-        $this->driver->forward();
-    }
-
-    /**
-     * Switches to specific browser window.
-     *
-     * @param string $name window name (null for switching back to main window)
-     */
-    public function switchToWindow($name = null)
-    {
-        $this->driver->switchToWindow($name);
-    }
-
-    /**
-     * Switches to specific iFrame.
-     *
-     * @param string $name iframe name (null for switching back)
-     */
-    public function switchToIFrame($name = null)
-    {
-        $this->driver->switchToIFrame($name);
-    }
-
-    /**
-     * Execute JS in browser.
-     *
-     * @param string $script javascript
-     */
-    public function executeScript($script)
-    {
-        $this->driver->executeScript($script);
-    }
-
-    /**
-     * Execute JS in browser and return it's response.
-     *
-     * @param string $script javascript
-     *
-     * @return string
-     */
-    public function evaluateScript($script)
-    {
-        return $this->driver->evaluateScript($script);
-    }
-
-    /**
-     * Waits some time or until JS condition turns true.
-     *
-     * @param integer $time      time in milliseconds
-     * @param string  $condition JS condition
-     *
-     * @return boolean
-     */
-    public function wait($time, $condition = 'false')
-    {
-        return $this->driver->wait($time, $condition);
-    }
-
-    /**
-     * Set the dimensions of the window.
-     *
-     * @param integer $width  set the window width, measured in pixels
-     * @param integer $height set the window height, measured in pixels
-     * @param string  $name   window name (null for the main window)
-     */
-    public function resizeWindow($width, $height, $name = null)
-    {
-        $this->driver->resizeWindow($width, $height, $name);
-    }
-
-    /**
-     * Maximize the window if it is not maximized already
-     *
-     * @param string $name window name (null for the main window)
-     */
-    public function maximizeWindow($name = null)
-    {
-        $this->driver->maximizeWindow($name);
-    }
-}
diff --git a/core/vendor/behat/mink/src/WebAssert.php b/core/vendor/behat/mink/src/WebAssert.php
deleted file mode 100644
index 127c3c1..0000000
--- a/core/vendor/behat/mink/src/WebAssert.php
+++ /dev/null
@@ -1,749 +0,0 @@
-<?php
-
-/*
- * This file is part of the Mink package.
- * (c) Konstantin Kudryashov <ever.zet@gmail.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Behat\Mink;
-
-use Behat\Mink\Element\Element;
-use Behat\Mink\Element\ElementInterface;
-use Behat\Mink\Element\NodeElement;
-use Behat\Mink\Element\TraversableElement;
-use Behat\Mink\Exception\ElementNotFoundException;
-use Behat\Mink\Exception\ExpectationException;
-use Behat\Mink\Exception\ResponseTextException;
-use Behat\Mink\Exception\ElementHtmlException;
-use Behat\Mink\Exception\ElementTextException;
-
-/**
- * Mink web assertions tool.
- *
- * @author Konstantin Kudryashov <ever.zet@gmail.com>
- */
-class WebAssert
-{
-    protected $session;
-
-    /**
-     * Initializes assertion engine.
-     *
-     * @param Session $session
-     */
-    public function __construct(Session $session)
-    {
-        $this->session = $session;
-    }
-
-    /**
-     * Checks that current session address is equals to provided one.
-     *
-     * @param string $page
-     *
-     * @throws ExpectationException
-     */
-    public function addressEquals($page)
-    {
-        $expected = $this->cleanUrl($page);
-        $actual   = $this->getCurrentUrlPath();
-
-        $this->assert($actual === $expected, sprintf('Current page is "%s", but "%s" expected.', $actual, $expected));
-    }
-
-    /**
-     * Checks that current session address is not equals to provided one.
-     *
-     * @param string $page
-     *
-     * @throws ExpectationException
-     */
-    public function addressNotEquals($page)
-    {
-        $expected = $this->cleanUrl($page);
-        $actual   = $this->getCurrentUrlPath();
-
-        $this->assert($actual !== $expected, sprintf('Current page is "%s", but should not be.', $actual));
-    }
-
-    /**
-     * Checks that current session address matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ExpectationException
-     */
-    public function addressMatches($regex)
-    {
-        $actual = $this->getCurrentUrlPath();
-        $message = sprintf('Current page "%s" does not match the regex "%s".', $actual, $regex);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specified cookie exists and its value equals to a given one
-     *
-     * @param string $name  cookie name
-     * @param string $value cookie value
-     *
-     * @throws ExpectationException
-     */
-    public function cookieEquals($name, $value)
-    {
-        $this->cookieExists($name);
-
-        $actualValue = $this->session->getCookie($name);
-        $message = sprintf('Cookie "%s" value is "%s", but should be "%s".', $name, $actualValue, $value);
-
-        $this->assert($actualValue == $value, $message);
-    }
-
-    /**
-     * Checks that specified cookie exists
-     *
-     * @param string $name cookie name
-     *
-     * @throws ExpectationException
-     */
-    public function cookieExists($name)
-    {
-        $message = sprintf('Cookie "%s" is not set, but should be.', $name);
-        $this->assert($this->session->getCookie($name) !== null, $message);
-    }
-
-    /**
-     * Checks that current response code equals to provided one.
-     *
-     * @param integer $code
-     *
-     * @throws ExpectationException
-     */
-    public function statusCodeEquals($code)
-    {
-        $actual = $this->session->getStatusCode();
-        $message = sprintf('Current response status code is %d, but %d expected.', $actual, $code);
-
-        $this->assert(intval($code) === intval($actual), $message);
-    }
-
-    /**
-     * Checks that current response code not equals to provided one.
-     *
-     * @param integer $code
-     *
-     * @throws ExpectationException
-     */
-    public function statusCodeNotEquals($code)
-    {
-        $actual = $this->session->getStatusCode();
-        $message = sprintf('Current response status code is %d, but should not be.', $actual);
-
-        $this->assert(intval($code) !== intval($actual), $message);
-    }
-
-    /**
-     * Checks that current page contains text.
-     *
-     * @param string $text
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextContains($text)
-    {
-        $actual = $this->session->getPage()->getText();
-        $actual = preg_replace('/\s+/u', ' ', $actual);
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The text "%s" was not found anywhere in the text of the current page.', $text);
-
-        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page does not contains text.
-     *
-     * @param string $text
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextNotContains($text)
-    {
-        $actual = $this->session->getPage()->getText();
-        $actual = preg_replace('/\s+/u', ' ', $actual);
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The text "%s" appears in the text of this page, but it should not.', $text);
-
-        $this->assertResponseText(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page text matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextMatches($regex)
-    {
-        $actual = $this->session->getPage()->getText();
-        $message = sprintf('The pattern %s was not found anywhere in the text of the current page.', $regex);
-
-        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that current page text does not matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ResponseTextException
-     */
-    public function pageTextNotMatches($regex)
-    {
-        $actual = $this->session->getPage()->getText();
-        $message = sprintf('The pattern %s was found in the text of the current page, but it should not.', $regex);
-
-        $this->assertResponseText(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) contains text.
-     *
-     * @param string $text
-     *
-     * @throws ExpectationException
-     */
-    public function responseContains($text)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The string "%s" was not found anywhere in the HTML response of the current page.', $text);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) does not contains text.
-     *
-     * @param string $text
-     *
-     * @throws ExpectationException
-     */
-    public function responseNotContains($text)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $regex  = '/'.preg_quote($text, '/').'/ui';
-        $message = sprintf('The string "%s" appears in the HTML response of this page, but it should not.', $text);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) matches regex.
-     *
-     * @param string $regex
-     *
-     * @throws ExpectationException
-     */
-    public function responseMatches($regex)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $message = sprintf('The pattern %s was not found anywhere in the HTML response of the page.', $regex);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that page HTML (response content) does not matches regex.
-     *
-     * @param $regex
-     *
-     * @throws ExpectationException
-     */
-    public function responseNotMatches($regex)
-    {
-        $actual = $this->session->getPage()->getContent();
-        $message = sprintf('The pattern %s was found in the HTML response of the page, but it should not.', $regex);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that there is specified number of specific elements on the page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param integer          $count        expected count
-     * @param ElementInterface $container    document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function elementsCount($selectorType, $selector, $count, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $nodes = $container->findAll($selectorType, $selector);
-
-        $message = sprintf(
-            '%d %s found on the page, but should be %d.',
-            count($nodes),
-            $this->getMatchingElementRepresentation($selectorType, $selector, count($nodes) !== 1),
-            $count
-        );
-
-        $this->assert(intval($count) === count($nodes), $message);
-    }
-
-    /**
-     * Checks that specific element exists on the current page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param ElementInterface $container    document to check against
-     *
-     * @return NodeElement
-     *
-     * @throws ElementNotFoundException
-     */
-    public function elementExists($selectorType, $selector, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->find($selectorType, $selector);
-
-        if (null === $node) {
-            if (is_array($selector)) {
-                $selector = implode(' ', $selector);
-            }
-
-            throw new ElementNotFoundException($this->session, 'element', $selectorType, $selector);
-        }
-
-        return $node;
-    }
-
-    /**
-     * Checks that specific element does not exists on the current page.
-     *
-     * @param string           $selectorType element selector type (css, xpath)
-     * @param string|array     $selector     element selector
-     * @param ElementInterface $container    document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function elementNotExists($selectorType, $selector, ElementInterface $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->find($selectorType, $selector);
-
-        $message = sprintf(
-            'An %s appears on this page, but it should not.',
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assert(null === $node, $message);
-    }
-
-    /**
-     * Checks that specific element contains text.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $text         expected text
-     *
-     * @throws ElementTextException
-     */
-    public function elementTextContains($selectorType, $selector, $text)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getText();
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was not found in the text of the %s.',
-            $text,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElementText((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element does not contains text.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $text         expected text
-     *
-     * @throws ElementTextException
-     */
-    public function elementTextNotContains($selectorType, $selector, $text)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getText();
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" appears in the text of the %s, but it should not.',
-            $text,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElementText(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element contains HTML.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $html         expected text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementContains($selectorType, $selector, $html)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getHtml();
-        $regex   = '/'.preg_quote($html, '/').'/ui';
-
-        $message = sprintf(
-            'The string "%s" was not found in the HTML of the %s.',
-            $html,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific element does not contains HTML.
-     *
-     * @param string       $selectorType element selector type (css, xpath)
-     * @param string|array $selector     element selector
-     * @param string       $html         expected text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementNotContains($selectorType, $selector, $html)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-        $actual  = $element->getHtml();
-        $regex   = '/'.preg_quote($html, '/').'/ui';
-
-        $message = sprintf(
-            'The string "%s" appears in the HTML of the %s, but it should not.',
-            $html,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that an attribute exists in an element.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     *
-     * @return NodeElement
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeExists($selectorType, $selector, $attribute)
-    {
-        $element = $this->elementExists($selectorType, $selector);
-
-        $message = sprintf(
-            'The attribute "%s" was not found in the %s.',
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement($element->hasAttribute($attribute), $message, $element);
-
-        return $element;
-    }
-
-    /**
-     * Checks that an attribute of a specific elements contains text.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     * @param string       $text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeContains($selectorType, $selector, $attribute, $text)
-    {
-        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
-        $actual  = $element->getAttribute($attribute);
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was not found in the attribute "%s" of the %s.',
-            $text,
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that an attribute of a specific elements does not contain text.
-     *
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param string       $attribute
-     * @param string       $text
-     *
-     * @throws ElementHtmlException
-     */
-    public function elementAttributeNotContains($selectorType, $selector, $attribute, $text)
-    {
-        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
-        $actual  = $element->getAttribute($attribute);
-        $regex   = '/'.preg_quote($text, '/').'/ui';
-
-        $message = sprintf(
-            'The text "%s" was found in the attribute "%s" of the %s.',
-            $text,
-            $attribute,
-            $this->getMatchingElementRepresentation($selectorType, $selector)
-        );
-
-        $this->assertElement(!preg_match($regex, $actual), $message, $element);
-    }
-
-    /**
-     * Checks that specific field exists on the current page.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @return NodeElement
-     *
-     * @throws ElementNotFoundException
-     */
-    public function fieldExists($field, TraversableElement $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->findField($field);
-
-        if (null === $node) {
-            throw new ElementNotFoundException($this->session, 'form field', 'id|name|label|value', $field);
-        }
-
-        return $node;
-    }
-
-    /**
-     * Checks that specific field does not exists on the current page.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldNotExists($field, TraversableElement $container = null)
-    {
-        $container = $container ?: $this->session->getPage();
-        $node = $container->findField($field);
-
-        $this->assert(null === $node, sprintf('A field "%s" appears on this page, but it should not.', $field));
-    }
-
-    /**
-     * Checks that specific field have provided value.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param string             $value     field value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldValueEquals($field, $value, TraversableElement $container = null)
-    {
-        $node   = $this->fieldExists($field, $container);
-        $actual = $node->getValue();
-        $regex  = '/^'.preg_quote($value, '/').'$/ui';
-
-        $message = sprintf('The field "%s" value is "%s", but "%s" expected.', $field, $actual, $value);
-
-        $this->assert((bool) preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specific field have provided value.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param string             $value     field value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function fieldValueNotEquals($field, $value, TraversableElement $container = null)
-    {
-        $node   = $this->fieldExists($field, $container);
-        $actual = $node->getValue();
-        $regex  = '/^'.preg_quote($value, '/').'$/ui';
-
-        $message = sprintf('The field "%s" value is "%s", but it should not be.', $field, $actual);
-
-        $this->assert(!preg_match($regex, $actual), $message);
-    }
-
-    /**
-     * Checks that specific checkbox is checked.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function checkboxChecked($field, TraversableElement $container = null)
-    {
-        $node = $this->fieldExists($field, $container);
-
-        $this->assert($node->isChecked(), sprintf('Checkbox "%s" is not checked, but it should be.', $field));
-    }
-
-    /**
-     * Checks that specific checkbox is unchecked.
-     *
-     * @param string             $field     field id|name|label|value
-     * @param TraversableElement $container document to check against
-     *
-     * @throws ExpectationException
-     */
-    public function checkboxNotChecked($field, TraversableElement $container = null)
-    {
-        $node = $this->fieldExists($field, $container);
-
-        $this->assert(!$node->isChecked(), sprintf('Checkbox "%s" is checked, but it should not be.', $field));
-    }
-
-    /**
-     * Gets current url of the page.
-     *
-     * @return string
-     */
-    protected function getCurrentUrlPath()
-    {
-        return $this->cleanUrl($this->session->getCurrentUrl());
-    }
-
-    /**
-     * Trims scriptname from the URL.
-     *
-     * @param string $url
-     *
-     * @return string
-     */
-    protected function cleanUrl($url)
-    {
-        $parts = parse_url($url);
-        $fragment = empty($parts['fragment']) ? '' : '#'.$parts['fragment'];
-        $path = empty($parts['path']) ? '/' : $parts['path'];
-
-        return preg_replace('/^\/[^\.\/]+\.php/', '', $path).$fragment;
-    }
-
-    /**
-     * Asserts a condition.
-     *
-     * @param bool   $condition
-     * @param string $message   Failure message
-     *
-     * @throws ExpectationException when the condition is not fulfilled
-     */
-    private function assert($condition, $message)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ExpectationException($message, $this->session);
-    }
-
-    /**
-     * Asserts a condition involving the response text.
-     *
-     * @param bool   $condition
-     * @param string $message   Failure message
-     *
-     * @throws ResponseTextException when the condition is not fulfilled
-     */
-    private function assertResponseText($condition, $message)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ResponseTextException($message, $this->session);
-    }
-
-    /**
-     * Asserts a condition on an element.
-     *
-     * @param bool    $condition
-     * @param string  $message   Failure message
-     * @param Element $element
-     *
-     * @throws ElementHtmlException when the condition is not fulfilled
-     */
-    private function assertElement($condition, $message, Element $element)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ElementHtmlException($message, $this->session, $element);
-    }
-
-    /**
-     * Asserts a condition involving the text of an element.
-     *
-     * @param bool    $condition
-     * @param string  $message   Failure message
-     * @param Element $element
-     *
-     * @throws ElementTextException when the condition is not fulfilled
-     */
-    private function assertElementText($condition, $message, Element $element)
-    {
-        if ($condition) {
-            return;
-        }
-
-        throw new ElementTextException($message, $this->session, $element);
-    }
-
-    /**
-     * @param string       $selectorType
-     * @param string|array $selector
-     * @param boolean      $plural
-     *
-     * @return string
-     */
-    private function getMatchingElementRepresentation($selectorType, $selector, $plural = false)
-    {
-        $pluralization = $plural ? 's' : '';
-
-        if (in_array($selectorType, array('named', 'named_exact', 'named_partial'))
-            && is_array($selector) && 2 === count($selector)
-        ) {
-            return sprintf('%s%s matching locator "%s"', $selector[0], $pluralization, $selector[1]);
-        }
-
-        if (is_array($selector)) {
-            $selector = implode(' ', $selector);
-        }
-
-        return sprintf('element%s matching %s "%s"', $pluralization, $selectorType, $selector);
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php b/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php
deleted file mode 100644
index d99b17f..0000000
--- a/core/vendor/behat/mink/tests/Driver/CoreDriverTest.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Driver;
-
-class CoreDriverTest extends \PHPUnit_Framework_TestCase
-{
-    public function testNoExtraMethods()
-    {
-        $interfaceRef = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
-        $coreDriverRef = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
-
-        foreach ($coreDriverRef->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) {
-            $this->assertTrue(
-                $interfaceRef->hasMethod($method->getName()),
-                sprintf('CoreDriver should not implement methods which are not part of the DriverInterface but %s found', $method->getName())
-            );
-        }
-    }
-
-    /**
-     * @dataProvider getDriverInterfaceMethods
-     */
-    public function testInterfaceMethods(\ReflectionMethod $method)
-    {
-        $refl = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
-
-        $this->assertFalse(
-            $refl->getMethod($method->getName())->isAbstract(),
-            sprintf('CoreDriver should implement a dummy %s method', $method->getName())
-        );
-
-        $driver = $this->getMockForAbstractClass('Behat\Mink\Driver\CoreDriver');
-
-        $this->setExpectedException('Behat\Mink\Exception\UnsupportedDriverActionException');
-        call_user_func_array(array($driver, $method->getName()), $this->getArguments($method));
-    }
-
-    public function getDriverInterfaceMethods()
-    {
-        $ref = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
-
-        return array_map(function ($method) {
-            return array($method);
-        }, $ref->getMethods());
-    }
-
-    private function getArguments(\ReflectionMethod $method)
-    {
-        $arguments = array();
-
-        foreach ($method->getParameters() as $parameter) {
-            $arguments[] = $this->getArgument($parameter);
-        }
-
-        return $arguments;
-    }
-
-    private function getArgument(\ReflectionParameter $argument)
-    {
-        if ($argument->isOptional()) {
-            return $argument->getDefaultValue();
-        }
-
-        if ($argument->allowsNull()) {
-            return null;
-        }
-
-        if ($argument->getClass()) {
-            return $this->getMockBuilder($argument->getClass()->getName())
-                ->disableOriginalConstructor()
-                ->getMock();
-        }
-
-        return null;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/DocumentElementTest.php b/core/vendor/behat/mink/tests/Element/DocumentElementTest.php
deleted file mode 100644
index bacd06d..0000000
--- a/core/vendor/behat/mink/tests/Element/DocumentElementTest.php
+++ /dev/null
@@ -1,446 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Element\DocumentElement;
-
-class DocumentElementTest extends ElementTest
-{
-    /**
-     * Page.
-     *
-     * @var DocumentElement
-     */
-    private $document;
-
-    protected function setUp()
-    {
-        parent::setUp();
-        $this->document = new DocumentElement($this->session);
-    }
-
-    public function testGetSession()
-    {
-        $this->assertEquals($this->session, $this->document->getSession());
-    }
-
-    public function testFindAll()
-    {
-        $xpath = 'h3[a]';
-        $css = 'h3 > a';
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array('//html/'.$xpath, array(2, 3, 4)),
-                array('//html/'.$css, array(1, 2)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-                array('css', $css, $css),
-            )));
-
-        $this->assertEquals(3, count($this->document->findAll('xpath', $xpath)));
-        $this->assertEquals(2, count($this->document->findAll('css', $css)));
-    }
-
-    public function testFind()
-    {
-        $this->driver
-            ->expects($this->exactly(3))
-            ->method('find')
-            ->with('//html/h3[a]')
-            ->will($this->onConsecutiveCalls(array(2, 3, 4), array(1, 2), array()));
-
-        $xpath = 'h3[a]';
-        $css = 'h3 > a';
-
-        $this->selectors
-            ->expects($this->exactly(3))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-                array('xpath', $xpath, $xpath),
-                array('css', $css, $xpath),
-            )));
-
-        $this->assertEquals(2, $this->document->find('xpath', $xpath));
-        $this->assertEquals(1, $this->document->find('css', $css));
-        $this->assertNull($this->document->find('xpath', $xpath));
-    }
-
-    public function testFindField()
-    {
-        $this->mockNamedFinder(
-            '//field',
-            array('field1', 'field2', 'field3'),
-            array('field', 'some field')
-        );
-
-        $this->assertEquals('field1', $this->document->findField('some field'));
-        $this->assertEquals(null, $this->document->findField('some field'));
-    }
-
-    public function testFindLink()
-    {
-        $this->mockNamedFinder(
-            '//link',
-            array('link1', 'link2', 'link3'),
-            array('link', 'some link')
-        );
-
-        $this->assertEquals('link1', $this->document->findLink('some link'));
-        $this->assertEquals(null, $this->document->findLink('some link'));
-    }
-
-    public function testFindButton()
-    {
-        $this->mockNamedFinder(
-            '//button',
-            array('button1', 'button2', 'button3'),
-            array('button', 'some button')
-        );
-
-        $this->assertEquals('button1', $this->document->findButton('some button'));
-        $this->assertEquals(null, $this->document->findButton('some button'));
-    }
-
-    public function testFindById()
-    {
-        $xpath = '//*[@id=some-item-2]';
-
-        $this->mockNamedFinder($xpath, array(array('id2', 'id3'), array()), array('id', 'some-item-2'));
-
-        $this->assertEquals('id2', $this->document->findById('some-item-2'));
-        $this->assertEquals(null, $this->document->findById('some-item-2'));
-    }
-
-    public function testHasSelector()
-    {
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('//html/some xpath')
-            ->will($this->onConsecutiveCalls(array('id2', 'id3'), array()));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->with('xpath', 'some xpath')
-            ->will($this->returnValue('some xpath'));
-
-        $this->assertTrue($this->document->has('xpath', 'some xpath'));
-        $this->assertFalse($this->document->has('xpath', 'some xpath'));
-    }
-
-    public function testHasContent()
-    {
-        $this->mockNamedFinder(
-            '//some content',
-            array('item1', 'item2'),
-            array('content', 'some content')
-        );
-
-        $this->assertTrue($this->document->hasContent('some content'));
-        $this->assertFalse($this->document->hasContent('some content'));
-    }
-
-    public function testHasLink()
-    {
-        $this->mockNamedFinder(
-            '//link',
-            array('link1', 'link2', 'link3'),
-            array('link', 'some link')
-        );
-
-        $this->assertTrue($this->document->hasLink('some link'));
-        $this->assertFalse($this->document->hasLink('some link'));
-    }
-
-    public function testHasButton()
-    {
-        $this->mockNamedFinder(
-            '//button',
-            array('button1', 'button2', 'button3'),
-            array('button', 'some button')
-        );
-
-        $this->assertTrue($this->document->hasButton('some button'));
-        $this->assertFalse($this->document->hasButton('some button'));
-    }
-
-    public function testHasField()
-    {
-        $this->mockNamedFinder(
-            '//field',
-            array('field1', 'field2', 'field3'),
-            array('field', 'some field')
-        );
-
-        $this->assertTrue($this->document->hasField('some field'));
-        $this->assertFalse($this->document->hasField('some field'));
-    }
-
-    public function testHasCheckedField()
-    {
-        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $checkbox
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->mockNamedFinder(
-            '//field',
-            array(array($checkbox), array(), array($checkbox)),
-            array('field', 'some checkbox'),
-            3
-        );
-
-        $this->assertTrue($this->document->hasCheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
-    }
-
-    public function testHasUncheckedField()
-    {
-        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $checkbox
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->mockNamedFinder(
-            '//field',
-            array(array($checkbox), array(), array($checkbox)),
-            array('field', 'some checkbox'),
-            3
-        );
-
-        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
-        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
-        $this->assertTrue($this->document->hasUncheckedField('some checkbox'));
-    }
-
-    public function testHasSelect()
-    {
-        $this->mockNamedFinder(
-            '//select',
-            array('select'),
-            array('select', 'some select field')
-        );
-
-        $this->assertTrue($this->document->hasSelect('some select field'));
-        $this->assertFalse($this->document->hasSelect('some select field'));
-    }
-
-    public function testHasTable()
-    {
-        $this->mockNamedFinder(
-            '//table',
-            array('table'),
-            array('table', 'some table')
-        );
-
-        $this->assertTrue($this->document->hasTable('some table'));
-        $this->assertFalse($this->document->hasTable('some table'));
-    }
-
-    public function testClickLink()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('click');
-
-        $this->mockNamedFinder(
-            '//link',
-            array($node),
-            array('link', 'some link')
-        );
-
-        $this->document->clickLink('some link');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->clickLink('some link');
-    }
-
-    public function testClickButton()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('press');
-
-        $this->mockNamedFinder(
-            '//button',
-            array($node),
-            array('button', 'some button')
-        );
-
-        $this->document->pressButton('some button');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->pressButton('some button');
-    }
-
-    public function testFillField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('setValue')
-            ->with('some val');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->fillField('some field', 'some val');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->fillField('some field', 'some val');
-    }
-
-    public function testCheckField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('check');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->checkField('some field');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->checkField('some field');
-    }
-
-    public function testUncheckField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('uncheck');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->uncheckField('some field');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->uncheckField('some field');
-    }
-
-    public function testSelectField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('option2');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->selectFieldOption('some field', 'option2');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->selectFieldOption('some field', 'option2');
-    }
-
-    public function testAttachFileToField()
-    {
-        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $node
-            ->expects($this->once())
-            ->method('attachFile')
-            ->with('/path/to/file');
-
-        $this->mockNamedFinder(
-            '//field',
-            array($node),
-            array('field', 'some field')
-        );
-
-        $this->document->attachFileToField('some field', '/path/to/file');
-        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
-        $this->document->attachFileToField('some field', '/path/to/file');
-    }
-
-    public function testGetContent()
-    {
-        $expects = 'page content';
-        $this->driver
-            ->expects($this->once())
-            ->method('getContent')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getContent());
-    }
-
-    public function testGetText()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getText')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getText());
-    }
-
-    public function testGetHtml()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getHtml')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getHtml());
-    }
-
-    public function testGetOuterHtml()
-    {
-        $expects = 'val1';
-        $this->driver
-            ->expects($this->once())
-            ->method('getOuterHtml')
-            ->with('//html')
-            ->will($this->returnValue($expects));
-
-        $this->assertEquals($expects, $this->document->getOuterHtml());
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/ElementTest.php b/core/vendor/behat/mink/tests/Element/ElementTest.php
deleted file mode 100644
index a8c8a8c..0000000
--- a/core/vendor/behat/mink/tests/Element/ElementTest.php
+++ /dev/null
@@ -1,76 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Driver\DriverInterface;
-use Behat\Mink\Session;
-use Behat\Mink\Selector\SelectorsHandler;
-
-abstract class ElementTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * Session.
-     *
-     * @var Session
-     */
-    protected $session;
-
-    /**
-     * @var DriverInterface|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $driver;
-
-    /**
-     * Selectors.
-     *
-     * @var SelectorsHandler|\PHPUnit_Framework_MockObject_MockObject
-     */
-    protected $selectors;
-
-    protected function setUp()
-    {
-        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
-        $this->driver
-            ->expects($this->once())
-            ->method('setSession');
-
-        $this->selectors = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
-        $this->session = new Session($this->driver, $this->selectors);
-
-        $this->selectors
-            ->expects($this->any())
-            ->method('xpathLiteral')
-            ->will($this->returnArgument(0));
-    }
-
-    protected function mockNamedFinder($xpath, array $results, $locator, $times = 2)
-    {
-        if (!is_array($results[0])) {
-            $results = array($results, array());
-        }
-
-        // In case of empty results, a second call will be done using the partial selector
-        $processedResults = array();
-        foreach ($results as $result) {
-            $processedResults[] = $result;
-            if (empty($result)) {
-                $processedResults[] = $result;
-                $times++;
-            }
-        }
-
-        $returnValue = call_user_func_array(array($this, 'onConsecutiveCalls'), $processedResults);
-
-        $this->driver
-            ->expects($this->exactly($times))
-            ->method('find')
-            ->with('//html'.$xpath)
-            ->will($returnValue);
-
-        $this->selectors
-            ->expects($this->exactly($times))
-            ->method('selectorToXpath')
-            ->with($this->logicalOr('named_exact', 'named_partial'), $locator)
-            ->will($this->returnValue($xpath));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Element/NodeElementTest.php b/core/vendor/behat/mink/tests/Element/NodeElementTest.php
deleted file mode 100644
index b6a8bde..0000000
--- a/core/vendor/behat/mink/tests/Element/NodeElementTest.php
+++ /dev/null
@@ -1,593 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Element;
-
-use Behat\Mink\Element\NodeElement;
-
-class NodeElementTest extends ElementTest
-{
-    public function testGetXpath()
-    {
-        $node = new NodeElement('some custom xpath', $this->session);
-
-        $this->assertEquals('some custom xpath', $node->getXpath());
-        $this->assertNotEquals('not some custom xpath', $node->getXpath());
-    }
-
-    public function testGetText()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('text_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getText')
-            ->with('text_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getText());
-    }
-
-    public function testGetOuterHtml()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('text_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getOuterHtml')
-            ->with('text_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getOuterHtml());
-    }
-
-    public function testElementIsValid()
-    {
-        $elementXpath = 'some xpath';
-        $node = new NodeElement($elementXpath, $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with($elementXpath)
-            ->will($this->returnValue(array($elementXpath)));
-
-        $this->assertTrue($node->isValid());
-    }
-
-    public function testElementIsNotValid()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('some xpath')
-            ->will($this->onConsecutiveCalls(array(), array('xpath1', 'xpath2')));
-
-        $this->assertFalse($node->isValid(), 'no elements found is invalid element');
-        $this->assertFalse($node->isValid(), 'more then 1 element found is invalid element');
-    }
-
-    public function testWaitForSuccess()
-    {
-        $callCounter = 0;
-        $node = new NodeElement('some xpath', $this->session);
-
-        $result = $node->waitFor(5, function ($givenNode) use (&$callCounter) {
-            $callCounter++;
-
-            if (1 === $callCounter) {
-                return null;
-            } elseif (2 === $callCounter) {
-                return false;
-            } elseif (3 === $callCounter) {
-                return array();
-            }
-
-            return $givenNode;
-        });
-
-        $this->assertEquals(4, $callCounter, '->waitFor() tries to locate element several times before failing');
-        $this->assertSame($node, $result, '->waitFor() returns node found in callback');
-    }
-
-    public function testWaitForTimeout()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-
-        $expectedTimeout = 2;
-        $startTime = microtime(true);
-        $result = $node->waitFor($expectedTimeout, function () {
-            return null;
-        });
-        $endTime = microtime(true);
-
-        $this->assertNull($result, '->waitFor() returns whatever callback gives');
-        $this->assertEquals($expectedTimeout, round($endTime - $startTime));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testWaitForFailure()
-    {
-        $node = new NodeElement('some xpath', $this->session);
-        $node->waitFor(5, 'not a callable');
-    }
-
-    public function testHasAttribute()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('input_tag', 'href')
-            ->will($this->onConsecutiveCalls(null, 'http://...'));
-
-        $this->assertFalse($node->hasAttribute('href'));
-        $this->assertTrue($node->hasAttribute('href'));
-    }
-
-    public function testGetAttribute()
-    {
-        $expected = 'http://...';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getAttribute')
-            ->with('input_tag', 'href')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getAttribute('href'));
-    }
-
-    public function testHasClass()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(6))
-            ->method('getAttribute')
-            ->with('input_tag', 'class')
-            ->will($this->returnValue('class1 class2'));
-
-        $this->assertTrue($node->hasClass('class1'));
-        $this->assertTrue($node->hasClass('class2'));
-        $this->assertFalse($node->hasClass('class3'));
-    }
-
-    public function testHasClassWithoutArgument()
-    {
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getAttribute')
-            ->with('input_tag', 'class')
-            ->will($this->returnValue(null));
-
-        $this->assertFalse($node->hasClass('class3'));
-    }
-
-    public function testGetValue()
-    {
-        $expected = 'val1';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getValue')
-            ->with('input_tag')
-            ->will($this->returnValue($expected));
-
-        $this->assertEquals($expected, $node->getValue());
-    }
-
-    public function testSetValue()
-    {
-        $expected = 'new_val';
-        $node = new NodeElement('input_tag', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('setValue')
-            ->with('input_tag', $expected);
-
-        $node->setValue($expected);
-    }
-
-    public function testClick()
-    {
-        $node = new NodeElement('link_or_button', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('click')
-            ->with('link_or_button');
-
-        $node->click();
-    }
-
-    public function testPress()
-    {
-        $node = new NodeElement('link_or_button', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('click')
-            ->with('link_or_button');
-
-        $node->press();
-    }
-
-    public function testRightClick()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('rightClick')
-            ->with('elem');
-
-        $node->rightClick();
-    }
-
-    public function testDoubleClick()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('doubleClick')
-            ->with('elem');
-
-        $node->doubleClick();
-    }
-
-    public function testCheck()
-    {
-        $node = new NodeElement('checkbox_or_radio', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('check')
-            ->with('checkbox_or_radio');
-
-        $node->check();
-    }
-
-    public function testUncheck()
-    {
-        $node = new NodeElement('checkbox_or_radio', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('uncheck')
-            ->with('checkbox_or_radio');
-
-        $node->uncheck();
-    }
-
-    public function testSelectOption()
-    {
-        $node = new NodeElement('select', $this->session);
-        $option = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $option
-            ->expects($this->once())
-            ->method('getValue')
-            ->will($this->returnValue('item1'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('select')
-            ->will($this->returnValue('select'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with('select/option')
-            ->will($this->returnValue(array($option)));
-
-        $this->selectors
-            ->expects($this->once())
-            ->method('selectorToXpath')
-            ->with('named_exact', array('option', 'item1'))
-            ->will($this->returnValue('option'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('select', 'item1', false);
-
-        $node->selectOption('item1');
-    }
-
-    /**
-     * @expectedException \Behat\Mink\Exception\ElementNotFoundException
-     */
-    public function testSelectOptionNotFound()
-    {
-        $node = new NodeElement('select', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('select')
-            ->will($this->returnValue('select'));
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('select/option')
-            ->will($this->returnValue(array()));
-
-        $this->selectors
-            ->expects($this->exactly(2))
-            ->method('selectorToXpath')
-            ->with($this->logicalOr('named_exact', 'named_partial'), array('option', 'item1'))
-            ->will($this->returnValue('option'));
-
-        $node->selectOption('item1');
-    }
-
-    public function testSelectOptionOtherTag()
-    {
-        $node = new NodeElement('div', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('div')
-            ->will($this->returnValue('div'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('selectOption')
-            ->with('div', 'item1', false);
-
-        $node->selectOption('item1');
-    }
-
-    public function testGetTagName()
-    {
-        $node = new NodeElement('html//h3', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('getTagName')
-            ->with('html//h3')
-            ->will($this->returnValue('h3'));
-
-        $this->assertEquals('h3', $node->getTagName());
-    }
-
-    public function testGetParent()
-    {
-        $node = new NodeElement('elem', $this->session);
-        $parent = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $this->driver
-            ->expects($this->once())
-            ->method('find')
-            ->with('elem/..')
-            ->will($this->returnValue(array($parent)));
-
-        $this->selectors
-            ->expects($this->once())
-            ->method('selectorToXpath')
-            ->with('xpath', '..')
-            ->will($this->returnValue('..'));
-
-        $this->assertSame($parent, $node->getParent());
-    }
-
-    public function testAttachFile()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('attachFile')
-            ->with('elem', 'path');
-
-        $node->attachFile('path');
-    }
-
-    public function testIsVisible()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isVisible')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isVisible());
-        $this->assertFalse($node->isVisible());
-    }
-
-    public function testIsChecked()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isChecked());
-        $this->assertFalse($node->isChecked());
-    }
-
-    public function testIsSelected()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->exactly(2))
-            ->method('isSelected')
-            ->with('some_xpath')
-            ->will($this->onConsecutiveCalls(true, false));
-
-        $this->assertTrue($node->isSelected());
-        $this->assertFalse($node->isSelected());
-    }
-
-    public function testFocus()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('focus')
-            ->with('some-element');
-
-        $node->focus();
-    }
-
-    public function testBlur()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('blur')
-            ->with('some-element');
-
-        $node->blur();
-    }
-
-    public function testMouseOver()
-    {
-        $node = new NodeElement('some-element', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('mouseOver')
-            ->with('some-element');
-
-        $node->mouseOver();
-    }
-
-    public function testDragTo()
-    {
-        $node = new NodeElement('some_tag1', $this->session);
-
-        $target = $this->getMock('Behat\Mink\Element\ElementInterface');
-        $target->expects($this->any())
-            ->method('getXPath')
-            ->will($this->returnValue('some_tag2'));
-
-        $this->driver
-            ->expects($this->once())
-            ->method('dragTo')
-            ->with('some_tag1', 'some_tag2');
-
-        $node->dragTo($target);
-    }
-
-    public function testKeyPress()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyPress')
-            ->with('elem', 'key');
-
-        $node->keyPress('key');
-    }
-
-    public function testKeyDown()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyDown')
-            ->with('elem', 'key');
-
-        $node->keyDown('key');
-    }
-
-    public function testKeyUp()
-    {
-        $node = new NodeElement('elem', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('keyUp')
-            ->with('elem', 'key');
-
-        $node->keyUp('key');
-    }
-
-    public function testSubmitForm()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-
-        $this->driver
-            ->expects($this->once())
-            ->method('submitForm')
-            ->with('some_xpath');
-
-        $node->submit();
-    }
-
-    public function testFindAllUnion()
-    {
-        $node = new NodeElement('some_xpath', $this->session);
-        $xpath = "some_tag1 | some_tag2[@foo =\n 'bar|'']\n | some_tag3[foo | bar]";
-        $expected = "some_xpath/some_tag1 | some_xpath/some_tag2[@foo =\n 'bar|''] | some_xpath/some_tag3[foo | bar]";
-
-        $this->driver
-            ->expects($this->exactly(1))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array($expected, array(2, 3, 4)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(1))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-            )));
-
-        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
-    }
-
-    public function testFindAllParentUnion()
-    {
-        $node = new NodeElement('some_xpath | another_xpath', $this->session);
-        $xpath = "some_tag1 | some_tag2";
-        $expectedPrefixed = "(some_xpath | another_xpath)/some_tag1 | (some_xpath | another_xpath)/some_tag2";
-
-        $this->driver
-            ->expects($this->exactly(1))
-            ->method('find')
-            ->will($this->returnValueMap(array(
-                array($expectedPrefixed, array(2, 3, 4)),
-            )));
-
-        $this->selectors
-            ->expects($this->exactly(1))
-            ->method('selectorToXpath')
-            ->will($this->returnValueMap(array(
-                array('xpath', $xpath, $xpath),
-            )));
-
-        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
deleted file mode 100644
index 021e8d5..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementException;
-
-class ElementExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testMessage()
-    {
-        $exception = new ElementException($this->getElementMock(), new \Exception('Something went wrong'));
-
-        $expectedMessage = "Exception thrown by element XPath\nSomething went wrong";
-        $this->assertEquals($expectedMessage, $exception->getMessage());
-        $this->assertEquals($expectedMessage, (string) $exception);
-    }
-
-    public function testElement()
-    {
-        $element = $this->getElementMock();
-
-        $exception = new ElementException($element, new \Exception('Something went wrong'));
-
-        $this->assertSame($element, $exception->getElement());
-    }
-
-    private function getElementMock()
-    {
-        $mock = $this->getMockBuilder('Behat\Mink\Element\Element')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $mock->expects($this->any())
-            ->method('getXPath')
-            ->will($this->returnValue('element XPath'));
-
-        return $mock;
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
deleted file mode 100644
index 63d39dd..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementHtmlException;
-
-class ElementHtmlExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $element = $this->getElementMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $element->expects($this->any())
-            ->method('getOuterHtml')
-            ->will($this->returnValue("<div>\n    <h1>Hello world</h1>\n    <p>Test</p>\n</div>"));
-
-        $expected = <<<'TXT'
-Html error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <div>
-|      <h1>Hello world</h1>
-|      <p>Test</p>
-|  </div>
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ElementHtmlException('Html error', $session, $element);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getElementMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
deleted file mode 100644
index 8cb4e5d..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementNotFoundException;
-
-class ElementNotFoundExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @dataProvider provideExceptionMessage
-     */
-    public function testBuildMessage($message, $type, $selector = null, $locator = null)
-    {
-        $session = $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-
-        $exception = new ElementNotFoundException($session, $type, $selector, $locator);
-
-        $this->assertEquals($message, $exception->getMessage());
-    }
-
-    public function provideExceptionMessage()
-    {
-        return array(
-            array('Tag not found.', null),
-            array('Field not found.', 'field'),
-            array('Tag matching locator "foobar" not found.', null, null, 'foobar'),
-            array('Tag matching css "foobar" not found.', null, 'css', 'foobar'),
-            array('Field matching xpath "foobar" not found.', 'Field', 'xpath', 'foobar'),
-            array('Tag with name "foobar" not found.', null, 'name', 'foobar'),
-        );
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
deleted file mode 100644
index 73cef5b..0000000
--- a/core/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ElementTextException;
-
-class ElementTextExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $element = $this->getElementMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $element->expects($this->any())
-            ->method('getText')
-            ->will($this->returnValue("Hello world\nTest\n"));
-
-        $expected = <<<'TXT'
-Text error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  Hello world
-|  Test
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ElementTextException('Text error', $session, $element);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getElementMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
deleted file mode 100644
index 466bcca..0000000
--- a/core/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
+++ /dev/null
@@ -1,126 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ExpectationException;
-
-class ExpectationExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testEmptyMessageAndPreviousException()
-    {
-        $exception = new ExpectationException('', $this->getSessionMock(), new \Exception('Something failed'));
-
-        $this->assertEquals('Something failed', $exception->getMessage());
-    }
-
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $html = "<html><head><title>Hello</title></head>\n<body>\n<h1>Hello world</h1>\n<p>Test</p>\n</body></html>";
-        $page->expects($this->any())
-            ->method('getContent')
-            ->will($this->returnValue($html));
-
-        $expected = <<<'TXT'
-Expectation failure
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <body>
-|  <h1>Hello world</h1>
-|  <p>Test</p>
-|  </body>
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    public function testBigContent()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $body = str_repeat('a', 1001 - strlen('<body></body>'));
-
-        $html = sprintf("<html><head><title>Hello</title></head>\n<body>%s</body></html>", $body);
-        $page->expects($this->any())
-            ->method('getContent')
-            ->will($this->returnValue($html));
-
-        $expected = <<<'TXT'
-Expectation failure
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  <body>%s</b...
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver), $body);
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    public function testExceptionWhileRenderingString()
-    {
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->throwException(new \Exception('Broken page')));
-
-        $exception = new ExpectationException('Expectation failure', $session);
-
-        $this->assertEquals('Expectation failure', $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getPageMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php b/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
deleted file mode 100644
index 4651b7c..0000000
--- a/core/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
+++ /dev/null
@@ -1,62 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Exception;
-
-use Behat\Mink\Exception\ResponseTextException;
-
-class ResponseTextExceptionTest extends \PHPUnit_Framework_TestCase
-{
-    public function testExceptionToString()
-    {
-        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
-        $page = $this->getPageMock();
-
-        $session = $this->getSessionMock();
-        $session->expects($this->any())
-            ->method('getDriver')
-            ->will($this->returnValue($driver));
-        $session->expects($this->any())
-            ->method('getPage')
-            ->will($this->returnValue($page));
-        $session->expects($this->any())
-            ->method('getStatusCode')
-            ->will($this->returnValue(200));
-        $session->expects($this->any())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://localhost/test'));
-
-        $page->expects($this->any())
-            ->method('getText')
-            ->will($this->returnValue("Hello world\nTest\n"));
-
-        $expected = <<<'TXT'
-Text error
-
-+--[ HTTP/1.1 200 | http://localhost/test | %s ]
-|
-|  Hello world
-|  Test
-|
-TXT;
-
-        $expected = sprintf($expected.'  ', get_class($driver));
-
-        $exception = new ResponseTextException('Text error', $session);
-
-        $this->assertEquals($expected, $exception->__toString());
-    }
-
-    private function getSessionMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-
-    private function getPageMock()
-    {
-        return $this->getMockBuilder('Behat\Mink\Element\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock();
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php b/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
deleted file mode 100644
index e0de1bc..0000000
--- a/core/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
+++ /dev/null
@@ -1,158 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\NamedSelector;
-use Behat\Mink\Selector\SelectorsHandler;
-
-abstract class NamedSelectorTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterXpath()
-    {
-        $selector = $this->getSelector();
-
-        $selector->registerNamedXpath('some', 'my_xpath');
-        $this->assertEquals('my_xpath', $selector->translateToXPath('some'));
-
-        $this->setExpectedException('InvalidArgumentException');
-
-        $selector->translateToXPath('custom');
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testInvalidLocator()
-    {
-        $namedSelector = $this->getSelector();
-
-        $namedSelector->translateToXPath(array('foo', 'bar', 'baz'));
-    }
-
-    /**
-     * @dataProvider getSelectorTests
-     */
-    public function testSelectors($fixtureFile, $selector, $locator, $expectedExactCount, $expectedPartialCount = null)
-    {
-        $expectedCount = $this->allowPartialMatch() && null !== $expectedPartialCount
-            ? $expectedPartialCount
-            : $expectedExactCount;
-
-        // Don't use "loadHTMLFile" due HHVM 3.3.0 issue.
-        $dom = new \DOMDocument('1.0', 'UTF-8');
-        $dom->loadHTML(file_get_contents(__DIR__.'/fixtures/'.$fixtureFile));
-
-        // Escape the locator as Mink 1.x expects the caller of the NamedSelector to handle it
-        $selectorsHandler = new SelectorsHandler();
-        $locator = $selectorsHandler->xpathLiteral($locator);
-
-        $namedSelector = $this->getSelector();
-
-        $xpath = $namedSelector->translateToXPath(array($selector, $locator));
-
-        $domXpath = new \DOMXPath($dom);
-        $nodeList = $domXpath->query($xpath);
-
-        $this->assertEquals($expectedCount, $nodeList->length);
-    }
-
-    public function getSelectorTests()
-    {
-        $fieldCount = 8; // fields without `type` attribute
-        $fieldCount += 4; // fields with `type=checkbox` attribute
-        $fieldCount += 4; // fields with `type=radio` attribute
-        $fieldCount += 4; // fields with `type=file` attribute
-
-        // Fixture file,  selector name,  locator,  expected number of exact matched elements, expected number of partial matched elements if different
-        return array(
-            'fieldset' => array('test.html', 'fieldset', 'fieldset-text', 2, 3),
-
-            'field (name/placeholder/label)' => array('test.html', 'field', 'the-field', $fieldCount),
-            'field (input, with-id)' => array('test.html', 'field', 'the-field-input', 1),
-            'field (textarea, with-id)' => array('test.html', 'field', 'the-field-textarea', 1),
-            'field (select, with-id)' => array('test.html', 'field', 'the-field-select', 1),
-            'field (input type=submit, with-id) ignored' => array('test.html', 'field', 'the-field-submit-button', 0),
-            'field (input type=image, with-id) ignored' => array('test.html', 'field', 'the-field-image-button', 0),
-            'field (input type=button, with-id) ignored' => array('test.html', 'field', 'the-field-button-button', 0),
-            'field (input type=reset, with-id) ignored' => array('test.html', 'field', 'the-field-reset-button', 0),
-            'field (input type=hidden, with-id) ignored' => array('test.html', 'field', 'the-field-hidden', 0),
-
-            'link (with-href)' => array('test.html', 'link', 'link-text', 5, 9),
-            'link (without-href) ignored' => array('test.html', 'link', 'bad-link-text', 0),
-            'link* (role=link)' => array('test.html', 'link', 'link-role-text', 4, 7),
-
-            'button (input, name/value/title)' => array('test.html', 'button', 'button-text', 25, 42),
-            'button (type=image, with-alt)' => array('test.html', 'button', 'button-alt-text', 1, 2),
-            'button (input type=submit, with-id)' => array('test.html', 'button', 'input-submit-button', 1),
-            'button (input type=image, with-id)' => array('test.html', 'button', 'input-image-button', 1),
-            'button (input type=button, with-id)' => array('test.html', 'button', 'input-button-button', 1),
-            'button (input type=reset, with-id)' => array('test.html', 'button', 'input-reset-button', 1),
-            'button (button type=submit, with-id)' => array('test.html', 'button', 'button-submit-button', 1),
-            'button (button type=image, with-id)' => array('test.html', 'button', 'button-image-button', 1),
-            'button (button type=button, with-id)' => array('test.html', 'button', 'button-button-button', 1),
-            'button (button type=reset, with-id)' => array('test.html', 'button', 'button-reset-button', 1),
-            'button* (role=button, name/value/title)' => array('test.html', 'button', 'button-role-text', 12, 20),
-            'button* (role=button type=submit, with-id)' => array('test.html', 'button', 'role-button-submit-button', 1),
-            'button* (role=button type=image, with-id)' => array('test.html', 'button', 'role-button-image-button', 1),
-            'button* (role=button type=button, with-id)' => array('test.html', 'button', 'role-button-button-button', 1),
-            'button* (role=button type=reset, with-id)' => array('test.html', 'button', 'role-button-reset-button', 1),
-
-            'link_or_button (with-href)' => array('test.html', 'link_or_button', 'link-text', 5, 9),
-            'link_or_button (without-href) ignored' => array('test.html', 'link_or_button', 'bad-link-text', 0),
-            'link_or_button* (role=link)' => array('test.html', 'link_or_button', 'link-role-text', 4, 7),
-
-            // bug in selector: 17 instead of 25 and 34 instead of 42, because 8 buttons with `name` attribute were not matched
-            'link_or_button (input, name/value/title)' => array('test.html', 'link_or_button', 'button-text', 17, 34),
-            'link_or_button (type=image, with-alt)' => array('test.html', 'link_or_button', 'button-alt-text', 1, 2),
-            'link_or_button (input type=submit, with-id)' => array('test.html', 'link_or_button', 'input-submit-button', 1),
-            'link_or_button (input type=image, with-id)' => array('test.html', 'link_or_button', 'input-image-button', 1),
-            'link_or_button (input type=button, with-id)' => array('test.html', 'link_or_button', 'input-button-button', 1),
-            'link_or_button (input type=reset, with-id)' => array('test.html', 'link_or_button', 'input-reset-button', 1),
-            'link_or_button (button type=submit, with-id)' => array('test.html', 'link_or_button', 'button-submit-button', 1),
-            'link_or_button (button type=image, with-id)' => array('test.html', 'link_or_button', 'button-image-button', 1),
-            'link_or_button (button type=button, with-id)' => array('test.html', 'link_or_button', 'button-button-button', 1),
-            'link_or_button (button type=reset, with-id)' => array('test.html', 'link_or_button', 'button-reset-button', 1),
-
-            // bug in selector: 8 instead of 12 and 16 instead of 20, because 4 buttons with `name` attribute were not matched
-            'link_or_button* (role=button, name/value/title)' => array('test.html', 'link_or_button', 'button-role-text', 8, 16),
-            'link_or_button* (role=button type=submit, with-id)' => array('test.html', 'link_or_button', 'role-button-submit-button', 1),
-            'link_or_button* (role=button type=image, with-id)' => array('test.html', 'link_or_button', 'role-button-image-button', 1),
-            'link_or_button* (role=button type=button, with-id)' => array('test.html', 'link_or_button', 'role-button-button-button', 1),
-            'link_or_button* (role=button type=reset, with-id)' => array('test.html', 'link_or_button', 'role-button-reset-button', 1),
-
-            // 3 matches, because matches every HTML node in path: html > body > div
-            'content' => array('test.html', 'content', 'content-text', 1, 4),
-
-            'select (name/label)' => array('test.html', 'select', 'the-field', 3),
-            'select (with-id)' => array('test.html', 'select', 'the-field-select', 1),
-
-            'checkbox (name/label)' => array('test.html', 'checkbox', 'the-field', 3),
-            'checkbox (with-id)' => array('test.html', 'checkbox', 'the-field-checkbox', 1),
-
-            'radio (name/label)' => array('test.html', 'radio', 'the-field', 3),
-            'radio (with-id)' => array('test.html', 'radio', 'the-field-radio', 1),
-
-            'file (name/label)' => array('test.html', 'file', 'the-field', 3),
-            'file (with-id)' => array('test.html', 'file', 'the-field-file', 1),
-
-            'optgroup' => array('test.html', 'optgroup', 'group-label', 1, 2),
-
-            'option' => array('test.html', 'option', 'option-value', 2, 3),
-
-            'table' => array('test.html', 'table', 'the-table', 2, 3),
-
-            'id' => array('test.html', 'id', 'bad-link-text', 1),
-            'id or name' => array('test.html', 'id_or_name', 'the-table', 2),
-        );
-    }
-
-    /**
-     * @return NamedSelector
-     */
-    abstract protected function getSelector();
-
-    /**
-     * @return boolean
-     */
-    abstract protected function allowPartialMatch();
-}
diff --git a/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php b/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
deleted file mode 100644
index a20d3d9..0000000
--- a/core/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
+++ /dev/null
@@ -1,92 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests\Selector;
-
-use Behat\Mink\Selector\SelectorsHandler;
-
-class SelectorsHandlerTest extends \PHPUnit_Framework_TestCase
-{
-    public function testRegisterSelector()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $this->assertFalse($handler->isSelectorRegistered('custom'));
-
-        $handler->registerSelector('custom', $selector);
-
-        $this->assertTrue($handler->isSelectorRegistered('custom'));
-        $this->assertSame($selector, $handler->getSelector('custom'));
-    }
-
-    public function testRegisterSelectorThroughConstructor()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler(array('custom' => $selector));
-
-        $this->assertTrue($handler->isSelectorRegistered('custom'));
-        $this->assertSame($selector, $handler->getSelector('custom'));
-    }
-
-    public function testRegisterDefaultSelectors()
-    {
-        $handler = new SelectorsHandler();
-
-        $this->assertTrue($handler->isSelectorRegistered('css'));
-        $this->assertTrue($handler->isSelectorRegistered('named_exact'));
-        $this->assertTrue($handler->isSelectorRegistered('named_partial'));
-    }
-
-    /**
-     * @expectedException \InvalidArgumentException
-     */
-    public function testXpathSelectorThrowsExceptionForArrayLocator()
-    {
-        $handler = new SelectorsHandler();
-        $handler->selectorToXpath('xpath', array('some_xpath'));
-    }
-
-    public function testXpathSelectorIsReturnedAsIs()
-    {
-        $handler = new SelectorsHandler();
-        $this->assertEquals('some_xpath', $handler->selectorToXpath('xpath', 'some_xpath'));
-    }
-
-    public function testSelectorToXpath()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $handler->registerSelector('custom_selector', $selector);
-
-        $selector
-            ->expects($this->once())
-            ->method('translateToXPath')
-            ->with($locator = 'some[locator]')
-            ->will($this->returnValue($ret = '[]some[]locator'));
-
-        $this->assertEquals($ret, $handler->selectorToXpath('custom_selector', $locator));
-
-        $this->setExpectedException('InvalidArgumentException');
-        $handler->selectorToXpath('undefined', 'asd');
-    }
-
-    public function testXpathLiteral()
-    {
-        $handler = new SelectorsHandler();
-
-        $this->assertEquals("'some simple string'", $handler->xpathLiteral('some simple string'));
-    }
-
-    public function testBcLayer()
-    {
-        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
-        $handler = new SelectorsHandler();
-
-        $handler->registerSelector('named_partial', $selector);
-
-        $this->iniSet('error_reporting', -1 & ~E_USER_DEPRECATED);
-
-        $this->assertSame($selector, $handler->getSelector('named'));
-    }
-}
diff --git a/core/vendor/behat/mink/tests/Selector/fixtures/test.html b/core/vendor/behat/mink/tests/Selector/fixtures/test.html
deleted file mode 100644
index c64ae10..0000000
--- a/core/vendor/behat/mink/tests/Selector/fixtures/test.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-    <title></title>
-</head>
-<body>
-    <div id="test-for-link-selector">
-        <!-- match links with `href` attribute -->
-        <a href="#" id="link-text"></a>
-        <a href="#">link-text</a>
-        <a href="#" title="link-text"></a>
-        <a href="#" rel="link-text"></a>
-        <a href="#">
-            <img src="#" alt="link-text"/>
-        </a>
-        <!-- partial match -->
-        <a href="#">some link-text</a>
-        <a href="#" title="some link-text"></a>
-        <a href="#" rel="some link-text"></a>
-        <a href="#">
-            <img src="#" alt="some link-text"/>
-        </a>
-
-        <!-- don't match links without `href` attribute -->
-        <a id="bad-link-text"></a>
-        <a>bad-link-text</a>
-        <a title="bad-link-text"></a>
-        <a rel="bad-link-text"></a>
-        <a>
-            <img src="#" alt="bad-link-text"/>
-        </a>
-
-        <!-- match links with `role=link` attribute -->
-        <span role="Link" id="link-role-text"></span>
-        <span role="lInk" value="link-role-text"></span>
-        <span role="liNk" title="link-role-text"></span>
-        <span role="linK">link-role-text</span>
-        <!-- partial match -->
-        <span role="link" value="some link-role-text"></span>
-        <span role="link" title="some link-role-text"></span>
-        <span role="link">some link-role-text</span>
-    </div>
-
-    <div id="test-for-fieldset-selector">
-        <!-- match fieldsets -->
-        <fieldset id="fieldset-text"></fieldset>
-
-        <fieldset>
-            <legend>fieldset-text</legend>
-        </fieldset>
-        <!-- partial match -->
-        <fieldset>
-            <legend>fieldset-text sample</legend>
-        </fieldset>
-
-        <!-- don't match fieldsets -->
-        <fieldset>fieldset-text</fieldset>
-        <fieldset></fieldset>
-    </div>
-
-    <div id="test-for-content-selector">
-        content-text
-    </div>
-    <!-- partial match -->
-    <div id="test-for-partial-content-selector">
-        some content-text
-    </div>
-
-    <form>
-        <div id="test-for-field-selector">
-            <!-- match fields by `id` attribute -->
-            <input id="the-field-input"/>
-            <textarea id="the-field-textarea"></textarea>
-            <select id="the-field-select"></select>
-
-            <!-- match fields by `name` attribute -->
-            <input name="the-field"/>
-            <textarea name="the-field"></textarea>
-            <select name="the-field"></select>
-
-            <!-- match fields by `placeholder` attribute -->
-            <input placeholder="the-field"/>
-            <textarea placeholder="the-field"></textarea>
-            <select placeholder="the-field"></select>
-
-            <!-- match fields by associated label -->
-            <label for="label-for-input">the-field</label><input id="label-for-input"/>
-            <label for="label-for-textarea">the-field</label><textarea id="label-for-textarea"></textarea>
-            <label for="label-for-select">the-field</label><select id="label-for-select"></select>
-
-            <!-- match fields, surrounded by matching label -->
-            <label>the-field<input/></label>
-            <label>the-field<textarea></textarea></label>
-            <label>the-field<select></select></label>
-
-            <!-- don't match fields by `id` attribute -->
-            <input type="Submit" id="the-field-submit-button"/>
-            <input type="iMage" id="the-field-image-button"/>
-            <input type="butTon" id="the-field-button-button"/>
-            <input type="resEt" id="the-field-reset-button"/>
-            <input type="hidDen" id="the-field-hidden"/>
-
-            <!-- don't match fields by `name` attribute -->
-            <input type="submit" name="the-field"/>
-            <input type="image" name="the-field"/>
-            <input type="button" name="the-field"/>
-            <input type="reset" name="the-field"/>
-            <input type="hidden" name="the-field"/>
-
-            <!-- don't match fields by `placeholder` attribute -->
-            <input type="submit" placeholder="the-field"/>
-            <input type="image" placeholder="the-field"/>
-            <input type="button" placeholder="the-field"/>
-            <input type="reset" placeholder="the-field"/>
-            <input type="hidden" placeholder="the-field"/>
-
-            <!-- don't match fields by associated label -->
-            <label for="label-for-the-field-submit-button">the-field</label><input type="submit" id="label-for-the-field-submit-button"/>
-            <label for="label-for-the-field-image-button">the-field</label><input type="image" id="label-for-the-field-image-button"/>
-            <label for="label-for-the-field-button-button">the-field</label><input type="button" id="label-for-the-field-button-button"/>
-            <label for="label-for-the-field-reset-button">the-field</label><input type="reset" id="label-for-the-field-reset-button"/>
-            <label for="label-for-the-field-hidden">the-field</label><input type="hidden" id="label-for-the-field-hidden"/>
-
-            <!-- don't match fields, surrounded by matching label -->
-            <label>the-field<input type="submit"/></label>
-            <label>the-field<input type="image"/></label>
-            <label>the-field<input type="button"/></label>
-            <label>the-field<input type="reset"/></label>
-            <label>the-field<input type="hidden"/></label>
-        </div>
-
-        <div id="test-for-button-selector">
-            <!-- match buttons by `id` attribute -->
-            <input type="Submit" id="input-submit-button"/>
-            <input type="iMage" id="input-image-button"/>
-            <input type="butTon" id="input-button-button"/>
-            <input type="resEt" id="input-reset-button"/>
-
-            <button type="submit" id="button-submit-button"></button>
-            <button type="image" id="button-image-button"></button>
-            <button type="button" id="button-button-button"></button>
-            <button type="reset" id="button-reset-button"></button>
-
-            <!-- match buttons by `name` attribute -->
-            <input type="submit" name="button-text"/>
-            <input type="image" name="button-text"/>
-            <input type="button" name="button-text"/>
-            <input type="reset" name="button-text"/>
-            <button type="submit" name="button-text"></button>
-            <button type="image" name="button-text"></button>
-            <button type="button" name="button-text"></button>
-            <button type="reset" name="button-text"></button>
-
-            <!-- match buttons by `value` attribute -->
-            <input type="submit" value="button-text"/>
-            <input type="image" value="button-text"/>
-            <input type="button" value="button-text"/>
-            <input type="reset" value="button-text"/>
-            <button type="submit" value="button-text"></button>
-            <button type="image" value="button-text"></button>
-            <button type="button" value="button-text"></button>
-            <button type="reset" value="button-text"></button>
-            <!-- Partial match -->
-            <input type="submit" value="some button-text"/>
-            <input type="image" value="some button-text"/>
-            <input type="button" value="some button-text"/>
-            <input type="reset" value="some button-text"/>
-            <button type="submit" value="some button-text"></button>
-            <button type="image" value="some button-text"></button>
-            <button type="button" value="some button-text"></button>
-            <button type="reset" value="some button-text"></button>
-
-            <!-- match buttons by `title` attribute -->
-            <input type="submit" title="button-text"/>
-            <input type="image" title="button-text"/>
-            <input type="button" title="button-text"/>
-            <input type="reset" title="button-text"/>
-            <button type="submit" title="button-text"></button>
-            <button type="image" title="button-text"></button>
-            <button type="button" title="button-text"></button>
-            <button type="reset" title="button-text"></button>
-            <!-- partial match -->
-            <input type="submit" title="some button-text"/>
-            <input type="image" title="some button-text"/>
-            <input type="button" title="some button-text"/>
-            <input type="reset" title="some button-text"/>
-            <button type="submit" title="some button-text"></button>
-            <button type="image" title="some button-text"></button>
-            <button type="button" title="some button-text"></button>
-            <button type="reset" title="some button-text"></button>
-
-            <!-- match some buttons by `alt` attribute -->
-            <input type="submit" alt="button-alt-text"/>
-            <input type="imaGe" alt="button-alt-text"/>
-            <input type="button" alt="button-alt-text"/>
-            <input type="reset" alt="button-alt-text"/>
-            <!-- partial match -->
-            <input type="submit" alt="some button-alt-text"/>
-            <input type="image" alt="some button-alt-text"/>
-            <input type="button" alt="some button-alt-text"/>
-            <input type="reset" alt="some button-alt-text"/>
-
-            <!-- match by `button` text -->
-            <button>button-text</button>
-            <!-- partial match -->
-            <button>some button-text</button>
-
-            <!-- match buttons with `role=button` & `id` attribute -->
-            <span role="Button" type="submit" id="role-button-submit-button"></span>
-            <span role="bUtton" type="image" id="role-button-image-button"></span>
-            <span role="buTton" type="button" id="role-button-button-button"></span>
-            <span role="butTon" type="reset" id="role-button-reset-button"></span>
-
-            <!-- match buttons with `role=button` & `name` attribute -->
-            <span role="buttOn" type="submit" name="button-role-text"></span>
-            <span role="buttoN" type="image" name="button-role-text"></span>
-            <span role="button" type="button" name="button-role-text"></span>
-            <span role="button" type="reset" name="button-role-text"></span>
-
-            <!-- match buttons with `role=button` & `value` attribute -->
-            <span role="button" type="submit" value="button-role-text"></span>
-            <span role="button" type="image" value="button-role-text"></span>
-            <span role="button" type="button" value="button-role-text"></span>
-            <span role="button" type="reset" value="button-role-text"></span>
-            <!-- partial match -->
-            <span role="button" type="submit" value="some button-role-text"></span>
-            <span role="button" type="image" value="some button-role-text"></span>
-            <span role="button" type="button" value="some button-role-text"></span>
-            <span role="button" type="reset" value="some button-role-text"></span>
-
-            <!-- match buttons with `role=button` & `title` attribute -->
-            <span role="button" type="submit" title="button-role-text"></span>
-            <span role="button" type="image" title="button-role-text"></span>
-            <span role="button" type="button" title="button-role-text"></span>
-            <span role="button" type="reset" title="button-role-text"></span>
-            <!-- partial match -->
-            <span role="button" type="submit" title="some button-role-text"></span>
-            <span role="button" type="image" title="some button-role-text"></span>
-            <span role="button" type="button" title="some button-role-text"></span>
-            <span role="button" type="reset" title="some button-role-text"></span>
-        </div>
-
-        <div id="test-for-checkbox-selector">
-            <input type="Checkbox" id="the-field-checkbox"/>
-            <input type="checkBox" name="the-field"/>
-            <input type="cheCkbox" placeholder="the-field"/>
-            <label for="label-for-checkbox">the-field</label><input type="checkboX" id="label-for-checkbox"/>
-            <label>the-field<input type="chEckbox"/></label>
-        </div>
-
-        <div id="test-for-radio-selector">
-            <input type="Radio" id="the-field-radio"/>
-            <input type="raDio" name="the-field"/>
-            <input type="radIo" placeholder="the-field"/>
-            <label for="label-for-radio">the-field</label><input type="radiO" id="label-for-radio"/>
-            <label>the-field<input type="radIo"/></label>
-        </div>
-
-        <div id="test-for-file-selector">
-            <input type="File" id="the-field-file"/>
-            <input type="fIle" name="the-field"/>
-            <input type="fiLe" placeholder="the-field"/>
-            <label for="label-for-file">the-field</label><input type="filE" id="label-for-file"/>
-            <label>the-field<input type="fiLe"/></label>
-        </div>
-
-        <div id="test-for-select-related-stuff">
-            <!-- match select stuff -->
-            <select name="the-select-stuff-test">
-                <optgroup label="group-label">
-                    <option value="option-value"></option>
-                </optgroup>
-                <option value="">option-value</option>
-                <!-- partial match -->
-                <optgroup label="some group-label">
-                    <option value="">some option-value</option>
-                </optgroup>
-            </select>
-
-            <!-- don't match select stuff -->
-            <select name="the-select-stuff-test">
-                <optgroup label="">some group-label</optgroup>
-                <option value="some option-value"></option>
-            </select>
-        </div>
-    </form>
-
-    <div id="test-for-table-selector">
-        <!-- match tables -->
-        <table id="the-table"></table>
-        <table>
-            <caption>the-table</caption>
-        </table>
-        <!-- partial match -->
-        <table>
-            <caption>some the-table</caption>
-        </table>
-
-        <!-- don't match tables -->
-        <table>
-            <tr>
-                <th>the-table</th>
-                <td>the-table</td>
-            </tr>
-        </table>
-    </div>
-
-    <input name="the-table"/>
-</body>
-</html>
diff --git a/core/vendor/behat/mink/tests/SessionTest.php b/core/vendor/behat/mink/tests/SessionTest.php
deleted file mode 100644
index 9e6796d..0000000
--- a/core/vendor/behat/mink/tests/SessionTest.php
+++ /dev/null
@@ -1,289 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests;
-
-use Behat\Mink\Session;
-
-class SessionTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $driver;
-    private $selectorsHandler;
-
-    /**
-     * Session.
-     *
-     * @var Session
-     */
-    private $session;
-
-    protected function setUp()
-    {
-        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
-        $this->selectorsHandler = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
-        $this->session = new Session($this->driver, $this->selectorsHandler);
-    }
-
-    public function testGetDriver()
-    {
-        $this->assertSame($this->driver, $this->session->getDriver());
-    }
-
-    public function testGetPage()
-    {
-        $this->assertInstanceOf('Behat\Mink\Element\DocumentElement', $this->session->getPage());
-    }
-
-    public function testGetSelectorsHandler()
-    {
-        $this->assertSame($this->selectorsHandler, $this->session->getSelectorsHandler());
-    }
-
-    public function testInstantiateWithoutOptionalDeps()
-    {
-        $session = new Session($this->driver);
-
-        $this->assertInstanceOf('Behat\Mink\Selector\SelectorsHandler', $session->getSelectorsHandler());
-    }
-
-    public function testIsStarted()
-    {
-        $this->driver->expects($this->once())
-            ->method('isStarted')
-            ->will($this->returnValue(true));
-
-        $this->assertTrue($this->session->isStarted());
-    }
-
-    public function testStart()
-    {
-        $this->driver->expects($this->once())
-            ->method('start');
-
-        $this->session->start();
-    }
-
-    public function testStop()
-    {
-        $this->driver->expects($this->once())
-            ->method('stop');
-
-        $this->session->stop();
-    }
-
-    public function testRestart()
-    {
-        $this->driver->expects($this->at(0))
-            ->method('stop');
-        $this->driver->expects($this->at(1))
-            ->method('start');
-
-        $this->session->restart();
-    }
-
-    public function testVisit()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('visit')
-            ->with($url = 'some_url');
-
-        $this->session->visit($url);
-    }
-
-    public function testReset()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('reset');
-
-        $this->session->reset();
-    }
-
-    public function testSetBasicAuth()
-    {
-        $this->driver->expects($this->once())
-            ->method('setBasicAuth')
-            ->with('user', 'pass');
-
-        $this->session->setBasicAuth('user', 'pass');
-    }
-
-    public function testSetRequestHeader()
-    {
-        $this->driver->expects($this->once())
-            ->method('setRequestHeader')
-            ->with('name', 'value');
-
-        $this->session->setRequestHeader('name', 'value');
-    }
-
-    public function testGetResponseHeaders()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getResponseHeaders')
-            ->will($this->returnValue($ret = array(2, 3, 4)));
-
-        $this->assertEquals($ret, $this->session->getResponseHeaders());
-    }
-
-    public function testSetCookie()
-    {
-        $this->driver->expects($this->once())
-            ->method('setCookie')
-            ->with('name', 'value');
-
-        $this->session->setCookie('name', 'value');
-    }
-
-    public function testGetCookie()
-    {
-        $this->driver->expects($this->once())
-            ->method('getCookie')
-            ->with('name')
-            ->will($this->returnValue('value'));
-
-        $this->assertEquals('value', $this->session->getCookie('name'));
-    }
-
-    public function testGetStatusCode()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getStatusCode')
-            ->will($this->returnValue($ret = 404));
-
-        $this->assertEquals($ret, $this->session->getStatusCode());
-    }
-
-    public function testGetCurrentUrl()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('getCurrentUrl')
-            ->will($this->returnValue($ret = 'http://some.url'));
-
-        $this->assertEquals($ret, $this->session->getCurrentUrl());
-    }
-
-    public function testGetScreenshot()
-    {
-        $this->driver->expects($this->once())
-            ->method('getScreenshot')
-            ->will($this->returnValue('screenshot'));
-
-        $this->assertEquals('screenshot', $this->session->getScreenshot());
-    }
-
-    public function testGetWindowNames()
-    {
-        $this->driver->expects($this->once())
-            ->method('getWindowNames')
-            ->will($this->returnValue($names = array('window 1', 'window 2')));
-
-        $this->assertEquals($names, $this->session->getWindowNames());
-    }
-
-    public function testGetWindowName()
-    {
-        $this->driver->expects($this->once())
-            ->method('getWindowName')
-            ->will($this->returnValue('name'));
-
-        $this->assertEquals('name', $this->session->getWindowName());
-    }
-
-    public function testReload()
-    {
-        $this->driver->expects($this->once())
-            ->method('reload');
-
-        $this->session->reload();
-    }
-
-    public function testBack()
-    {
-        $this->driver->expects($this->once())
-            ->method('back');
-
-        $this->session->back();
-    }
-
-    public function testForward()
-    {
-        $this->driver->expects($this->once())
-            ->method('forward');
-
-        $this->session->forward();
-    }
-
-    public function testSwitchToWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('switchToWindow')
-            ->with('test');
-
-        $this->session->switchToWindow('test');
-    }
-
-    public function testSwitchToIFrame()
-    {
-        $this->driver->expects($this->once())
-            ->method('switchToIFrame')
-            ->with('test');
-
-        $this->session->switchToIFrame('test');
-    }
-
-    public function testExecuteScript()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('executeScript')
-            ->with($arg = 'JS');
-
-        $this->session->executeScript($arg);
-    }
-
-    public function testEvaluateScript()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('evaluateScript')
-            ->with($arg = 'JS func')
-            ->will($this->returnValue($ret = '23'));
-
-        $this->assertEquals($ret, $this->session->evaluateScript($arg));
-    }
-
-    public function testWait()
-    {
-        $this->driver
-            ->expects($this->once())
-            ->method('wait')
-            ->with(1000, 'function () {}');
-
-        $this->session->wait(1000, 'function () {}');
-    }
-
-    public function testResizeWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('resizeWindow')
-            ->with(800, 600, 'test');
-
-        $this->session->resizeWindow(800, 600, 'test');
-    }
-
-    public function testMaximizeWindow()
-    {
-        $this->driver->expects($this->once())
-            ->method('maximizeWindow')
-            ->with('test');
-
-        $this->session->maximizeWindow('test');
-    }
-}
diff --git a/core/vendor/behat/mink/tests/WebAssertTest.php b/core/vendor/behat/mink/tests/WebAssertTest.php
deleted file mode 100644
index c3bd3cf..0000000
--- a/core/vendor/behat/mink/tests/WebAssertTest.php
+++ /dev/null
@@ -1,1133 +0,0 @@
-<?php
-
-namespace Behat\Mink\Tests;
-
-use Behat\Mink\Exception\ExpectationException;
-use Behat\Mink\WebAssert;
-
-class WebAssertTest extends \PHPUnit_Framework_TestCase
-{
-    /**
-     * @var \PHPUnit_Framework_MockObject_MockObject
-     */
-    private $session;
-    /**
-     * @var WebAssert
-     */
-    private $assert;
-
-    public function setUp()
-    {
-        $this->session = $this->getMockBuilder('Behat\\Mink\\Session')
-            ->disableOriginalConstructor()
-            ->getMock();
-        $this->assert = new WebAssert($this->session);
-    }
-
-    public function testAddressEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url?param=true#webapp/nav'))
-        ;
-
-        $this->assertCorrectAssertion('addressEquals', array('/sub/url#webapp/nav'));
-        $this->assertWrongAssertion(
-            'addressEquals',
-            array('sub_url'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page is "/sub/url#webapp/nav", but "sub_url" expected.'
-        );
-    }
-
-    public function testAddressEqualsEmptyPath()
-    {
-        $this->session
-            ->expects($this->once())
-            ->method('getCurrentUrl')
-            ->willReturn('http://example.com')
-        ;
-
-        $this->assertCorrectAssertion('addressEquals', array('/'));
-    }
-
-    public function testAddressNotEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url'))
-        ;
-
-        $this->assertCorrectAssertion('addressNotEquals', array('sub_url'));
-        $this->assertWrongAssertion(
-            'addressNotEquals',
-            array('/sub/url'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page is "/sub/url", but should not be.'
-        );
-    }
-
-    public function testAddressMatches()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getCurrentUrl')
-            ->will($this->returnValue('http://example.com/script.php/sub/url'))
-        ;
-
-        $this->assertCorrectAssertion('addressMatches', array('/su.*rl/'));
-        $this->assertWrongAssertion(
-            'addressMatches',
-            array('/suburl/'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current page "/sub/url" does not match the regex "/suburl/".'
-        );
-    }
-
-    public function testCookieEquals()
-    {
-        $this->session->
-            expects($this->any())->
-            method('getCookie')->
-            will($this->returnValueMap(
-                array(
-                    array('foo', 'bar'),
-                    array('bar', 'baz'),
-                )
-            ));
-
-        $this->assertCorrectAssertion('cookieEquals', array('foo', 'bar'));
-        $this->assertWrongAssertion(
-            'cookieEquals',
-            array('bar', 'foo'),
-            'Behat\Mink\Exception\ExpectationException',
-            'Cookie "bar" value is "baz", but should be "foo".'
-        );
-    }
-
-    public function testCookieExists()
-    {
-        $this->session->
-            expects($this->any())->
-            method('getCookie')->
-            will($this->returnValueMap(
-                array(
-                    array('foo', '1'),
-                    array('bar', null),
-                )
-            ));
-
-        $this->assertCorrectAssertion('cookieExists', array('foo'));
-        $this->assertWrongAssertion(
-            'cookieExists',
-            array('bar'),
-            'Behat\Mink\Exception\ExpectationException',
-            'Cookie "bar" is not set, but should be.'
-        );
-    }
-
-    public function testStatusCodeEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getStatusCode')
-            ->will($this->returnValue(200))
-        ;
-
-        $this->assertCorrectAssertion('statusCodeEquals', array(200));
-        $this->assertWrongAssertion(
-            'statusCodeEquals',
-            array(404),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current response status code is 200, but 404 expected.'
-        );
-    }
-
-    public function testStatusCodeNotEquals()
-    {
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getStatusCode')
-            ->will($this->returnValue(404))
-        ;
-
-        $this->assertCorrectAssertion('statusCodeNotEquals', array(200));
-        $this->assertWrongAssertion(
-            'statusCodeNotEquals',
-            array(404),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Current response status code is 404, but should not be.'
-        );
-    }
-
-    public function testPageTextContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue("Some  page\n\ttext"))
-        ;
-
-        $this->assertCorrectAssertion('pageTextContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'pageTextContains',
-            array('html text'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The text "html text" was not found anywhere in the text of the current page.'
-        );
-    }
-
-    public function testPageTextNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue("Some  html\n\ttext"))
-        ;
-
-        $this->assertCorrectAssertion('pageTextNotContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'pageTextNotContains',
-            array('HTML text'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The text "HTML text" appears in the text of this page, but it should not.'
-        );
-    }
-
-    public function testPageTextMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('pageTextMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'pageTextMatches',
-            array('/html/'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The pattern /html/ was not found anywhere in the text of the current page.'
-        );
-    }
-
-    public function testPageTextNotMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('pageTextNotMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'pageTextNotMatches',
-            array('/HTML/i'),
-            'Behat\\Mink\\Exception\\ResponseTextException',
-            'The pattern /HTML/i was found in the text of the current page, but it should not.'
-        );
-    }
-
-    public function testResponseContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('responseContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'responseContains',
-            array('html text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "html text" was not found anywhere in the HTML response of the current page.'
-        );
-    }
-
-    public function testResponseNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('responseNotContains', array('PAGE text'));
-        $this->assertWrongAssertion(
-            'responseNotContains',
-            array('HTML text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "HTML text" appears in the HTML response of this page, but it should not.'
-        );
-    }
-
-    public function testResponseMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some page text'))
-        ;
-
-        $this->assertCorrectAssertion('responseMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'responseMatches',
-            array('/html/'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The pattern /html/ was not found anywhere in the HTML response of the page.'
-        );
-    }
-
-    public function testResponseNotMatches()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('getContent')
-            ->will($this->returnValue('Some html text'))
-        ;
-
-        $this->assertCorrectAssertion('responseNotMatches', array('/PA.E/i'));
-        $this->assertWrongAssertion(
-            'responseNotMatches',
-            array('/HTML/i'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The pattern /HTML/i was found in the HTML response of the page, but it should not.'
-        );
-    }
-
-    public function testElementsCount()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findAll')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue(array(1, 2)))
-        ;
-
-        $this->assertCorrectAssertion('elementsCount', array('css', 'h2 > span', 2));
-        $this->assertWrongAssertion(
-            'elementsCount',
-            array('css', 'h2 > span', 3),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            '2 elements matching css "h2 > span" found on the page, but should be 3.'
-        );
-    }
-
-    public function testElementExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->onConsecutiveCalls(1, null, 1, null))
-        ;
-
-        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span'));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('css', 'h2 > span'),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element matching css "h2 > span" not found.'
-        );
-
-        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span', $page));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('css', 'h2 > span', $page),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element matching css "h2 > span" not found.'
-        );
-    }
-
-    public function testElementExistsWithArrayLocator()
-    {
-        $container = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session->expects($this->never())
-            ->method('getPage')
-        ;
-
-        $container
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('named', array('element', 'Test'))
-            ->will($this->onConsecutiveCalls(1, null))
-        ;
-
-        $this->assertCorrectAssertion('elementExists', array('named', array('element', 'Test'), $container));
-        $this->assertWrongAssertion(
-            'elementExists',
-            array('named', array('element', 'Test'), $container),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Element with named "element Test" not found.'
-        );
-    }
-
-    public function testElementNotExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->onConsecutiveCalls(null, 1, null, 1))
-        ;
-
-        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span'));
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array('css', 'h2 > span'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'An element matching css "h2 > span" appears on this page, but it should not.'
-        );
-
-        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span', $page));
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array('css', 'h2 > span', $page),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'An element matching css "h2 > span" appears on this page, but it should not.'
-        );
-    }
-
-    /**
-     * @dataProvider getArrayLocatorFormats
-     */
-    public function testElementNotExistsArrayLocator($selector, $locator, $expectedMessage)
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->once())
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->once())
-            ->method('find')
-            ->with($selector, $locator)
-            ->will($this->returnValue(1))
-        ;
-
-        $this->assertWrongAssertion(
-            'elementNotExists',
-            array($selector, $locator),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            $expectedMessage
-        );
-    }
-
-    public function getArrayLocatorFormats()
-    {
-        return array(
-            'named' => array(
-                'named',
-                array('button', 'Test'),
-                'An button matching locator "Test" appears on this page, but it should not.',
-            ),
-            'custom' => array(
-                'custom',
-                array('test', 'foo'),
-                'An element matching custom "test foo" appears on this page, but it should not.',
-            ),
-        );
-    }
-
-    public function testElementTextContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('element text'))
-        ;
-
-        $this->assertCorrectAssertion('elementTextContains', array('css', 'h2 > span', 'text'));
-        $this->assertWrongAssertion(
-            'elementTextContains',
-            array('css', 'h2 > span', 'html'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The text "html" was not found in the text of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementTextNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getText')
-            ->will($this->returnValue('element text'))
-        ;
-
-        $this->assertCorrectAssertion('elementTextNotContains', array('css', 'h2 > span', 'html'));
-        $this->assertWrongAssertion(
-            'elementTextNotContains',
-            array('css', 'h2 > span', 'text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The text "text" appears in the text of the element matching css "h2 > span", but it should not.'
-        );
-    }
-
-    public function testElementContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getHtml')
-            ->will($this->returnValue('element html'))
-        ;
-
-        $this->assertCorrectAssertion('elementContains', array('css', 'h2 > span', 'html'));
-        $this->assertWrongAssertion(
-            'elementContains',
-            array('css', 'h2 > span', 'text'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "text" was not found in the HTML of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getHtml')
-            ->will($this->returnValue('element html'))
-        ;
-
-        $this->assertCorrectAssertion('elementNotContains', array('css', 'h2 > span', 'text'));
-        $this->assertWrongAssertion(
-            'elementNotContains',
-            array('css', 'h2 > span', 'html'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The string "html" appears in the HTML of the element matching css "h2 > span", but it should not.'
-        );
-    }
-
-    public function testElementAttributeContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('hasAttribute')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('name')
-            ->will($this->returnValue('foo'))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeContains', array('css', 'h2 > span', 'name', 'foo'));
-        $this->assertWrongAssertion(
-            'elementAttributeContains',
-            array('css', 'h2 > span', 'name', 'bar'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The text "bar" was not found in the attribute "name" of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementAttributeExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->at(0))
-            ->method('hasAttribute')
-            ->with('name')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->at(1))
-            ->method('hasAttribute')
-            ->with('name')
-            ->will($this->returnValue(false))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeExists', array('css', 'h2 > span', 'name'));
-        $this->assertWrongAssertion(
-            'elementAttributeExists',
-            array('css', 'h2 > span', 'name'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The attribute "name" was not found in the element matching css "h2 > span".'
-        );
-    }
-
-    public function testElementAttributeNotContains()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('find')
-            ->with('css', 'h2 > span')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('hasAttribute')
-            ->will($this->returnValue(true))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('getAttribute')
-            ->with('name')
-            ->will($this->returnValue('foo'))
-        ;
-
-        $this->assertCorrectAssertion('elementAttributeNotContains', array('css', 'h2 > span', 'name', 'bar'));
-        $this->assertWrongAssertion(
-            'elementAttributeNotContains',
-            array('css', 'h2 > span', 'name', 'foo'),
-            'Behat\\Mink\\Exception\\ElementHtmlException',
-            'The text "foo" was found in the attribute "name" of the element matching css "h2 > span".'
-        );
-    }
-
-    public function testFieldExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('username')
-            ->will($this->onConsecutiveCalls($element, null))
-        ;
-
-        $this->assertCorrectAssertion('fieldExists', array('username'));
-        $this->assertWrongAssertion(
-            'fieldExists',
-            array('username'),
-            'Behat\\Mink\\Exception\\ElementNotFoundException',
-            'Form field with id|name|label|value "username" not found.'
-        );
-    }
-
-    public function testFieldNotExists()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('username')
-            ->will($this->onConsecutiveCalls(null, $element))
-        ;
-
-        $this->assertCorrectAssertion('fieldNotExists', array('username'));
-        $this->assertWrongAssertion(
-            'fieldNotExists',
-            array('username'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'A field "username" appears on this page, but it should not.'
-        );
-    }
-
-    public function testFieldValueEquals()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(4))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('findField')
-            ->with('username')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(4))
-            ->method('getValue')
-            ->will($this->returnValue(234))
-        ;
-
-        $this->assertCorrectAssertion('fieldValueEquals', array('username', 234));
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', 235),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "235" expected.'
-        );
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', 23),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "23" expected.'
-        );
-        $this->assertWrongAssertion(
-            'fieldValueEquals',
-            array('username', ''),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "234", but "" expected.'
-        );
-    }
-
-    public function testFieldValueNotEquals()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(4))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(4))
-            ->method('findField')
-            ->with('username')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(4))
-            ->method('getValue')
-            ->will($this->returnValue(235))
-        ;
-
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 234));
-        $this->assertWrongAssertion(
-            'fieldValueNotEquals',
-            array('username', 235),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'The field "username" value is "235", but it should not be.'
-        );
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 23));
-        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', ''));
-    }
-
-    public function testCheckboxChecked()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('remember_me')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(true, false))
-        ;
-
-        $this->assertCorrectAssertion('checkboxChecked', array('remember_me'));
-        $this->assertWrongAssertion(
-            'checkboxChecked',
-            array('remember_me'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Checkbox "remember_me" is not checked, but it should be.'
-        );
-    }
-
-    public function testCheckboxNotChecked()
-    {
-        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
-            ->disableOriginalConstructor()
-            ->getMock()
-        ;
-
-        $this->session
-            ->expects($this->exactly(2))
-            ->method('getPage')
-            ->will($this->returnValue($page))
-        ;
-
-        $page
-            ->expects($this->exactly(2))
-            ->method('findField')
-            ->with('remember_me')
-            ->will($this->returnValue($element))
-        ;
-
-        $element
-            ->expects($this->exactly(2))
-            ->method('isChecked')
-            ->will($this->onConsecutiveCalls(false, true))
-        ;
-
-        $this->assertCorrectAssertion('checkboxNotChecked', array('remember_me'));
-        $this->assertWrongAssertion(
-            'checkboxNotChecked',
-            array('remember_me'),
-            'Behat\\Mink\\Exception\\ExpectationException',
-            'Checkbox "remember_me" is checked, but it should not be.'
-        );
-    }
-
-    private function assertCorrectAssertion($assertion, $arguments)
-    {
-        try {
-            call_user_func_array(array($this->assert, $assertion), $arguments);
-        } catch (ExpectationException $e) {
-            $this->fail('Correct assertion should not throw an exception: '.$e->getMessage());
-        }
-    }
-
-    private function assertWrongAssertion($assertion, $arguments, $exceptionClass, $exceptionMessage)
-    {
-        if ('Behat\Mink\Exception\ExpectationException' !== $exceptionClass && !is_subclass_of($exceptionClass, 'Behat\Mink\Exception\ExpectationException')) {
-            throw new \LogicException('Wrong expected exception for the failed assertion. It should be a Behat\Mink\Exception\ExpectationException.');
-        }
-
-        try {
-            call_user_func_array(array($this->assert, $assertion), $arguments);
-            $this->fail('Wrong assertion should throw an exception');
-        } catch (ExpectationException $e) {
-            $this->assertInstanceOf($exceptionClass, $e);
-            $this->assertSame($exceptionMessage, $e->getMessage());
-        }
-    }
-}
diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php
deleted file mode 100644
index 9874690..0000000
--- a/core/vendor/composer/autoload_classmap.php
+++ /dev/null
@@ -1,458 +0,0 @@
-<?php
-
-// autoload_classmap.php @generated by Composer
-
-$vendorDir = dirname(dirname(__FILE__));
-$baseDir = dirname($vendorDir);
-
-return array(
-    'Drupal\\Component\\Utility\\Timer' => $baseDir . '/lib/Drupal/Component/Utility/Timer.php',
-    'Drupal\\Component\\Utility\\Unicode' => $baseDir . '/lib/Drupal/Component/Utility/Unicode.php',
-    'Drupal\\Core\\Database\\Database' => $baseDir . '/lib/Drupal/Core/Database/Database.php',
-    'Drupal\\Core\\DrupalKernel' => $baseDir . '/lib/Drupal/Core/DrupalKernel.php',
-    'Drupal\\Core\\DrupalKernelInterface' => $baseDir . '/lib/Drupal/Core/DrupalKernelInterface.php',
-    'Drupal\\Core\\Site\\Settings' => $baseDir . '/lib/Drupal/Core/Site/Settings.php',
-    'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
-    'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
-    'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
-    'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
-    'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php',
-    'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php',
-    'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php',
-    'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php',
-    'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php',
-    'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php',
-    'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
-    'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
-    'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php',
-    'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php',
-    'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php',
-    'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php',
-    'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php',
-    'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php',
-    'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php',
-    'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
-    'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php',
-    'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php',
-    'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php',
-    'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php',
-    'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php',
-    'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php',
-    'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php',
-    'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php',
-    'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php',
-    'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php',
-    'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
-    'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php',
-    'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php',
-    'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php',
-    'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
-    'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php',
-    'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php',
-    'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php',
-    'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php',
-    'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php',
-    'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
-    'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
-    'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php',
-    'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php',
-    'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php',
-    'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php',
-    'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php',
-    'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php',
-    'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php',
-    'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php',
-    'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php',
-    'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php',
-    'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php',
-    'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php',
-    'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php',
-    'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php',
-    'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
-    'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
-    'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
-    'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php',
-    'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
-    'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php',
-    'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
-    'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
-    'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php',
-    'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php',
-    'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php',
-    'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php',
-    'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php',
-    'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php',
-    'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php',
-    'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php',
-    'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php',
-    'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php',
-    'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php',
-    'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php',
-    'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php',
-    'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php',
-    'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php',
-    'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php',
-    'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php',
-    'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php',
-    'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
-    'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
-    'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
-    'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
-    'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php',
-    'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php',
-    'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php',
-    'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php',
-    'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php',
-    'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php',
-    'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
-    'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php',
-    'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php',
-    'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php',
-    'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php',
-    'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php',
-    'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php',
-    'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php',
-    'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php',
-    'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
-    'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
-    'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
-    'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php',
-    'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php',
-    'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php',
-    'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
-    'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
-    'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
-    'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
-    'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
-    'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
-    'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php',
-    'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php',
-    'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php',
-    'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
-    'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
-    'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
-    'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php',
-    'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php',
-    'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php',
-    'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php',
-    'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
-    'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
-    'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
-    'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
-    'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
-    'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
-    'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
-    'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php',
-    'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
-    'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php',
-    'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
-    'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
-    'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php',
-    'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
-    'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php',
-    'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php',
-    'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
-    'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php',
-    'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php',
-    'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php',
-    'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php',
-    'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
-    'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php',
-    'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php',
-    'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
-    'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
-    'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
-    'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php',
-    'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php',
-    'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php',
-    'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
-    'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php',
-    'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
-    'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php',
-    'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php',
-    'PHP_CodeCoverage_Driver_PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php',
-    'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php',
-    'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php',
-    'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
-    'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php',
-    'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php',
-    'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php',
-    'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php',
-    'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php',
-    'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php',
-    'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php',
-    'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php',
-    'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php',
-    'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php',
-    'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php',
-    'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php',
-    'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php',
-    'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php',
-    'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php',
-    'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php',
-    'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php',
-    'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php',
-    'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php',
-    'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php',
-    'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php',
-    'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php',
-    'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php',
-    'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php',
-    'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php',
-    'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
-    'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ASYNC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_AWAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_COMPILER_HALT_OFFSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ENUM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EQUALS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_ONUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php',
-    'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php',
-    'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_WHERE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_ATTRIBUTE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_CATEGORY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_CATEGORY_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_CHILDREN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_REQUIRED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_TAG_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_TAG_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XHP_TEXT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
-    'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
-    'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
-    'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
-    'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
-    'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
-    'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
-    'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
-    'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
-    'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
-    'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
-    'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
-    'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
-    'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
-    'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
-    'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
-    'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
-    'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
-    'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
-    'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php',
-    'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php',
-    'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php',
-    'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
-    'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
-    'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
-    'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
-    'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
-    'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php',
-    'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php',
-    'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
-    'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php',
-    'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
-    'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
-    'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
-    'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
-    'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
-    'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php',
-    'Symfony\\Component\\HttpFoundation\\FileBag' => $vendorDir . '/symfony/http-foundation/FileBag.php',
-    'Symfony\\Component\\HttpFoundation\\HeaderBag' => $vendorDir . '/symfony/http-foundation/HeaderBag.php',
-    'Symfony\\Component\\HttpFoundation\\ParameterBag' => $vendorDir . '/symfony/http-foundation/ParameterBag.php',
-    'Symfony\\Component\\HttpFoundation\\Request' => $vendorDir . '/symfony/http-foundation/Request.php',
-    'Symfony\\Component\\HttpFoundation\\ServerBag' => $vendorDir . '/symfony/http-foundation/ServerBag.php',
-    'Symfony\\Component\\HttpKernel\\HttpKernel' => $vendorDir . '/symfony/http-kernel/HttpKernel.php',
-    'Symfony\\Component\\HttpKernel\\HttpKernelInterface' => $vendorDir . '/symfony/http-kernel/HttpKernelInterface.php',
-    'Symfony\\Component\\HttpKernel\\TerminableInterface' => $vendorDir . '/symfony/http-kernel/TerminableInterface.php',
-    'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
-);
diff --git a/core/vendor/composer/autoload_files.php b/core/vendor/composer/autoload_files.php
deleted file mode 100644
index 693fec9..0000000
--- a/core/vendor/composer/autoload_files.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-// autoload_files.php @generated by Composer
-
-$vendorDir = dirname(dirname(__FILE__));
-$baseDir = dirname($vendorDir);
-
-return array(
-    $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
-    $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
-    $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
-    $baseDir . '/lib/Drupal.php',
-);
diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php
deleted file mode 100644
index 4ab08c8..0000000
--- a/core/vendor/composer/autoload_namespaces.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-// autoload_namespaces.php @generated by Composer
-
-$vendorDir = dirname(dirname(__FILE__));
-$baseDir = dirname($vendorDir);
-
-return array(
-    'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
-    'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsStream/src/main/php'),
-    'Twig_' => array($vendorDir . '/twig/twig/lib'),
-    'Stack' => array($vendorDir . '/stack/builder/src'),
-    'Psr\\Log\\' => array($vendorDir . '/psr/log'),
-    'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
-    'Egulias\\' => array($vendorDir . '/egulias/email-validator/src'),
-    'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'),
-    'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
-    'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
-    'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'),
-    'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib'),
-    'Doctrine\\Common\\Annotations\\' => array($vendorDir . '/doctrine/annotations/lib'),
-    'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib'),
-    'Behat\\Mink\\Driver' => array($vendorDir . '/behat/mink-browserkit-driver/src'),
-);
diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php
deleted file mode 100644
index bd3969e..0000000
--- a/core/vendor/composer/autoload_psr4.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-// autoload_psr4.php @generated by Composer
-
-$vendorDir = dirname(dirname(__FILE__));
-$baseDir = dirname($vendorDir);
-
-return array(
-    'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib/src'),
-    'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed/src'),
-    'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper/src'),
-    'Zend\\Diactoros\\' => array($vendorDir . '/zendframework/zend-diactoros/src'),
-    'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
-    'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
-    'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
-    'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
-    'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
-    'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
-    'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
-    'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
-    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
-    'Symfony\\Component\\DomCrawler\\' => array($vendorDir . '/symfony/dom-crawler'),
-    'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
-    'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
-    'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
-    'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
-    'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
-    'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'),
-    'Symfony\\Cmf\\Component\\Routing\\' => array($vendorDir . '/symfony-cmf/routing'),
-    'Symfony\\Bridge\\PsrHttpMessage\\' => array($vendorDir . '/symfony/psr-http-message-bridge'),
-    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
-    'Masterminds\\' => array($vendorDir . '/masterminds/html5/src'),
-    'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
-    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
-    'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
-    'Goutte\\' => array($vendorDir . '/fabpot/goutte/Goutte'),
-    'Drupal\\Driver\\' => array($baseDir . '/../drivers/lib/Drupal/Driver'),
-    'Drupal\\Core\\' => array($baseDir . '/lib/Drupal/Core'),
-    'Drupal\\Component\\' => array($baseDir . '/lib/Drupal/Component'),
-    'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
-    'Behat\\Mink\\Driver\\' => array($vendorDir . '/behat/mink-goutte-driver/src'),
-    'Behat\\Mink\\' => array($vendorDir . '/behat/mink/src'),
-);
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
deleted file mode 100644
index 0655b5b..0000000
--- a/core/vendor/composer/installed.json
+++ /dev/null
@@ -1,3482 +0,0 @@
-[
-    {
-        "name": "psr/log",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/php-fig/log.git",
-            "reference": "1.0.0"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
-            "reference": "1.0.0",
-            "shasum": ""
-        },
-        "time": "2012-12-21 11:40:51",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Psr\\Log\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "PHP-FIG",
-                "homepage": "http://www.php-fig.org/"
-            }
-        ],
-        "description": "Common interface for logging libraries",
-        "keywords": [
-            "log",
-            "psr",
-            "psr-3"
-        ]
-    },
-    {
-        "name": "symfony-cmf/routing",
-        "version": "1.3.0",
-        "version_normalized": "1.3.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony-cmf/Routing.git",
-            "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6",
-            "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "psr/log": "~1.0",
-            "symfony/http-kernel": "~2.2",
-            "symfony/routing": "~2.2"
-        },
-        "require-dev": {
-            "symfony/config": "~2.2",
-            "symfony/dependency-injection": "~2.0@stable",
-            "symfony/event-dispatcher": "~2.1"
-        },
-        "suggest": {
-            "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1"
-        },
-        "time": "2014-10-20 20:55:17",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Cmf\\Component\\Routing\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony CMF Community",
-                "homepage": "https://github.com/symfony-cmf/Routing/contributors"
-            }
-        ],
-        "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
-        "homepage": "http://cmf.symfony.com",
-        "keywords": [
-            "database",
-            "routing"
-        ]
-    },
-    {
-        "name": "sebastian/global-state",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/global-state.git",
-            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.2"
-        },
-        "suggest": {
-            "ext-uopz": "*"
-        },
-        "time": "2014-10-06 09:23:50",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Snapshotting of global state",
-        "homepage": "http://www.github.com/sebastianbergmann/global-state",
-        "keywords": [
-            "global state"
-        ]
-    },
-    {
-        "name": "behat/mink",
-        "version": "v1.6.1",
-        "version_normalized": "1.6.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/Mink.git",
-            "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/Mink/zipball/8b68523a339ec991bcd638b39dc8f04f808da88a",
-            "reference": "8b68523a339ec991bcd638b39dc8f04f808da88a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.1",
-            "symfony/css-selector": "~2.0"
-        },
-        "suggest": {
-            "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
-            "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
-            "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
-            "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
-        },
-        "time": "2015-02-04 17:02:06",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.6.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Behat\\Mink\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Browser controller/emulator abstraction for PHP",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "browser",
-            "testing",
-            "web"
-        ]
-    },
-    {
-        "name": "behat/mink-browserkit-driver",
-        "version": "v1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
-            "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/aed8f4a596b79014a75254c3e337511c33e38cbd",
-            "reference": "aed8f4a596b79014a75254c3e337511c33e38cbd",
-            "shasum": ""
-        },
-        "require": {
-            "behat/mink": "~1.6@dev",
-            "php": ">=5.3.1",
-            "symfony/browser-kit": "~2.0",
-            "symfony/dom-crawler": "~2.0"
-        },
-        "require-dev": {
-            "silex/silex": "~1.2"
-        },
-        "time": "2014-09-26 11:35:19",
-        "type": "mink-driver",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Behat\\Mink\\Driver": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Symfony2 BrowserKit driver for Mink framework",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "Mink",
-            "Symfony2",
-            "browser",
-            "testing"
-        ]
-    },
-    {
-        "name": "sebastian/diff",
-        "version": "1.3.0",
-        "version_normalized": "1.3.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/diff.git",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
-            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.2"
-        },
-        "time": "2015-02-22 15:13:53",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Kore Nordmann",
-                "email": "mail@kore-nordmann.de"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Diff implementation",
-        "homepage": "http://www.github.com/sebastianbergmann/diff",
-        "keywords": [
-            "diff"
-        ]
-    },
-    {
-        "name": "phpdocumentor/reflection-docblock",
-        "version": "2.0.4",
-        "version_normalized": "2.0.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
-            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "suggest": {
-            "dflydev/markdown": "~1.0",
-            "erusev/parsedown": "~1.0"
-        },
-        "time": "2015-02-03 12:10:50",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "phpDocumentor": [
-                    "src/"
-                ]
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Mike van Riel",
-                "email": "mike.vanriel@naenius.com"
-            }
-        ]
-    },
-    {
-        "name": "mikey179/vfsStream",
-        "version": "v1.5.0",
-        "version_normalized": "1.5.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/mikey179/vfsStream.git",
-            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
-            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.5"
-        },
-        "time": "2015-03-29 11:19:49",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.5.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "org\\bovigo\\vfs\\": "src/main/php"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Frank Kleine",
-                "homepage": "http://frankkleine.de/",
-                "role": "Developer"
-            }
-        ],
-        "description": "Virtual file system to mock the real file system in unit tests.",
-        "homepage": "http://vfs.bovigo.org/"
-    },
-    {
-        "name": "doctrine/lexer",
-        "version": "v1.0.1",
-        "version_normalized": "1.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/lexer.git",
-            "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
-            "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "time": "2014-09-09 13:34:57",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\Lexer\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "lexer",
-            "parser"
-        ]
-    },
-    {
-        "name": "psr/http-message",
-        "version": "1.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/php-fig/http-message.git",
-            "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-            "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0"
-        },
-        "time": "2015-05-04 20:22:00",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Psr\\Http\\Message\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "PHP-FIG",
-                "homepage": "http://www.php-fig.org/"
-            }
-        ],
-        "description": "Common interface for HTTP messages",
-        "keywords": [
-            "http",
-            "http-message",
-            "psr",
-            "psr-7",
-            "request",
-            "response"
-        ]
-    },
-    {
-        "name": "symfony/psr-http-message-bridge",
-        "version": "v0.2",
-        "version_normalized": "0.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/psr-http-message-bridge.git",
-            "reference": "dc7e308e1dc2898a46776e2221a643cb08315453"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453",
-            "reference": "dc7e308e1dc2898a46776e2221a643cb08315453",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "psr/http-message": "~1.0",
-            "symfony/http-foundation": "~2.3|~3.0"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7|~3.0"
-        },
-        "suggest": {
-            "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
-        },
-        "time": "2015-05-29 17:57:12",
-        "type": "symfony-bridge",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Bridge\\PsrHttpMessage\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Symfony Community",
-                "homepage": "http://symfony.com/contributors"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            }
-        ],
-        "description": "PSR HTTP message bridge",
-        "homepage": "http://symfony.com",
-        "keywords": [
-            "http",
-            "http-message",
-            "psr-7"
-        ]
-    },
-    {
-        "name": "behat/mink-goutte-driver",
-        "version": "dev-master",
-        "version_normalized": "9999999-dev",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/minkphp/MinkGoutteDriver.git",
-            "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/7e9a7319cc0e8cf9d4d4c9e06e2020d3a31bd792",
-            "reference": "cc5ce119b5a8e06662f634b35967aff0b0c7dfdd",
-            "shasum": ""
-        },
-        "require": {
-            "behat/mink": "~1.6@dev",
-            "behat/mink-browserkit-driver": "~1.2@dev",
-            "fabpot/goutte": "~1.0.4|~2.0|~3.1",
-            "php": ">=5.3.1"
-        },
-        "time": "2015-06-27 00:15:11",
-        "type": "mink-driver",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.1.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Behat\\Mink\\Driver\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            }
-        ],
-        "description": "Goutte driver for Mink framework",
-        "homepage": "http://mink.behat.org/",
-        "keywords": [
-            "browser",
-            "goutte",
-            "headless",
-            "testing"
-        ]
-    },
-    {
-        "name": "egulias/email-validator",
-        "version": "1.2.9",
-        "version_normalized": "1.2.9.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/egulias/EmailValidator.git",
-            "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1",
-            "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/lexer": "~1.0,>=1.0.1",
-            "php": ">= 5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4",
-            "satooshi/php-coveralls": "dev-master"
-        },
-        "time": "2015-06-22 21:07:51",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Egulias\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Eduardo Gulias Davis"
-            }
-        ],
-        "description": "A library for validating emails",
-        "homepage": "https://github.com/egulias/EmailValidator",
-        "keywords": [
-            "email",
-            "emailvalidation",
-            "emailvalidator",
-            "validation",
-            "validator"
-        ]
-    },
-    {
-        "name": "guzzlehttp/promises",
-        "version": "1.0.2",
-        "version_normalized": "1.0.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/guzzle/promises.git",
-            "reference": "97fe7210def29451ec74923b27e552238defd75a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a",
-            "reference": "97fe7210def29451ec74923b27e552238defd75a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.5.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "time": "2015-08-15 19:37:21",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "GuzzleHttp\\Promise\\": "src/"
-            },
-            "files": [
-                "src/functions_include.php"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Michael Dowling",
-                "email": "mtdowling@gmail.com",
-                "homepage": "https://github.com/mtdowling"
-            }
-        ],
-        "description": "Guzzle promises library",
-        "keywords": [
-            "promise"
-        ]
-    },
-    {
-        "name": "guzzlehttp/psr7",
-        "version": "1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/guzzle/psr7.git",
-            "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
-            "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.4.0",
-            "psr/http-message": "~1.0"
-        },
-        "provide": {
-            "psr/http-message-implementation": "1.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "time": "2015-08-15 19:32:36",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "GuzzleHttp\\Psr7\\": "src/"
-            },
-            "files": [
-                "src/functions_include.php"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Michael Dowling",
-                "email": "mtdowling@gmail.com",
-                "homepage": "https://github.com/mtdowling"
-            }
-        ],
-        "description": "PSR-7 message implementation",
-        "keywords": [
-            "http",
-            "message",
-            "stream",
-            "uri"
-        ]
-    },
-    {
-        "name": "doctrine/common",
-        "version": "v2.5.1",
-        "version_normalized": "2.5.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/common.git",
-            "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9",
-            "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/annotations": "1.*",
-            "doctrine/cache": "1.*",
-            "doctrine/collections": "1.*",
-            "doctrine/inflector": "1.*",
-            "doctrine/lexer": "1.*",
-            "php": ">=5.3.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~3.7"
-        },
-        "time": "2015-08-31 13:00:22",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Common Library for Doctrine projects",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "annotations",
-            "collections",
-            "eventmanager",
-            "persistence",
-            "spl"
-        ]
-    },
-    {
-        "name": "doctrine/annotations",
-        "version": "v1.2.7",
-        "version_normalized": "1.2.7.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/annotations.git",
-            "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
-            "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/lexer": "1.*",
-            "php": ">=5.3.2"
-        },
-        "require-dev": {
-            "doctrine/cache": "1.*",
-            "phpunit/phpunit": "4.*"
-        },
-        "time": "2015-08-31 12:32:49",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\Annotations\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Docblock Annotations Parser",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "annotations",
-            "docblock",
-            "parser"
-        ]
-    },
-    {
-        "name": "doctrine/instantiator",
-        "version": "1.0.5",
-        "version_normalized": "1.0.5.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/instantiator.git",
-            "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
-            "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3,<8.0-DEV"
-        },
-        "require-dev": {
-            "athletic/athletic": "~0.1.8",
-            "ext-pdo": "*",
-            "ext-phar": "*",
-            "phpunit/phpunit": "~4.0",
-            "squizlabs/php_codesniffer": "~2.0"
-        },
-        "time": "2015-06-14 21:17:01",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Marco Pivetta",
-                "email": "ocramius@gmail.com",
-                "homepage": "http://ocramius.github.com/"
-            }
-        ],
-        "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
-        "homepage": "https://github.com/doctrine/instantiator",
-        "keywords": [
-            "constructor",
-            "instantiate"
-        ]
-    },
-    {
-        "name": "doctrine/cache",
-        "version": "v1.4.2",
-        "version_normalized": "1.4.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/cache.git",
-            "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca",
-            "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "conflict": {
-            "doctrine/common": ">2.2,<2.4"
-        },
-        "require-dev": {
-            "phpunit/phpunit": ">=3.7",
-            "predis/predis": "~1.0",
-            "satooshi/php-coveralls": "~0.6"
-        },
-        "time": "2015-08-31 12:36:41",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.5.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\Cache\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Caching library offering an object-oriented API for many cache backends",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "cache",
-            "caching"
-        ]
-    },
-    {
-        "name": "doctrine/collections",
-        "version": "v1.3.0",
-        "version_normalized": "1.3.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/collections.git",
-            "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
-            "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.0"
-        },
-        "time": "2015-04-14 22:21:58",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\Collections\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Collections Abstraction library",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "array",
-            "collections",
-            "iterator"
-        ]
-    },
-    {
-        "name": "doctrine/inflector",
-        "version": "v1.0.1",
-        "version_normalized": "1.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/inflector.git",
-            "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604",
-            "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "4.*"
-        },
-        "time": "2014-12-20 21:24:13",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common\\Inflector\\": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org"
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de"
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com"
-            },
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com"
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com"
-            }
-        ],
-        "description": "Common String Manipulations with regard to casing and singular/plural rules.",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "inflection",
-            "pluralize",
-            "singularize",
-            "string"
-        ]
-    },
-    {
-        "name": "sebastian/environment",
-        "version": "1.3.2",
-        "version_normalized": "1.3.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/environment.git",
-            "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
-            "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-08-03 06:14:51",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.3.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Provides functionality to handle HHVM/PHP environments",
-        "homepage": "http://www.github.com/sebastianbergmann/environment",
-        "keywords": [
-            "Xdebug",
-            "environment",
-            "hhvm"
-        ]
-    },
-    {
-        "name": "phpunit/php-timer",
-        "version": "1.0.7",
-        "version_normalized": "1.0.7.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-timer.git",
-            "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
-            "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2015-06-21 08:01:12",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Utility class for timing",
-        "homepage": "https://github.com/sebastianbergmann/php-timer/",
-        "keywords": [
-            "timer"
-        ]
-    },
-    {
-        "name": "phpunit/php-code-coverage",
-        "version": "2.2.2",
-        "version_normalized": "2.2.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-            "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2d7c03c0e4e080901b8f33b2897b0577be18a13c",
-            "reference": "2d7c03c0e4e080901b8f33b2897b0577be18a13c",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "phpunit/php-file-iterator": "~1.3",
-            "phpunit/php-text-template": "~1.2",
-            "phpunit/php-token-stream": "~1.3",
-            "sebastian/environment": "^1.3.2",
-            "sebastian/version": "~1.0"
-        },
-        "require-dev": {
-            "ext-xdebug": ">=2.1.4",
-            "phpunit/phpunit": "~4"
-        },
-        "suggest": {
-            "ext-dom": "*",
-            "ext-xdebug": ">=2.2.1",
-            "ext-xmlwriter": "*"
-        },
-        "time": "2015-08-04 03:42:39",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
-        "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
-        "keywords": [
-            "coverage",
-            "testing",
-            "xunit"
-        ]
-    },
-    {
-        "name": "phpunit/phpunit",
-        "version": "4.8.6",
-        "version_normalized": "4.8.6.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit.git",
-            "reference": "2246830f4a1a551c67933e4171bf2126dc29d357"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2246830f4a1a551c67933e4171bf2126dc29d357",
-            "reference": "2246830f4a1a551c67933e4171bf2126dc29d357",
-            "shasum": ""
-        },
-        "require": {
-            "ext-dom": "*",
-            "ext-json": "*",
-            "ext-pcre": "*",
-            "ext-reflection": "*",
-            "ext-spl": "*",
-            "php": ">=5.3.3",
-            "phpspec/prophecy": "^1.3.1",
-            "phpunit/php-code-coverage": "~2.1",
-            "phpunit/php-file-iterator": "~1.4",
-            "phpunit/php-text-template": "~1.2",
-            "phpunit/php-timer": ">=1.0.6",
-            "phpunit/phpunit-mock-objects": "~2.3",
-            "sebastian/comparator": "~1.1",
-            "sebastian/diff": "~1.2",
-            "sebastian/environment": "~1.3",
-            "sebastian/exporter": "~1.2",
-            "sebastian/global-state": "~1.0",
-            "sebastian/version": "~1.0",
-            "symfony/yaml": "~2.1|~3.0"
-        },
-        "suggest": {
-            "phpunit/php-invoker": "~1.1"
-        },
-        "time": "2015-08-24 04:09:38",
-        "bin": [
-            "phpunit"
-        ],
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "4.8.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
-                "role": "lead"
-            }
-        ],
-        "description": "The PHP Unit Testing framework.",
-        "homepage": "https://phpunit.de/",
-        "keywords": [
-            "phpunit",
-            "testing",
-            "xunit"
-        ]
-    },
-    {
-        "name": "easyrdf/easyrdf",
-        "version": "0.9.1",
-        "version_normalized": "0.9.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/njh/easyrdf.git",
-            "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566",
-            "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566",
-            "shasum": ""
-        },
-        "require": {
-            "ext-mbstring": "*",
-            "ext-pcre": "*",
-            "php": ">=5.2.8"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~3.5",
-            "sami/sami": "~1.4",
-            "squizlabs/php_codesniffer": "~1.4.3"
-        },
-        "suggest": {
-            "ml/json-ld": "~1.0"
-        },
-        "time": "2015-02-27 09:45:49",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "EasyRdf_": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Nicholas Humfrey",
-                "email": "njh@aelius.com",
-                "homepage": "http://www.aelius.com/njh/",
-                "role": "Developer"
-            },
-            {
-                "name": "Alexey Zakhlestin",
-                "email": "indeyets@gmail.com",
-                "role": "Developer"
-            }
-        ],
-        "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
-        "homepage": "http://www.easyrdf.org/",
-        "keywords": [
-            "Linked Data",
-            "RDF",
-            "Semantic Web",
-            "Turtle",
-            "rdfa",
-            "sparql"
-        ]
-    },
-    {
-        "name": "zendframework/zend-stdlib",
-        "version": "2.6.0",
-        "version_normalized": "2.6.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-stdlib.git",
-            "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/a35758803fc9051ec1aff43989e679b6b451b1b4",
-            "reference": "a35758803fc9051ec1aff43989e679b6b451b1b4",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.5"
-        },
-        "require-dev": {
-            "fabpot/php-cs-fixer": "1.7.*",
-            "phpunit/phpunit": "~4.0",
-            "zendframework/zend-config": "~2.5",
-            "zendframework/zend-eventmanager": "~2.5",
-            "zendframework/zend-filter": "~2.5",
-            "zendframework/zend-inputfilter": "~2.5",
-            "zendframework/zend-serializer": "~2.5",
-            "zendframework/zend-servicemanager": "~2.5"
-        },
-        "suggest": {
-            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-            "zendframework/zend-filter": "To support naming strategy hydrator usage",
-            "zendframework/zend-serializer": "Zend\\Serializer component",
-            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
-        },
-        "time": "2015-07-21 17:08:05",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6-dev",
-                "dev-develop": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Stdlib\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "homepage": "https://github.com/zendframework/zend-stdlib",
-        "keywords": [
-            "stdlib",
-            "zf2"
-        ]
-    },
-    {
-        "name": "zendframework/zend-escaper",
-        "version": "2.5.1",
-        "version_normalized": "2.5.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-escaper.git",
-            "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
-            "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.23"
-        },
-        "require-dev": {
-            "fabpot/php-cs-fixer": "1.7.*",
-            "phpunit/phpunit": "~4.0"
-        },
-        "time": "2015-06-03 14:05:37",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.5-dev",
-                "dev-develop": "2.6-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Escaper\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "homepage": "https://github.com/zendframework/zend-escaper",
-        "keywords": [
-            "escaper",
-            "zf2"
-        ]
-    },
-    {
-        "name": "zendframework/zend-feed",
-        "version": "2.5.2",
-        "version_normalized": "2.5.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-feed.git",
-            "reference": "0661345b82b51428619e05d3aadd3de65b57fa54"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54",
-            "reference": "0661345b82b51428619e05d3aadd3de65b57fa54",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.5",
-            "zendframework/zend-escaper": "~2.5",
-            "zendframework/zend-stdlib": "~2.5"
-        },
-        "require-dev": {
-            "fabpot/php-cs-fixer": "1.7.*",
-            "phpunit/phpunit": "~4.0",
-            "zendframework/zend-cache": "~2.5",
-            "zendframework/zend-db": "~2.5",
-            "zendframework/zend-http": "~2.5",
-            "zendframework/zend-servicemanager": "~2.5",
-            "zendframework/zend-validator": "~2.5"
-        },
-        "suggest": {
-            "zendframework/zend-cache": "Zend\\Cache component",
-            "zendframework/zend-db": "Zend\\Db component",
-            "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
-            "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
-            "zendframework/zend-validator": "Zend\\Validator component"
-        },
-        "time": "2015-08-04 21:39:18",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.5-dev",
-                "dev-develop": "2.6-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Feed\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "description": "provides functionality for consuming RSS and Atom feeds",
-        "homepage": "https://github.com/zendframework/zend-feed",
-        "keywords": [
-            "feed",
-            "zf2"
-        ]
-    },
-    {
-        "name": "zendframework/zend-diactoros",
-        "version": "1.1.3",
-        "version_normalized": "1.1.3.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/zendframework/zend-diactoros.git",
-            "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
-            "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.4",
-            "psr/http-message": "~1.0"
-        },
-        "provide": {
-            "psr/http-message-implementation": "~1.0.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.6",
-            "squizlabs/php_codesniffer": "^2.3.1"
-        },
-        "time": "2015-08-10 20:04:20",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev",
-                "dev-develop": "1.1-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Zend\\Diactoros\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-2-Clause"
-        ],
-        "description": "PSR HTTP Message implementations",
-        "homepage": "https://github.com/zendframework/zend-diactoros",
-        "keywords": [
-            "http",
-            "psr",
-            "psr-7"
-        ]
-    },
-    {
-        "name": "fabpot/goutte",
-        "version": "v3.1.1",
-        "version_normalized": "3.1.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/FriendsOfPHP/Goutte.git",
-            "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
-            "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
-            "shasum": ""
-        },
-        "require": {
-            "guzzlehttp/guzzle": "^6.0",
-            "php": ">=5.5.0",
-            "symfony/browser-kit": "~2.1",
-            "symfony/css-selector": "~2.1",
-            "symfony/dom-crawler": "~2.1"
-        },
-        "time": "2015-08-29 16:16:56",
-        "type": "application",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "3.1-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Goutte\\": "Goutte"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            }
-        ],
-        "description": "A simple PHP Web Scraper",
-        "homepage": "https://github.com/FriendsOfPHP/Goutte",
-        "keywords": [
-            "scraper"
-        ]
-    },
-    {
-        "name": "phpspec/prophecy",
-        "version": "v1.5.0",
-        "version_normalized": "1.5.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/phpspec/prophecy.git",
-            "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-            "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/instantiator": "^1.0.2",
-            "phpdocumentor/reflection-docblock": "~2.0",
-            "sebastian/comparator": "~1.1"
-        },
-        "require-dev": {
-            "phpspec/phpspec": "~2.0"
-        },
-        "time": "2015-08-13 10:07:40",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.4.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Prophecy\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Konstantin Kudryashov",
-                "email": "ever.zet@gmail.com",
-                "homepage": "http://everzet.com"
-            },
-            {
-                "name": "Marcello Duarte",
-                "email": "marcello.duarte@gmail.com"
-            }
-        ],
-        "description": "Highly opinionated mocking framework for PHP 5.3+",
-        "homepage": "https://github.com/phpspec/prophecy",
-        "keywords": [
-            "Double",
-            "Dummy",
-            "fake",
-            "mock",
-            "spy",
-            "stub"
-        ]
-    },
-    {
-        "name": "phpunit/php-file-iterator",
-        "version": "1.4.1",
-        "version_normalized": "1.4.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
-            "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
-            "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2015-06-21 13:08:43",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.4.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "FilterIterator implementation that filters files based on a list of suffixes.",
-        "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
-        "keywords": [
-            "filesystem",
-            "iterator"
-        ]
-    },
-    {
-        "name": "phpunit/php-text-template",
-        "version": "1.2.1",
-        "version_normalized": "1.2.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-text-template.git",
-            "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-            "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "time": "2015-06-21 13:50:34",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Simple template engine.",
-        "homepage": "https://github.com/sebastianbergmann/php-text-template/",
-        "keywords": [
-            "template"
-        ]
-    },
-    {
-        "name": "phpunit/php-token-stream",
-        "version": "1.4.6",
-        "version_normalized": "1.4.6.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/php-token-stream.git",
-            "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
-            "reference": "3ab72c62e550370a6cd5dc873e1a04ab57562f5b",
-            "shasum": ""
-        },
-        "require": {
-            "ext-tokenizer": "*",
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.2"
-        },
-        "time": "2015-08-16 08:51:00",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.4-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Wrapper around PHP's tokenizer extension.",
-        "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
-        "keywords": [
-            "tokenizer"
-        ]
-    },
-    {
-        "name": "phpunit/phpunit-mock-objects",
-        "version": "2.3.7",
-        "version_normalized": "2.3.7.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
-            "reference": "5e2645ad49d196e020b85598d7c97e482725786a"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a",
-            "reference": "5e2645ad49d196e020b85598d7c97e482725786a",
-            "shasum": ""
-        },
-        "require": {
-            "doctrine/instantiator": "^1.0.2",
-            "php": ">=5.3.3",
-            "phpunit/php-text-template": "~1.2",
-            "sebastian/exporter": "~1.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "suggest": {
-            "ext-soap": "*"
-        },
-        "time": "2015-08-19 09:14:08",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sb@sebastian-bergmann.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Mock Object library for PHPUnit",
-        "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
-        "keywords": [
-            "mock",
-            "xunit"
-        ]
-    },
-    {
-        "name": "sebastian/comparator",
-        "version": "1.2.0",
-        "version_normalized": "1.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/comparator.git",
-            "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
-            "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "sebastian/diff": "~1.2",
-            "sebastian/exporter": "~1.2"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-07-26 15:48:44",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Volker Dusch",
-                "email": "github@wallbash.com"
-            },
-            {
-                "name": "Bernhard Schussek",
-                "email": "bschussek@2bepublished.at"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            }
-        ],
-        "description": "Provides the functionality to compare PHP values for equality",
-        "homepage": "http://www.github.com/sebastianbergmann/comparator",
-        "keywords": [
-            "comparator",
-            "compare",
-            "equality"
-        ]
-    },
-    {
-        "name": "sebastian/exporter",
-        "version": "1.2.1",
-        "version_normalized": "1.2.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/exporter.git",
-            "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
-            "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3",
-            "sebastian/recursion-context": "~1.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-06-21 07:55:53",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.2.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Volker Dusch",
-                "email": "github@wallbash.com"
-            },
-            {
-                "name": "Bernhard Schussek",
-                "email": "bschussek@2bepublished.at"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            },
-            {
-                "name": "Adam Harvey",
-                "email": "aharvey@php.net"
-            }
-        ],
-        "description": "Provides the functionality to export PHP variables for visualization",
-        "homepage": "http://www.github.com/sebastianbergmann/exporter",
-        "keywords": [
-            "export",
-            "exporter"
-        ]
-    },
-    {
-        "name": "sebastian/recursion-context",
-        "version": "1.0.1",
-        "version_normalized": "1.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/recursion-context.git",
-            "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
-            "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "~4.4"
-        },
-        "time": "2015-06-21 08:04:50",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Jeff Welch",
-                "email": "whatthejeff@gmail.com"
-            },
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de"
-            },
-            {
-                "name": "Adam Harvey",
-                "email": "aharvey@php.net"
-            }
-        ],
-        "description": "Provides functionality to recursively process PHP variables",
-        "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
-    },
-    {
-        "name": "sebastian/version",
-        "version": "1.0.6",
-        "version_normalized": "1.0.6.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sebastianbergmann/version.git",
-            "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-            "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
-            "shasum": ""
-        },
-        "time": "2015-06-21 13:59:46",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "classmap": [
-                "src/"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Sebastian Bergmann",
-                "email": "sebastian@phpunit.de",
-                "role": "lead"
-            }
-        ],
-        "description": "Library that helps with managing the version number of Git-hosted PHP projects",
-        "homepage": "https://github.com/sebastianbergmann/version"
-    },
-    {
-        "name": "stack/builder",
-        "version": "v1.0.3",
-        "version_normalized": "1.0.3.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/stackphp/builder.git",
-            "reference": "c1f8a4693b55c563405024f708a76ef576c3b276"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/stackphp/builder/zipball/c1f8a4693b55c563405024f708a76ef576c3b276",
-            "reference": "c1f8a4693b55c563405024f708a76ef576c3b276",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0",
-            "symfony/http-foundation": "~2.1",
-            "symfony/http-kernel": "~2.1"
-        },
-        "require-dev": {
-            "silex/silex": "~1.0"
-        },
-        "time": "2014-11-23 20:37:11",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Stack": "src"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Igor Wiedler",
-                "email": "igor@wiedler.ch"
-            }
-        ],
-        "description": "Builder for stack middlewares based on HttpKernelInterface.",
-        "keywords": [
-            "stack"
-        ]
-    },
-    {
-        "name": "masterminds/html5",
-        "version": "2.1.2",
-        "version_normalized": "2.1.2.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/Masterminds/html5-php.git",
-            "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
-            "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
-            "shasum": ""
-        },
-        "require": {
-            "ext-libxml": "*",
-            "php": ">=5.3.0"
-        },
-        "require-dev": {
-            "phpunit/phpunit": "4.*",
-            "sami/sami": "~2.0",
-            "satooshi/php-coveralls": "0.6.*"
-        },
-        "time": "2015-06-07 08:43:18",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.1-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Masterminds\\": "src"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Matt Butcher",
-                "email": "technosophos@gmail.com"
-            },
-            {
-                "name": "Asmir Mustafic",
-                "email": "goetas@gmail.com"
-            },
-            {
-                "name": "Matt Farina",
-                "email": "matt@mattfarina.com"
-            }
-        ],
-        "description": "An HTML5 parser and serializer.",
-        "homepage": "http://masterminds.github.io/html5-php",
-        "keywords": [
-            "HTML5",
-            "dom",
-            "html",
-            "parser",
-            "querypath",
-            "serializer",
-            "xml"
-        ]
-    },
-    {
-        "name": "guzzlehttp/guzzle",
-        "version": "6.1.0",
-        "version_normalized": "6.1.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/guzzle/guzzle.git",
-            "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
-            "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
-            "shasum": ""
-        },
-        "require": {
-            "guzzlehttp/promises": "~1.0",
-            "guzzlehttp/psr7": "~1.1",
-            "php": ">=5.5.0"
-        },
-        "require-dev": {
-            "ext-curl": "*",
-            "phpunit/phpunit": "~4.0",
-            "psr/log": "~1.0"
-        },
-        "time": "2015-09-08 17:36:26",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "6.1-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "files": [
-                "src/functions_include.php"
-            ],
-            "psr-4": {
-                "GuzzleHttp\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Michael Dowling",
-                "email": "mtdowling@gmail.com",
-                "homepage": "https://github.com/mtdowling"
-            }
-        ],
-        "description": "Guzzle is a PHP HTTP client library",
-        "homepage": "http://guzzlephp.org/",
-        "keywords": [
-            "client",
-            "curl",
-            "framework",
-            "http",
-            "http client",
-            "rest",
-            "web service"
-        ]
-    },
-    {
-        "name": "symfony/class-loader",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/ClassLoader.git",
-            "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/d957ea6295d7016e20d7eff33a6c1deef819c0d4",
-            "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/finder": "~2.0,>=2.0.5",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-26 17:56:37",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\ClassLoader\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony ClassLoader Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/console",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Console.git",
-            "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Console/zipball/9ff9032151186bd66ecee727d728f1319f52d1d8",
-            "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/event-dispatcher": "~2.1",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/process": "~2.1"
-        },
-        "suggest": {
-            "psr/log": "For using the console logger",
-            "symfony/event-dispatcher": "",
-            "symfony/process": ""
-        },
-        "time": "2015-09-03 11:40:38",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Console\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Console Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/css-selector",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/CssSelector.git",
-            "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/CssSelector/zipball/ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
-            "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-24 07:13:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\CssSelector\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Jean-FranÃ§ois Simon",
-                "email": "jeanfrancois.simon@sensiolabs.com"
-            },
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony CssSelector Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/dependency-injection",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/DependencyInjection.git",
-            "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/c0a3a97b9450d77cd8eff81c5825efb3624c255b",
-            "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "conflict": {
-            "symfony/expression-language": "<2.6"
-        },
-        "require-dev": {
-            "symfony/config": "~2.2",
-            "symfony/expression-language": "~2.6",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/yaml": "~2.1"
-        },
-        "suggest": {
-            "symfony/config": "",
-            "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
-            "symfony/yaml": ""
-        },
-        "time": "2015-08-24 07:16:32",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\DependencyInjection\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony DependencyInjection Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/debug",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Debug.git",
-            "reference": "726bf9651d29f53243281d0b6418cfaa5e318281"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Debug/zipball/726bf9651d29f53243281d0b6418cfaa5e318281",
-            "reference": "726bf9651d29f53243281d0b6418cfaa5e318281",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9",
-            "psr/log": "~1.0"
-        },
-        "conflict": {
-            "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
-        },
-        "require-dev": {
-            "symfony/class-loader": "~2.2",
-            "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-29 11:12:16",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Debug\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Debug Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/http-foundation",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/HttpFoundation.git",
-            "reference": "7253c2041652353e71560bbd300d6256d170ddaf"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/7253c2041652353e71560bbd300d6256d170ddaf",
-            "reference": "7253c2041652353e71560bbd300d6256d170ddaf",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/expression-language": "~2.4",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-27 06:45:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\HttpFoundation\\": ""
-            },
-            "classmap": [
-                "Resources/stubs"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony HttpFoundation Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/event-dispatcher",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/EventDispatcher.git",
-            "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/b58c916f1db03a611b72dd702564f30ad8fe83fa",
-            "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/config": "~2.0,>=2.0.5",
-            "symfony/dependency-injection": "~2.6",
-            "symfony/expression-language": "~2.6",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/stopwatch": "~2.3"
-        },
-        "suggest": {
-            "symfony/dependency-injection": "",
-            "symfony/http-kernel": ""
-        },
-        "time": "2015-08-24 07:13:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\EventDispatcher\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony EventDispatcher Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/http-kernel",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/HttpKernel.git",
-            "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
-            "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9",
-            "psr/log": "~1.0",
-            "symfony/debug": "~2.6,>=2.6.2",
-            "symfony/event-dispatcher": "~2.6,>=2.6.7",
-            "symfony/http-foundation": "~2.5,>=2.5.4"
-        },
-        "conflict": {
-            "symfony/config": "<2.7"
-        },
-        "require-dev": {
-            "symfony/browser-kit": "~2.3",
-            "symfony/class-loader": "~2.1",
-            "symfony/config": "~2.7",
-            "symfony/console": "~2.3",
-            "symfony/css-selector": "~2.0,>=2.0.5",
-            "symfony/dependency-injection": "~2.2",
-            "symfony/dom-crawler": "~2.0,>=2.0.5",
-            "symfony/expression-language": "~2.4",
-            "symfony/finder": "~2.0,>=2.0.5",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/process": "~2.0,>=2.0.5",
-            "symfony/routing": "~2.2",
-            "symfony/stopwatch": "~2.3",
-            "symfony/templating": "~2.2",
-            "symfony/translation": "~2.0,>=2.0.5",
-            "symfony/var-dumper": "~2.6"
-        },
-        "suggest": {
-            "symfony/browser-kit": "",
-            "symfony/class-loader": "",
-            "symfony/config": "",
-            "symfony/console": "",
-            "symfony/dependency-injection": "",
-            "symfony/finder": "",
-            "symfony/var-dumper": ""
-        },
-        "time": "2015-09-08 14:26:39",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\HttpKernel\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony HttpKernel Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/routing",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Routing.git",
-            "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Routing/zipball/20b1378cb6efffb77ea0608232f18c8f0dd25109",
-            "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "conflict": {
-            "symfony/config": "<2.7"
-        },
-        "require-dev": {
-            "doctrine/annotations": "~1.0",
-            "doctrine/common": "~2.2",
-            "psr/log": "~1.0",
-            "symfony/config": "~2.7",
-            "symfony/expression-language": "~2.4",
-            "symfony/http-foundation": "~2.3",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/yaml": "~2.0,>=2.0.5"
-        },
-        "suggest": {
-            "doctrine/annotations": "For using the annotation loader",
-            "symfony/config": "For using the all-in-one router or any loader",
-            "symfony/expression-language": "For using expression matching",
-            "symfony/yaml": "For using the YAML loader"
-        },
-        "time": "2015-08-24 07:13:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Routing\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Routing Component",
-        "homepage": "https://symfony.com",
-        "keywords": [
-            "router",
-            "routing",
-            "uri",
-            "url"
-        ]
-    },
-    {
-        "name": "symfony/serializer",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Serializer.git",
-            "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Serializer/zipball/baf24f86a8656eea9c80988f332e51461bfcb67f",
-            "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "doctrine/annotations": "~1.0",
-            "doctrine/cache": "~1.0",
-            "symfony/config": "~2.2",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/property-access": "~2.3",
-            "symfony/yaml": "~2.0,>=2.0.5"
-        },
-        "suggest": {
-            "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-            "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-            "symfony/config": "For using the XML mapping loader.",
-            "symfony/property-access": "For using the ObjectNormalizer.",
-            "symfony/yaml": "For using the default YAML mapping loader."
-        },
-        "time": "2015-08-31 16:44:53",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Serializer\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Serializer Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/validator",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Validator.git",
-            "reference": "356459a697e26274d44c608513c05c23dc1d8ea7"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Validator/zipball/356459a697e26274d44c608513c05c23dc1d8ea7",
-            "reference": "356459a697e26274d44c608513c05c23dc1d8ea7",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9",
-            "symfony/translation": "~2.4"
-        },
-        "require-dev": {
-            "doctrine/annotations": "~1.0",
-            "doctrine/cache": "~1.0",
-            "egulias/email-validator": "~1.2,>=1.2.1",
-            "symfony/config": "~2.2",
-            "symfony/expression-language": "~2.4",
-            "symfony/http-foundation": "~2.1",
-            "symfony/intl": "~2.4",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/property-access": "~2.3",
-            "symfony/yaml": "~2.0,>=2.0.5"
-        },
-        "suggest": {
-            "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
-            "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
-            "egulias/email-validator": "Strict (RFC compliant) email validation",
-            "symfony/config": "",
-            "symfony/expression-language": "For using the 2.4 Expression validator",
-            "symfony/http-foundation": "",
-            "symfony/intl": "",
-            "symfony/property-access": "For using the 2.4 Validator API",
-            "symfony/yaml": ""
-        },
-        "time": "2015-09-06 08:36:38",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Validator\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Validator Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/process",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Process.git",
-            "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Process/zipball/f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
-            "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-27 06:45:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Process\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Process Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/yaml",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Yaml.git",
-            "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Yaml/zipball/2dc7b06c065df96cc686c66da2705e5e18aef661",
-            "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-08-24 07:13:45",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Yaml\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Yaml Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/dom-crawler",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/DomCrawler.git",
-            "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
-            "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "require-dev": {
-            "symfony/css-selector": "~2.3",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "suggest": {
-            "symfony/css-selector": ""
-        },
-        "time": "2015-08-26 10:48:03",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\DomCrawler\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony DomCrawler Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/browser-kit",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/BrowserKit.git",
-            "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
-            "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9",
-            "symfony/dom-crawler": "~2.0,>=2.0.5"
-        },
-        "require-dev": {
-            "symfony/css-selector": "~2.0,>=2.0.5",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/process": "~2.0,>=2.0.5"
-        },
-        "suggest": {
-            "symfony/process": ""
-        },
-        "time": "2015-09-06 08:36:38",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\BrowserKit\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony BrowserKit Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "symfony/translation",
-        "version": "v2.7.4",
-        "version_normalized": "2.7.4.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/Translation.git",
-            "reference": "485877661835e188cd78345c6d4eef1290d17571"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/Translation/zipball/485877661835e188cd78345c6d4eef1290d17571",
-            "reference": "485877661835e188cd78345c6d4eef1290d17571",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.9"
-        },
-        "conflict": {
-            "symfony/config": "<2.7"
-        },
-        "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/config": "~2.7",
-            "symfony/intl": "~2.4",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/yaml": "~2.2"
-        },
-        "suggest": {
-            "psr/log": "To use logging capability in translator",
-            "symfony/config": "",
-            "symfony/yaml": ""
-        },
-        "time": "2015-09-06 08:36:38",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.7-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Symfony\\Component\\Translation\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony Translation Component",
-        "homepage": "https://symfony.com"
-    },
-    {
-        "name": "twig/twig",
-        "version": "v1.22.1",
-        "version_normalized": "1.22.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/twigphp/Twig.git",
-            "reference": "b7fc2469fa009897871fb95b68237286fc54a5ad"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/twigphp/Twig/zipball/b7fc2469fa009897871fb95b68237286fc54a5ad",
-            "reference": "b7fc2469fa009897871fb95b68237286fc54a5ad",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.2.7"
-        },
-        "require-dev": {
-            "symfony/debug": "~2.7",
-            "symfony/phpunit-bridge": "~2.7"
-        },
-        "time": "2015-09-15 06:50:16",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.22-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Twig_": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "BSD-3-Clause"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com",
-                "homepage": "http://fabien.potencier.org",
-                "role": "Lead Developer"
-            },
-            {
-                "name": "Armin Ronacher",
-                "email": "armin.ronacher@active-4.com",
-                "role": "Project Founder"
-            },
-            {
-                "name": "Twig Team",
-                "homepage": "http://twig.sensiolabs.org/contributors",
-                "role": "Contributors"
-            }
-        ],
-        "description": "Twig, the flexible, fast, and secure template language for PHP",
-        "homepage": "http://twig.sensiolabs.org",
-        "keywords": [
-            "templating"
-        ]
-    }
-]
diff --git a/core/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md b/core/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md
deleted file mode 100644
index a50b772..0000000
--- a/core/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# Changes in PHP_CodeCoverage 2.2
-
-All notable changes of the PHP_CodeCoverage 2.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
-
-## [2.2.2] - 2015-08-04
-
-### Added
-
-* Reintroduced the `PHP_CodeCoverage_Driver_HHVM` driver as an extension of `PHP_CodeCoverage_Driver_Xdebug` that does not use `xdebug_start_code_coverage()` with options not supported by HHVM
-
-### Changed
-
-* Bumped required version of `sebastian/environment` to 1.3.2 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365)
-
-## [2.2.1] - 2015-08-02
-
-### Changed
-
-* Bumped required version of `sebastian/environment` to 1.3.1 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365)
-
-## [2.2.0] - 2015-08-01
-
-### Added
-
-* Added a driver for PHPDBG (requires PHP 7)
-* Added `PHP_CodeCoverage::setDisableIgnoredLines()` to disable the ignoring of lines using annotations such as `@codeCoverageIgnore`
-
-### Changed
-
-* Annotating a method with `@deprecated` now has the same effect as annotating it with `@codeCoverageIgnore`
-
-### Removed
-
-* The dedicated driver for HHVM, `PHP_CodeCoverage_Driver_HHVM` has been removed
-
-[2.2.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.1...2.2.2
-[2.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.0...2.2.1
-[2.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.1...2.2.0
-
diff --git a/core/vendor/phpunit/php-code-coverage/README.md b/core/vendor/phpunit/php-code-coverage/README.md
deleted file mode 100644
index 6ca608a..0000000
--- a/core/vendor/phpunit/php-code-coverage/README.md
+++ /dev/null
@@ -1,40 +0,0 @@
-[![Latest Stable Version](https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png)](https://packagist.org/packages/phpunit/php-code-coverage)
-[![Build Status](https://travis-ci.org/sebastianbergmann/php-code-coverage.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-code-coverage)
-
-# PHP_CodeCoverage
-
-**PHP_CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
-
-## Requirements
-
-* PHP 5.3.3 is required but using the latest version of PHP is highly recommended
-* [Xdebug](http://xdebug.org/) 2.1.3 is required but using the latest version of Xdebug is highly recommended
-
-## Installation
-
-To add PHP_CodeCoverage as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-code-coverage` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_CodeCoverage 2.0:
-
-    {
-        "require": {
-            "phpunit/php-code-coverage": "~2.0"
-        }
-    }
-
-## Using the PHP_CodeCoverage API
-
-```php
-<?php
-$coverage = new PHP_CodeCoverage;
-$coverage->start('<name of test>');
-
-// ...
-
-$coverage->stop();
-
-$writer = new PHP_CodeCoverage_Report_Clover;
-$writer->process($coverage, '/tmp/clover.xml');
-
-$writer = new PHP_CodeCoverage_Report_HTML;
-$writer->process($coverage, '/tmp/code-coverage-report');
-```
-
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
deleted file mode 100644
index 0bb582e..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
+++ /dev/null
@@ -1,919 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Provides collection functionality for PHP code coverage information.
- *
- * @since Class available since Release 1.0.0
- */
-class PHP_CodeCoverage
-{
-    /**
-     * @var PHP_CodeCoverage_Driver
-     */
-    private $driver;
-
-    /**
-     * @var PHP_CodeCoverage_Filter
-     */
-    private $filter;
-
-    /**
-     * @var bool
-     */
-    private $cacheTokens = false;
-
-    /**
-     * @var bool
-     */
-    private $checkForUnintentionallyCoveredCode = false;
-
-    /**
-     * @var bool
-     */
-    private $forceCoversAnnotation = false;
-
-    /**
-     * @var bool
-     */
-    private $mapTestClassNameToCoveredClassName = false;
-
-    /**
-     * @var bool
-     */
-    private $addUncoveredFilesFromWhitelist = true;
-
-    /**
-     * @var bool
-     */
-    private $processUncoveredFilesFromWhitelist = false;
-
-    /**
-     * @var mixed
-     */
-    private $currentId;
-
-    /**
-     * Code coverage data.
-     *
-     * @var array
-     */
-    private $data = array();
-
-    /**
-     * @var array
-     */
-    private $ignoredLines = array();
-
-    /**
-     * @var bool
-     */
-    private $disableIgnoredLines = false;
-
-    /**
-     * Test data.
-     *
-     * @var array
-     */
-    private $tests = array();
-
-    /**
-     * Constructor.
-     *
-     * @param  PHP_CodeCoverage_Driver    $driver
-     * @param  PHP_CodeCoverage_Filter    $filter
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function __construct(PHP_CodeCoverage_Driver $driver = null, PHP_CodeCoverage_Filter $filter = null)
-    {
-        if ($driver === null) {
-            $driver = $this->selectDriver();
-        }
-
-        if ($filter === null) {
-            $filter = new PHP_CodeCoverage_Filter;
-        }
-
-        $this->driver = $driver;
-        $this->filter = $filter;
-    }
-
-    /**
-     * Returns the PHP_CodeCoverage_Report_Node_* object graph
-     * for this PHP_CodeCoverage object.
-     *
-     * @return PHP_CodeCoverage_Report_Node_Directory
-     * @since  Method available since Release 1.1.0
-     */
-    public function getReport()
-    {
-        $factory = new PHP_CodeCoverage_Report_Factory;
-
-        return $factory->create($this);
-    }
-
-    /**
-     * Clears collected code coverage data.
-     */
-    public function clear()
-    {
-        $this->currentId = null;
-        $this->data      = array();
-        $this->tests     = array();
-    }
-
-    /**
-     * Returns the PHP_CodeCoverage_Filter used.
-     *
-     * @return PHP_CodeCoverage_Filter
-     */
-    public function filter()
-    {
-        return $this->filter;
-    }
-
-    /**
-     * Returns the collected code coverage data.
-     * Set $raw = true to bypass all filters.
-     *
-     * @param  bool  $raw
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getData($raw = false)
-    {
-        if (!$raw && $this->addUncoveredFilesFromWhitelist) {
-            $this->addUncoveredFilesFromWhitelist();
-        }
-
-        // We need to apply the blacklist filter a second time
-        // when no whitelist is used.
-        if (!$raw && !$this->filter->hasWhitelist()) {
-            $this->applyListsFilter($this->data);
-        }
-
-        return $this->data;
-    }
-
-    /**
-     * Sets the coverage data.
-     *
-     * @param array $data
-     * @since Method available since Release 2.0.0
-     */
-    public function setData(array $data)
-    {
-        $this->data = $data;
-    }
-
-    /**
-     * Returns the test data.
-     *
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * Sets the test data.
-     *
-     * @param array $tests
-     * @since Method available since Release 2.0.0
-     */
-    public function setTests(array $tests)
-    {
-        $this->tests = $tests;
-    }
-
-    /**
-     * Start collection of code coverage information.
-     *
-     * @param  mixed                      $id
-     * @param  bool                       $clear
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function start($id, $clear = false)
-    {
-        if (!is_bool($clear)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        if ($clear) {
-            $this->clear();
-        }
-
-        $this->currentId = $id;
-
-        $this->driver->start();
-    }
-
-    /**
-     * Stop collection of code coverage information.
-     *
-     * @param  bool                       $append
-     * @param  mixed                      $linesToBeCovered
-     * @param  array                      $linesToBeUsed
-     * @return array
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function stop($append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
-    {
-        if (!is_bool($append)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        if (!is_array($linesToBeCovered) && $linesToBeCovered !== false) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or false'
-            );
-        }
-
-        $data = $this->driver->stop();
-        $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed);
-
-        $this->currentId = null;
-
-        return $data;
-    }
-
-    /**
-     * Appends code coverage data.
-     *
-     * @param  array                      $data
-     * @param  mixed                      $id
-     * @param  bool                       $append
-     * @param  mixed                      $linesToBeCovered
-     * @param  array                      $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function append(array $data, $id = null, $append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
-    {
-        if ($id === null) {
-            $id = $this->currentId;
-        }
-
-        if ($id === null) {
-            throw new PHP_CodeCoverage_Exception;
-        }
-
-        $this->applyListsFilter($data);
-        $this->applyIgnoredLinesFilter($data);
-        $this->initializeFilesThatAreSeenTheFirstTime($data);
-
-        if (!$append) {
-            return;
-        }
-
-        if ($id != 'UNCOVERED_FILES_FROM_WHITELIST') {
-            $this->applyCoversAnnotationFilter(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        if (empty($data)) {
-            return;
-        }
-
-        $size   = 'unknown';
-        $status = null;
-
-        if ($id instanceof PHPUnit_Framework_TestCase) {
-            $_size = $id->getSize();
-
-            if ($_size == PHPUnit_Util_Test::SMALL) {
-                $size = 'small';
-            } elseif ($_size == PHPUnit_Util_Test::MEDIUM) {
-                $size = 'medium';
-            } elseif ($_size == PHPUnit_Util_Test::LARGE) {
-                $size = 'large';
-            }
-
-            $status = $id->getStatus();
-            $id     = get_class($id) . '::' . $id->getName();
-        } elseif ($id instanceof PHPUnit_Extensions_PhptTestCase) {
-            $size = 'large';
-            $id   = $id->getName();
-        }
-
-        $this->tests[$id] = array('size' => $size, 'status' => $status);
-
-        foreach ($data as $file => $lines) {
-            if (!$this->filter->isFile($file)) {
-                continue;
-            }
-
-            foreach ($lines as $k => $v) {
-                if ($v == PHP_CodeCoverage_Driver::LINE_EXECUTED) {
-                    if (empty($this->data[$file][$k]) || !in_array($id, $this->data[$file][$k])) {
-                        $this->data[$file][$k][] = $id;
-                    }
-                }
-            }
-        }
-    }
-
-    /**
-     * Merges the data from another instance of PHP_CodeCoverage.
-     *
-     * @param PHP_CodeCoverage $that
-     */
-    public function merge(PHP_CodeCoverage $that)
-    {
-        foreach ($that->data as $file => $lines) {
-            if (!isset($this->data[$file])) {
-                if (!$this->filter->isFiltered($file)) {
-                    $this->data[$file] = $lines;
-                }
-
-                continue;
-            }
-
-            foreach ($lines as $line => $data) {
-                if ($data !== null) {
-                    if (!isset($this->data[$file][$line])) {
-                        $this->data[$file][$line] = $data;
-                    } else {
-                        $this->data[$file][$line] = array_unique(
-                            array_merge($this->data[$file][$line], $data)
-                        );
-                    }
-                }
-            }
-        }
-
-        $this->tests = array_merge($this->tests, $that->getTests());
-
-        $this->filter->setBlacklistedFiles(
-            array_merge($this->filter->getBlacklistedFiles(), $that->filter()->getBlacklistedFiles())
-        );
-
-        $this->filter->setWhitelistedFiles(
-            array_merge($this->filter->getWhitelistedFiles(), $that->filter()->getWhitelistedFiles())
-        );
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 1.1.0
-     */
-    public function setCacheTokens($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->cacheTokens = $flag;
-    }
-
-    /**
-     * @since Method available since Release 1.1.0
-     */
-    public function getCacheTokens()
-    {
-        return $this->cacheTokens;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 2.0.0
-     */
-    public function setCheckForUnintentionallyCoveredCode($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->checkForUnintentionallyCoveredCode = $flag;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setForceCoversAnnotation($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->forceCoversAnnotation = $flag;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setMapTestClassNameToCoveredClassName($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->mapTestClassNameToCoveredClassName = $flag;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setAddUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->addUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setProcessUncoveredFilesFromWhitelist($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->processUncoveredFilesFromWhitelist = $flag;
-    }
-
-    /**
-     * @param  bool                       $flag
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function setDisableIgnoredLines($flag)
-    {
-        if (!is_bool($flag)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        $this->disableIgnoredLines = $flag;
-    }
-
-    /**
-     * Applies the @covers annotation filtering.
-     *
-     * @param  array                                                 $data
-     * @param  mixed                                                 $linesToBeCovered
-     * @param  array                                                 $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
-     */
-    private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed)
-    {
-        if ($linesToBeCovered === false ||
-            ($this->forceCoversAnnotation && empty($linesToBeCovered))) {
-            $data = array();
-
-            return;
-        }
-
-        if (empty($linesToBeCovered)) {
-            return;
-        }
-
-        if ($this->checkForUnintentionallyCoveredCode) {
-            $this->performUnintentionallyCoveredCodeCheck(
-                $data,
-                $linesToBeCovered,
-                $linesToBeUsed
-            );
-        }
-
-        $data = array_intersect_key($data, $linesToBeCovered);
-
-        foreach (array_keys($data) as $filename) {
-            $_linesToBeCovered = array_flip($linesToBeCovered[$filename]);
-
-            $data[$filename] = array_intersect_key(
-                $data[$filename],
-                $_linesToBeCovered
-            );
-        }
-    }
-
-    /**
-     * Applies the blacklist/whitelist filtering.
-     *
-     * @param array $data
-     */
-    private function applyListsFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if ($this->filter->isFiltered($filename)) {
-                unset($data[$filename]);
-            }
-        }
-    }
-
-    /**
-     * Applies the "ignored lines" filtering.
-     *
-     * @param array $data
-     */
-    private function applyIgnoredLinesFilter(array &$data)
-    {
-        foreach (array_keys($data) as $filename) {
-            if (!$this->filter->isFile($filename)) {
-                continue;
-            }
-
-            foreach ($this->getLinesToBeIgnored($filename) as $line) {
-                unset($data[$filename][$line]);
-            }
-        }
-    }
-
-    /**
-     * @param array $data
-     * @since Method available since Release 1.1.0
-     */
-    private function initializeFilesThatAreSeenTheFirstTime(array $data)
-    {
-        foreach ($data as $file => $lines) {
-            if ($this->filter->isFile($file) && !isset($this->data[$file])) {
-                $this->data[$file] = array();
-
-                foreach ($lines as $k => $v) {
-                    $this->data[$file][$k] = $v == -2 ? null : array();
-                }
-            }
-        }
-    }
-
-    /**
-     * Processes whitelisted files that are not covered.
-     */
-    private function addUncoveredFilesFromWhitelist()
-    {
-        $data           = array();
-        $uncoveredFiles = array_diff(
-            $this->filter->getWhitelist(),
-            array_keys($this->data)
-        );
-
-        foreach ($uncoveredFiles as $uncoveredFile) {
-            if (!file_exists($uncoveredFile)) {
-                continue;
-            }
-
-            if ($this->processUncoveredFilesFromWhitelist) {
-                $this->processUncoveredFileFromWhitelist(
-                    $uncoveredFile,
-                    $data,
-                    $uncoveredFiles
-                );
-            } else {
-                $data[$uncoveredFile] = array();
-
-                $lines = count(file($uncoveredFile));
-
-                for ($i = 1; $i <= $lines; $i++) {
-                    $data[$uncoveredFile][$i] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED;
-                }
-            }
-        }
-
-        $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST');
-    }
-
-    /**
-     * @param string $uncoveredFile
-     * @param array  $data
-     * @param array  $uncoveredFiles
-     */
-    private function processUncoveredFileFromWhitelist($uncoveredFile, array &$data, array $uncoveredFiles)
-    {
-        $this->driver->start();
-        include_once $uncoveredFile;
-        $coverage = $this->driver->stop();
-
-        foreach ($coverage as $file => $fileCoverage) {
-            if (!isset($data[$file]) &&
-                in_array($file, $uncoveredFiles)) {
-                foreach (array_keys($fileCoverage) as $key) {
-                    if ($fileCoverage[$key] == PHP_CodeCoverage_Driver::LINE_EXECUTED) {
-                        $fileCoverage[$key] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED;
-                    }
-                }
-
-                $data[$file] = $fileCoverage;
-            }
-        }
-    }
-
-    /**
-     * Returns the lines of a source file that should be ignored.
-     *
-     * @param  string                     $filename
-     * @return array
-     * @throws PHP_CodeCoverage_Exception
-     * @since  Method available since Release 2.0.0
-     */
-    private function getLinesToBeIgnored($filename)
-    {
-        if (!is_string($filename)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'string'
-            );
-        }
-
-        if (!isset($this->ignoredLines[$filename])) {
-            $this->ignoredLines[$filename] = array();
-
-            if ($this->disableIgnoredLines) {
-                return $this->ignoredLines[$filename];
-            }
-
-            $ignore   = false;
-            $stop     = false;
-            $lines    = file($filename);
-            $numLines = count($lines);
-
-            foreach ($lines as $index => $line) {
-                if (!trim($line)) {
-                    $this->ignoredLines[$filename][] = $index + 1;
-                }
-            }
-
-            if ($this->cacheTokens) {
-                $tokens = PHP_Token_Stream_CachingFactory::get($filename);
-            } else {
-                $tokens = new PHP_Token_Stream($filename);
-            }
-
-            $classes = array_merge($tokens->getClasses(), $tokens->getTraits());
-            $tokens  = $tokens->tokens();
-
-            foreach ($tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_COMMENT':
-                    case 'PHP_Token_DOC_COMMENT':
-                        $_token = trim($token);
-                        $_line  = trim($lines[$token->getLine() - 1]);
-
-                        if ($_token == '// @codeCoverageIgnore' ||
-                            $_token == '//@codeCoverageIgnore') {
-                            $ignore = true;
-                            $stop   = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreStart' ||
-                            $_token == '//@codeCoverageIgnoreStart') {
-                            $ignore = true;
-                        } elseif ($_token == '// @codeCoverageIgnoreEnd' ||
-                            $_token == '//@codeCoverageIgnoreEnd') {
-                            $stop = true;
-                        }
-
-                        if (!$ignore) {
-                            $start = $token->getLine();
-                            $end   = $start + substr_count($token, "\n");
-
-                            // Do not ignore the first line when there is a token
-                            // before the comment
-                            if (0 !== strpos($_token, $_line)) {
-                                $start++;
-                            }
-
-                            for ($i = $start; $i < $end; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-
-                            // A DOC_COMMENT token or a COMMENT token starting with "/*"
-                            // does not contain the final \n character in its text
-                            if (isset($lines[$i-1]) && 0 === strpos($_token, '/*') && '*/' === substr(trim($lines[$i-1]), -2)) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_INTERFACE':
-                    case 'PHP_Token_TRAIT':
-                    case 'PHP_Token_CLASS':
-                    case 'PHP_Token_FUNCTION':
-                        $docblock = $token->getDocblock();
-
-                        $this->ignoredLines[$filename][] = $token->getLine();
-
-                        if (strpos($docblock, '@codeCoverageIgnore') || strpos($docblock, '@deprecated')) {
-                            $endLine = $token->getEndLine();
-
-                            for ($i = $token->getLine(); $i <= $endLine; $i++) {
-                                $this->ignoredLines[$filename][] = $i;
-                            }
-                        } elseif ($token instanceof PHP_Token_INTERFACE ||
-                            $token instanceof PHP_Token_TRAIT ||
-                            $token instanceof PHP_Token_CLASS) {
-                            if (empty($classes[$token->getName()]['methods'])) {
-                                for ($i = $token->getLine();
-                                     $i <= $token->getEndLine();
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            } else {
-                                $firstMethod = array_shift(
-                                    $classes[$token->getName()]['methods']
-                                );
-
-                                do {
-                                    $lastMethod = array_pop(
-                                        $classes[$token->getName()]['methods']
-                                    );
-                                } while ($lastMethod !== null &&
-                                    substr($lastMethod['signature'], 0, 18) == 'anonymous function');
-
-                                if ($lastMethod === null) {
-                                    $lastMethod = $firstMethod;
-                                }
-
-                                for ($i = $token->getLine();
-                                     $i < $firstMethod['startLine'];
-                                     $i++) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-
-                                for ($i = $token->getEndLine();
-                                     $i > $lastMethod['endLine'];
-                                     $i--) {
-                                    $this->ignoredLines[$filename][] = $i;
-                                }
-                            }
-                        }
-                        break;
-
-                    case 'PHP_Token_NAMESPACE':
-                        $this->ignoredLines[$filename][] = $token->getEndLine();
-
-                    // Intentional fallthrough
-                    case 'PHP_Token_OPEN_TAG':
-                    case 'PHP_Token_CLOSE_TAG':
-                    case 'PHP_Token_USE':
-                        $this->ignoredLines[$filename][] = $token->getLine();
-                        break;
-                }
-
-                if ($ignore) {
-                    $this->ignoredLines[$filename][] = $token->getLine();
-
-                    if ($stop) {
-                        $ignore = false;
-                        $stop   = false;
-                    }
-                }
-            }
-
-            $this->ignoredLines[$filename][] = $numLines + 1;
-
-            $this->ignoredLines[$filename] = array_unique(
-                $this->ignoredLines[$filename]
-            );
-
-            sort($this->ignoredLines[$filename]);
-        }
-
-        return $this->ignoredLines[$filename];
-    }
-
-    /**
-     * @param  array                                                 $data
-     * @param  array                                                 $linesToBeCovered
-     * @param  array                                                 $linesToBeUsed
-     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
-     * @since Method available since Release 2.0.0
-     */
-    private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = $this->getAllowedLines(
-            $linesToBeCovered,
-            $linesToBeUsed
-        );
-
-        $message = '';
-
-        foreach ($data as $file => $_data) {
-            foreach ($_data as $line => $flag) {
-                if ($flag == 1 &&
-                    (!isset($allowedLines[$file]) ||
-                        !isset($allowedLines[$file][$line]))) {
-                    $message .= sprintf(
-                        '- %s:%d' . PHP_EOL,
-                        $file,
-                        $line
-                    );
-                }
-            }
-        }
-
-        if (!empty($message)) {
-            throw new PHP_CodeCoverage_Exception_UnintentionallyCoveredCode(
-                $message
-            );
-        }
-    }
-
-    /**
-     * @param  array $linesToBeCovered
-     * @param  array $linesToBeUsed
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed)
-    {
-        $allowedLines = array();
-
-        foreach (array_keys($linesToBeCovered) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = array();
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeCovered[$file]
-            );
-        }
-
-        foreach (array_keys($linesToBeUsed) as $file) {
-            if (!isset($allowedLines[$file])) {
-                $allowedLines[$file] = array();
-            }
-
-            $allowedLines[$file] = array_merge(
-                $allowedLines[$file],
-                $linesToBeUsed[$file]
-            );
-        }
-
-        foreach (array_keys($allowedLines) as $file) {
-            $allowedLines[$file] = array_flip(
-                array_unique($allowedLines[$file])
-            );
-        }
-
-        return $allowedLines;
-    }
-
-    /**
-     * @return PHP_CodeCoverage_Driver
-     * @throws PHP_CodeCoverage_Exception
-     */
-    private function selectDriver()
-    {
-        $runtime = new Runtime;
-
-        if (!$runtime->canCollectCodeCoverage()) {
-            throw new PHP_CodeCoverage_Exception('No code coverage driver available');
-        }
-
-        if ($runtime->isHHVM()) {
-            return new PHP_CodeCoverage_Driver_HHVM;
-        } elseif ($runtime->isPHPDBG()) {
-            return new PHP_CodeCoverage_Driver_PHPDBG;
-        } else {
-            return new PHP_CodeCoverage_Driver_Xdebug;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
deleted file mode 100644
index fd5b6aa..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
+++ /dev/null
@@ -1,292 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Filter for blacklisting and whitelisting of code coverage information.
- *
- * @since Class available since Release 1.0.0
- */
-class PHP_CodeCoverage_Filter
-{
-    /**
-     * Source files that are blacklisted.
-     *
-     * @var array
-     */
-    private $blacklistedFiles = array();
-
-    /**
-     * Source files that are whitelisted.
-     *
-     * @var array
-     */
-    private $whitelistedFiles = array();
-
-    /**
-     * Adds a directory to the blacklist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function addDirectoryToBlacklist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->addFileToBlacklist($file);
-        }
-    }
-
-    /**
-     * Adds a file to the blacklist.
-     *
-     * @param string $filename
-     */
-    public function addFileToBlacklist($filename)
-    {
-        $this->blacklistedFiles[realpath($filename)] = true;
-    }
-
-    /**
-     * Adds files to the blacklist.
-     *
-     * @param array $files
-     */
-    public function addFilesToBlacklist(array $files)
-    {
-        foreach ($files as $file) {
-            $this->addFileToBlacklist($file);
-        }
-    }
-
-    /**
-     * Removes a directory from the blacklist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function removeDirectoryFromBlacklist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->removeFileFromBlacklist($file);
-        }
-    }
-
-    /**
-     * Removes a file from the blacklist.
-     *
-     * @param string $filename
-     */
-    public function removeFileFromBlacklist($filename)
-    {
-        $filename = realpath($filename);
-
-        if (isset($this->blacklistedFiles[$filename])) {
-            unset($this->blacklistedFiles[$filename]);
-        }
-    }
-
-    /**
-     * Adds a directory to the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Adds a file to the whitelist.
-     *
-     * @param string $filename
-     */
-    public function addFileToWhitelist($filename)
-    {
-        $this->whitelistedFiles[realpath($filename)] = true;
-    }
-
-    /**
-     * Adds files to the whitelist.
-     *
-     * @param array $files
-     */
-    public function addFilesToWhitelist(array $files)
-    {
-        foreach ($files as $file) {
-            $this->addFileToWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a directory from the whitelist (recursively).
-     *
-     * @param string $directory
-     * @param string $suffix
-     * @param string $prefix
-     */
-    public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '')
-    {
-        $facade = new File_Iterator_Facade;
-        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
-
-        foreach ($files as $file) {
-            $this->removeFileFromWhitelist($file);
-        }
-    }
-
-    /**
-     * Removes a file from the whitelist.
-     *
-     * @param string $filename
-     */
-    public function removeFileFromWhitelist($filename)
-    {
-        $filename = realpath($filename);
-
-        if (isset($this->whitelistedFiles[$filename])) {
-            unset($this->whitelistedFiles[$filename]);
-        }
-    }
-
-    /**
-     * Checks whether a filename is a real filename.
-     *
-     * @param string $filename
-     */
-    public function isFile($filename)
-    {
-        if ($filename == '-' ||
-            strpos($filename, 'vfs://') === 0 ||
-            strpos($filename, 'xdebug://debug-eval') !== false ||
-            strpos($filename, 'eval()\'d code') !== false ||
-            strpos($filename, 'runtime-created function') !== false ||
-            strpos($filename, 'runkit created function') !== false ||
-            strpos($filename, 'assert code') !== false ||
-            strpos($filename, 'regexp code') !== false) {
-            return false;
-        }
-
-        return file_exists($filename);
-    }
-
-    /**
-     * Checks whether or not a file is filtered.
-     *
-     * When the whitelist is empty (default), blacklisting is used.
-     * When the whitelist is not empty, whitelisting is used.
-     *
-     * @param  string                     $filename
-     * @return bool
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function isFiltered($filename)
-    {
-        if (!$this->isFile($filename)) {
-            return true;
-        }
-
-        $filename = realpath($filename);
-
-        if (!empty($this->whitelistedFiles)) {
-            return !isset($this->whitelistedFiles[$filename]);
-        }
-
-        return isset($this->blacklistedFiles[$filename]);
-    }
-
-    /**
-     * Returns the list of blacklisted files.
-     *
-     * @return array
-     */
-    public function getBlacklist()
-    {
-        return array_keys($this->blacklistedFiles);
-    }
-
-    /**
-     * Returns the list of whitelisted files.
-     *
-     * @return array
-     */
-    public function getWhitelist()
-    {
-        return array_keys($this->whitelistedFiles);
-    }
-
-    /**
-     * Returns whether this filter has a whitelist.
-     *
-     * @return bool
-     * @since  Method available since Release 1.1.0
-     */
-    public function hasWhitelist()
-    {
-        return !empty($this->whitelistedFiles);
-    }
-
-    /**
-     * Returns the blacklisted files.
-     *
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    public function getBlacklistedFiles()
-    {
-        return $this->blacklistedFiles;
-    }
-
-    /**
-     * Sets the blacklisted files.
-     *
-     * @param array $blacklistedFiles
-     * @since Method available since Release 2.0.0
-     */
-    public function setBlacklistedFiles($blacklistedFiles)
-    {
-        $this->blacklistedFiles = $blacklistedFiles;
-    }
-
-    /**
-     * Returns the whitelisted files.
-     *
-     * @return array
-     * @since Method available since Release 2.0.0
-     */
-    public function getWhitelistedFiles()
-    {
-        return $this->whitelistedFiles;
-    }
-
-    /**
-     * Sets the whitelisted files.
-     *
-     * @param array $whitelistedFiles
-     * @since Method available since Release 2.0.0
-     */
-    public function setWhitelistedFiles($whitelistedFiles)
-    {
-        $this->whitelistedFiles = $whitelistedFiles;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
deleted file mode 100644
index 2deced2..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since Class available since Release 2.0.0
- */
-class PHP_CodeCoverage_Report_Crap4j
-{
-    /**
-     * @var int
-     */
-    private $threshold;
-
-    /**
-     * @param int $threshold
-     */
-    public function __construct($threshold = 30)
-    {
-        if (!is_int($threshold)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer'
-            );
-        }
-
-        $this->threshold = $threshold;
-    }
-
-    /**
-     * @param  PHP_CodeCoverage $coverage
-     * @param  string           $target
-     * @param  string           $name
-     * @return string
-     */
-    public function process(PHP_CodeCoverage $coverage, $target = null, $name = null)
-    {
-        $document               = new DOMDocument('1.0', 'UTF-8');
-        $document->formatOutput = true;
-
-        $root = $document->createElement('crap_result');
-        $document->appendChild($root);
-
-        $project = $document->createElement('project', is_string($name) ? $name : '');
-        $root->appendChild($project);
-        $root->appendChild($document->createElement('timestamp', date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME'])));
-
-        $stats       = $document->createElement('stats');
-        $methodsNode = $document->createElement('methods');
-
-        $report = $coverage->getReport();
-        unset($coverage);
-
-        $fullMethodCount     = 0;
-        $fullCrapMethodCount = 0;
-        $fullCrapLoad        = 0;
-        $fullCrap            = 0;
-
-        foreach ($report as $item) {
-            $namespace = 'global';
-
-            if (!$item instanceof PHP_CodeCoverage_Report_Node_File) {
-                continue;
-            }
-
-            $file = $document->createElement('file');
-            $file->setAttribute('name', $item->getPath());
-
-            $classes = $item->getClassesAndTraits();
-
-            foreach ($classes as $className => $class) {
-                foreach ($class['methods'] as $methodName => $method) {
-                    $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']);
-
-                    $fullCrap     += $method['crap'];
-                    $fullCrapLoad += $crapLoad;
-                    $fullMethodCount++;
-
-                    if ($method['crap'] >= $this->threshold) {
-                        $fullCrapMethodCount++;
-                    }
-
-                    $methodNode = $document->createElement('method');
-
-                    if (!empty($class['package']['namespace'])) {
-                        $namespace = $class['package']['namespace'];
-                    }
-
-                    $methodNode->appendChild($document->createElement('package', $namespace));
-                    $methodNode->appendChild($document->createElement('className', $className));
-                    $methodNode->appendChild($document->createElement('methodName', $methodName));
-                    $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature'])));
-                    $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap'])));
-                    $methodNode->appendChild($document->createElement('complexity', $method['ccn']));
-                    $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage'])));
-                    $methodNode->appendChild($document->createElement('crapLoad', round($crapLoad)));
-
-                    $methodsNode->appendChild($methodNode);
-                }
-            }
-        }
-
-        $stats->appendChild($document->createElement('name', 'Method Crap Stats'));
-        $stats->appendChild($document->createElement('methodCount', $fullMethodCount));
-        $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount));
-        $stats->appendChild($document->createElement('crapLoad', round($fullCrapLoad)));
-        $stats->appendChild($document->createElement('totalCrap', $fullCrap));
-
-        if ($fullMethodCount > 0) {
-            $crapMethodPercent = $this->roundValue((100 * $fullCrapMethodCount) / $fullMethodCount);
-        } else {
-            $crapMethodPercent = '';
-        }
-
-        $stats->appendChild($document->createElement('crapMethodPercent', $crapMethodPercent));
-
-        $root->appendChild($stats);
-        $root->appendChild($methodsNode);
-
-        if ($target !== null) {
-            if (!is_dir(dirname($target))) {
-                mkdir(dirname($target), 0777, true);
-            }
-
-            return $document->save($target);
-        } else {
-            return $document->saveXML();
-        }
-    }
-
-    /**
-     * @param  float $crapValue
-     * @param  int   $cyclomaticComplexity
-     * @param  float $coveragePercent
-     * @return float
-     */
-    private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent)
-    {
-        $crapLoad = 0;
-
-        if ($crapValue >= $this->threshold) {
-            $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100);
-            $crapLoad += $cyclomaticComplexity / $this->threshold;
-        }
-
-        return $crapLoad;
-    }
-
-    /**
-     * @param  float $value
-     * @return float
-     */
-    private function roundValue($value)
-    {
-        return round($value, 2);
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
deleted file mode 100644
index f5cabff..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
+++ /dev/null
@@ -1,268 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-use SebastianBergmann\Environment\Runtime;
-
-/**
- * Base class for PHP_CodeCoverage_Report_Node renderers.
- *
- * @since Class available since Release 1.1.0
- */
-abstract class PHP_CodeCoverage_Report_HTML_Renderer
-{
-    /**
-     * @var string
-     */
-    protected $templatePath;
-
-    /**
-     * @var string
-     */
-    protected $generator;
-
-    /**
-     * @var string
-     */
-    protected $date;
-
-    /**
-     * @var int
-     */
-    protected $lowUpperBound;
-
-    /**
-     * @var int
-     */
-    protected $highLowerBound;
-
-    /**
-     * @var string
-     */
-    protected $version;
-
-    /**
-     * Constructor.
-     *
-     * @param string $templatePath
-     * @param string $generator
-     * @param string $date
-     * @param int    $lowUpperBound
-     * @param int    $highLowerBound
-     */
-    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
-    {
-        $version = new SebastianBergmann\Version('2.2.2', dirname(dirname(dirname(dirname(__DIR__)))));
-
-        $this->templatePath   = $templatePath;
-        $this->generator      = $generator;
-        $this->date           = $date;
-        $this->lowUpperBound  = $lowUpperBound;
-        $this->highLowerBound = $highLowerBound;
-        $this->version        = $version->getVersion();
-    }
-
-    /**
-     * @param  Text_Template $template
-     * @param  array         $data
-     * @return string
-     */
-    protected function renderItemTemplate(Text_Template $template, array $data)
-    {
-        $numSeparator  = '&nbsp;/&nbsp;';
-        $classesBar    = '&nbsp;';
-        $classesLevel  = 'None';
-        $classesNumber = '&nbsp;';
-
-        if (isset($data['numClasses']) && $data['numClasses'] > 0) {
-            $classesLevel = $this->getColorLevel($data['testedClassesPercent']);
-
-            $classesNumber = $data['numTestedClasses'] . $numSeparator .
-                $data['numClasses'];
-
-            $classesBar = $this->getCoverageBar(
-                $data['testedClassesPercent']
-            );
-        }
-
-        $methodsBar    = '&nbsp;';
-        $methodsLevel  = 'None';
-        $methodsNumber = '&nbsp;';
-
-        if ($data['numMethods'] > 0) {
-            $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']);
-
-            $methodsNumber = $data['numTestedMethods'] . $numSeparator .
-                $data['numMethods'];
-
-            $methodsBar = $this->getCoverageBar(
-                $data['testedMethodsPercent']
-            );
-        }
-
-        $linesBar    = '&nbsp;';
-        $linesLevel  = 'None';
-        $linesNumber = '&nbsp;';
-
-        if ($data['numExecutableLines'] > 0) {
-            $linesLevel = $this->getColorLevel($data['linesExecutedPercent']);
-
-            $linesNumber = $data['numExecutedLines'] . $numSeparator .
-                $data['numExecutableLines'];
-
-            $linesBar = $this->getCoverageBar(
-                $data['linesExecutedPercent']
-            );
-        }
-
-        $template->setVar(
-            array(
-                'icon'                   => isset($data['icon']) ? $data['icon'] : '',
-                'crap'                   => isset($data['crap']) ? $data['crap'] : '',
-                'name'                   => $data['name'],
-                'lines_bar'              => $linesBar,
-                'lines_executed_percent' => $data['linesExecutedPercentAsString'],
-                'lines_level'            => $linesLevel,
-                'lines_number'           => $linesNumber,
-                'methods_bar'            => $methodsBar,
-                'methods_tested_percent' => $data['testedMethodsPercentAsString'],
-                'methods_level'          => $methodsLevel,
-                'methods_number'         => $methodsNumber,
-                'classes_bar'            => $classesBar,
-                'classes_tested_percent' => isset($data['testedClassesPercentAsString']) ? $data['testedClassesPercentAsString'] : '',
-                'classes_level'          => $classesLevel,
-                'classes_number'         => $classesNumber
-            )
-        );
-
-        return $template->render();
-    }
-
-    /**
-     * @param Text_Template                $template
-     * @param PHP_CodeCoverage_Report_Node $node
-     */
-    protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeCoverage_Report_Node $node)
-    {
-        $runtime = new Runtime;
-
-        $template->setVar(
-            array(
-                'id'               => $node->getId(),
-                'full_path'        => $node->getPath(),
-                'path_to_root'     => $this->getPathToRoot($node),
-                'breadcrumbs'      => $this->getBreadcrumbs($node),
-                'date'             => $this->date,
-                'version'          => $this->version,
-                'runtime_name'     => $runtime->getName(),
-                'runtime_version'  => $runtime->getVersion(),
-                'runtime_link'     => $runtime->getVendorUrl(),
-                'generator'        => $this->generator,
-                'low_upper_bound'  => $this->lowUpperBound,
-                'high_lower_bound' => $this->highLowerBound
-            )
-        );
-    }
-
-    protected function getBreadcrumbs(PHP_CodeCoverage_Report_Node $node)
-    {
-        $breadcrumbs = '';
-        $path        = $node->getPathAsArray();
-        $pathToRoot  = array();
-        $max         = count($path);
-
-        if ($node instanceof PHP_CodeCoverage_Report_Node_File) {
-            $max--;
-        }
-
-        for ($i = 0; $i < $max; $i++) {
-            $pathToRoot[] = str_repeat('../', $i);
-        }
-
-        foreach ($path as $step) {
-            if ($step !== $node) {
-                $breadcrumbs .= $this->getInactiveBreadcrumb(
-                    $step,
-                    array_pop($pathToRoot)
-                );
-            } else {
-                $breadcrumbs .= $this->getActiveBreadcrumb($step);
-            }
-        }
-
-        return $breadcrumbs;
-    }
-
-    protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
-    {
-        $buffer = sprintf(
-            '        <li class="active">%s</li>' . "\n",
-            $node->getName()
-        );
-
-        if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-            $buffer .= '        <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n";
-        }
-
-        return $buffer;
-    }
-
-    protected function getInactiveBreadcrumb(PHP_CodeCoverage_Report_Node $node, $pathToRoot)
-    {
-        return sprintf(
-            '        <li><a href="%sindex.html">%s</a></li>' . "\n",
-            $pathToRoot,
-            $node->getName()
-        );
-    }
-
-    protected function getPathToRoot(PHP_CodeCoverage_Report_Node $node)
-    {
-        $id    = $node->getId();
-        $depth = substr_count($id, '/');
-
-        if ($id != 'index' &&
-            $node instanceof PHP_CodeCoverage_Report_Node_Directory) {
-            $depth++;
-        }
-
-        return str_repeat('../', $depth);
-    }
-
-    protected function getCoverageBar($percent)
-    {
-        $level = $this->getColorLevel($percent);
-
-        $template = new Text_Template(
-            $this->templatePath . 'coverage_bar.html',
-            '{{',
-            '}}'
-        );
-
-        $template->setVar(array('level' => $level, 'percent' => sprintf('%.2F', $percent)));
-
-        return $template->render();
-    }
-
-    /**
-     * @param  int    $percent
-     * @return string
-     */
-    protected function getColorLevel($percent)
-    {
-        if ($percent <= $this->lowUpperBound) {
-            return 'danger';
-        } elseif ($percent > $this->lowUpperBound &&
-            $percent <  $this->highLowerBound) {
-            return 'warning';
-        } else {
-            return 'success';
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php b/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
deleted file mode 100644
index 03b3d8c..0000000
--- a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
+++ /dev/null
@@ -1,656 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Represents a file in the code coverage information tree.
- *
- * @since Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_Node_File extends PHP_CodeCoverage_Report_Node
-{
-    /**
-     * @var array
-     */
-    protected $coverageData;
-
-    /**
-     * @var array
-     */
-    protected $testData;
-
-    /**
-     * @var int
-     */
-    protected $numExecutableLines = 0;
-
-    /**
-     * @var int
-     */
-    protected $numExecutedLines = 0;
-
-    /**
-     * @var array
-     */
-    protected $classes = array();
-
-    /**
-     * @var array
-     */
-    protected $traits = array();
-
-    /**
-     * @var array
-     */
-    protected $functions = array();
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = array();
-
-    /**
-     * @var int
-     */
-    protected $numTestedTraits = 0;
-
-    /**
-     * @var int
-     */
-    protected $numTestedClasses = 0;
-
-    /**
-     * @var int
-     */
-    protected $numMethods = null;
-
-    /**
-     * @var int
-     */
-    protected $numTestedMethods = null;
-
-    /**
-     * @var int
-     */
-    protected $numTestedFunctions = null;
-
-    /**
-     * @var array
-     */
-    protected $startLines = array();
-
-    /**
-     * @var array
-     */
-    protected $endLines = array();
-
-    /**
-     * @var bool
-     */
-    protected $cacheTokens;
-
-    /**
-     * Constructor.
-     *
-     * @param  string                       $name
-     * @param  PHP_CodeCoverage_Report_Node $parent
-     * @param  array                        $coverageData
-     * @param  array                        $testData
-     * @param  bool                         $cacheTokens
-     * @throws PHP_CodeCoverage_Exception
-     */
-    public function __construct($name, PHP_CodeCoverage_Report_Node $parent, array $coverageData, array $testData, $cacheTokens)
-    {
-        if (!is_bool($cacheTokens)) {
-            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
-                1,
-                'boolean'
-            );
-        }
-
-        parent::__construct($name, $parent);
-
-        $this->coverageData = $coverageData;
-        $this->testData     = $testData;
-        $this->cacheTokens  = $cacheTokens;
-
-        $this->calculateStatistics();
-    }
-
-    /**
-     * Returns the number of files in/under this node.
-     *
-     * @return int
-     */
-    public function count()
-    {
-        return 1;
-    }
-
-    /**
-     * Returns the code coverage data of this node.
-     *
-     * @return array
-     */
-    public function getCoverageData()
-    {
-        return $this->coverageData;
-    }
-
-    /**
-     * Returns the test data of this node.
-     *
-     * @return array
-     */
-    public function getTestData()
-    {
-        return $this->testData;
-    }
-
-    /**
-     * Returns the classes of this node.
-     *
-     * @return array
-     */
-    public function getClasses()
-    {
-        return $this->classes;
-    }
-
-    /**
-     * Returns the traits of this node.
-     *
-     * @return array
-     */
-    public function getTraits()
-    {
-        return $this->traits;
-    }
-
-    /**
-     * Returns the functions of this node.
-     *
-     * @return array
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    /**
-     * Returns the LOC/CLOC/NCLOC of this node.
-     *
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     * Returns the number of executable lines.
-     *
-     * @return int
-     */
-    public function getNumExecutableLines()
-    {
-        return $this->numExecutableLines;
-    }
-
-    /**
-     * Returns the number of executed lines.
-     *
-     * @return int
-     */
-    public function getNumExecutedLines()
-    {
-        return $this->numExecutedLines;
-    }
-
-    /**
-     * Returns the number of classes.
-     *
-     * @return int
-     */
-    public function getNumClasses()
-    {
-        return count($this->classes);
-    }
-
-    /**
-     * Returns the number of tested classes.
-     *
-     * @return int
-     */
-    public function getNumTestedClasses()
-    {
-        return $this->numTestedClasses;
-    }
-
-    /**
-     * Returns the number of traits.
-     *
-     * @return int
-     */
-    public function getNumTraits()
-    {
-        return count($this->traits);
-    }
-
-    /**
-     * Returns the number of tested traits.
-     *
-     * @return int
-     */
-    public function getNumTestedTraits()
-    {
-        return $this->numTestedTraits;
-    }
-
-    /**
-     * Returns the number of methods.
-     *
-     * @return int
-     */
-    public function getNumMethods()
-    {
-        if ($this->numMethods === null) {
-            $this->numMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0) {
-                        $this->numMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numMethods;
-    }
-
-    /**
-     * Returns the number of tested methods.
-     *
-     * @return int
-     */
-    public function getNumTestedMethods()
-    {
-        if ($this->numTestedMethods === null) {
-            $this->numTestedMethods = 0;
-
-            foreach ($this->classes as $class) {
-                foreach ($class['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-
-            foreach ($this->traits as $trait) {
-                foreach ($trait['methods'] as $method) {
-                    if ($method['executableLines'] > 0 &&
-                        $method['coverage'] == 100) {
-                        $this->numTestedMethods++;
-                    }
-                }
-            }
-        }
-
-        return $this->numTestedMethods;
-    }
-
-    /**
-     * Returns the number of functions.
-     *
-     * @return int
-     */
-    public function getNumFunctions()
-    {
-        return count($this->functions);
-    }
-
-    /**
-     * Returns the number of tested functions.
-     *
-     * @return int
-     */
-    public function getNumTestedFunctions()
-    {
-        if ($this->numTestedFunctions === null) {
-            $this->numTestedFunctions = 0;
-
-            foreach ($this->functions as $function) {
-                if ($function['executableLines'] > 0 &&
-                    $function['coverage'] == 100) {
-                    $this->numTestedFunctions++;
-                }
-            }
-        }
-
-        return $this->numTestedFunctions;
-    }
-
-    /**
-     * Calculates coverage statistics for the file.
-     */
-    protected function calculateStatistics()
-    {
-        if ($this->cacheTokens) {
-            $tokens = PHP_Token_Stream_CachingFactory::get($this->getPath());
-        } else {
-            $tokens = new PHP_Token_Stream($this->getPath());
-        }
-
-        $this->processClasses($tokens);
-        $this->processTraits($tokens);
-        $this->processFunctions($tokens);
-        $this->linesOfCode = $tokens->getLinesOfCode();
-        unset($tokens);
-
-        for ($lineNumber = 1; $lineNumber <= $this->linesOfCode['loc']; $lineNumber++) {
-            if (isset($this->startLines[$lineNumber])) {
-                // Start line of a class.
-                if (isset($this->startLines[$lineNumber]['className'])) {
-                    $currentClass = &$this->startLines[$lineNumber];
-                } // Start line of a trait.
-                elseif (isset($this->startLines[$lineNumber]['traitName'])) {
-                    $currentTrait = &$this->startLines[$lineNumber];
-                } // Start line of a method.
-                elseif (isset($this->startLines[$lineNumber]['methodName'])) {
-                    $currentMethod = &$this->startLines[$lineNumber];
-                } // Start line of a function.
-                elseif (isset($this->startLines[$lineNumber]['functionName'])) {
-                    $currentFunction = &$this->startLines[$lineNumber];
-                }
-            }
-
-            if (isset($this->coverageData[$lineNumber]) &&
-                $this->coverageData[$lineNumber] !== null) {
-                if (isset($currentClass)) {
-                    $currentClass['executableLines']++;
-                }
-
-                if (isset($currentTrait)) {
-                    $currentTrait['executableLines']++;
-                }
-
-                if (isset($currentMethod)) {
-                    $currentMethod['executableLines']++;
-                }
-
-                if (isset($currentFunction)) {
-                    $currentFunction['executableLines']++;
-                }
-
-                $this->numExecutableLines++;
-
-                if (count($this->coverageData[$lineNumber]) > 0) {
-                    if (isset($currentClass)) {
-                        $currentClass['executedLines']++;
-                    }
-
-                    if (isset($currentTrait)) {
-                        $currentTrait['executedLines']++;
-                    }
-
-                    if (isset($currentMethod)) {
-                        $currentMethod['executedLines']++;
-                    }
-
-                    if (isset($currentFunction)) {
-                        $currentFunction['executedLines']++;
-                    }
-
-                    $this->numExecutedLines++;
-                }
-            }
-
-            if (isset($this->endLines[$lineNumber])) {
-                // End line of a class.
-                if (isset($this->endLines[$lineNumber]['className'])) {
-                    unset($currentClass);
-                } // End line of a trait.
-                elseif (isset($this->endLines[$lineNumber]['traitName'])) {
-                    unset($currentTrait);
-                } // End line of a method.
-                elseif (isset($this->endLines[$lineNumber]['methodName'])) {
-                    unset($currentMethod);
-                } // End line of a function.
-                elseif (isset($this->endLines[$lineNumber]['functionName'])) {
-                    unset($currentFunction);
-                }
-            }
-        }
-
-        foreach ($this->traits as &$trait) {
-            foreach ($trait['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $trait['ccn'] += $method['ccn'];
-            }
-
-            if ($trait['executableLines'] > 0) {
-                $trait['coverage'] = ($trait['executedLines'] /
-                        $trait['executableLines']) * 100;
-            } else {
-                $trait['coverage'] = 100;
-            }
-
-            if ($trait['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $trait['crap'] = $this->crap(
-                $trait['ccn'],
-                $trait['coverage']
-            );
-        }
-
-        foreach ($this->classes as &$class) {
-            foreach ($class['methods'] as &$method) {
-                if ($method['executableLines'] > 0) {
-                    $method['coverage'] = ($method['executedLines'] /
-                            $method['executableLines']) * 100;
-                } else {
-                    $method['coverage'] = 100;
-                }
-
-                $method['crap'] = $this->crap(
-                    $method['ccn'],
-                    $method['coverage']
-                );
-
-                $class['ccn'] += $method['ccn'];
-            }
-
-            if ($class['executableLines'] > 0) {
-                $class['coverage'] = ($class['executedLines'] /
-                        $class['executableLines']) * 100;
-            } else {
-                $class['coverage'] = 100;
-            }
-
-            if ($class['coverage'] == 100) {
-                $this->numTestedClasses++;
-            }
-
-            $class['crap'] = $this->crap(
-                $class['ccn'],
-                $class['coverage']
-            );
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processClasses(PHP_Token_Stream $tokens)
-    {
-        $classes = $tokens->getClasses();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($classes as $className => $class) {
-            $this->classes[$className] = array(
-                'className'       => $className,
-                'methods'         => array(),
-                'startLine'       => $class['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $class['package'],
-                'link'            => $link . $class['startLine']
-            );
-
-            $this->startLines[$class['startLine']] = &$this->classes[$className];
-            $this->endLines[$class['endLine']]     = &$this->classes[$className];
-
-            foreach ($class['methods'] as $methodName => $method) {
-                $this->classes[$className]['methods'][$methodName] = array(
-                    'methodName'      => $methodName,
-                    'signature'       => $method['signature'],
-                    'startLine'       => $method['startLine'],
-                    'endLine'         => $method['endLine'],
-                    'executableLines' => 0,
-                    'executedLines'   => 0,
-                    'ccn'             => $method['ccn'],
-                    'coverage'        => 0,
-                    'crap'            => 0,
-                    'link'            => $link . $method['startLine']
-                );
-
-                $this->startLines[$method['startLine']] = &$this->classes[$className]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->classes[$className]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processTraits(PHP_Token_Stream $tokens)
-    {
-        $traits = $tokens->getTraits();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($traits as $traitName => $trait) {
-            $this->traits[$traitName] = array(
-                'traitName'       => $traitName,
-                'methods'         => array(),
-                'startLine'       => $trait['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => 0,
-                'coverage'        => 0,
-                'crap'            => 0,
-                'package'         => $trait['package'],
-                'link'            => $link . $trait['startLine']
-            );
-
-            $this->startLines[$trait['startLine']] = &$this->traits[$traitName];
-            $this->endLines[$trait['endLine']]     = &$this->traits[$traitName];
-
-            foreach ($trait['methods'] as $methodName => $method) {
-                $this->traits[$traitName]['methods'][$methodName] = array(
-                    'methodName'      => $methodName,
-                    'signature'       => $method['signature'],
-                    'startLine'       => $method['startLine'],
-                    'endLine'         => $method['endLine'],
-                    'executableLines' => 0,
-                    'executedLines'   => 0,
-                    'ccn'             => $method['ccn'],
-                    'coverage'        => 0,
-                    'crap'            => 0,
-                    'link'            => $link . $method['startLine']
-                );
-
-                $this->startLines[$method['startLine']] = &$this->traits[$traitName]['methods'][$methodName];
-                $this->endLines[$method['endLine']]     = &$this->traits[$traitName]['methods'][$methodName];
-            }
-        }
-    }
-
-    /**
-     * @param PHP_Token_Stream $tokens
-     */
-    protected function processFunctions(PHP_Token_Stream $tokens)
-    {
-        $functions = $tokens->getFunctions();
-        unset($tokens);
-
-        $link = $this->getId() . '.html#';
-
-        foreach ($functions as $functionName => $function) {
-            $this->functions[$functionName] = array(
-                'functionName'    => $functionName,
-                'signature'       => $function['signature'],
-                'startLine'       => $function['startLine'],
-                'executableLines' => 0,
-                'executedLines'   => 0,
-                'ccn'             => $function['ccn'],
-                'coverage'        => 0,
-                'crap'            => 0,
-                'link'            => $link . $function['startLine']
-            );
-
-            $this->startLines[$function['startLine']] = &$this->functions[$functionName];
-            $this->endLines[$function['endLine']]     = &$this->functions[$functionName];
-        }
-    }
-
-    /**
-     * Calculates the Change Risk Anti-Patterns (CRAP) index for a unit of code
-     * based on its cyclomatic complexity and percentage of code coverage.
-     *
-     * @param  int    $ccn
-     * @param  float  $coverage
-     * @return string
-     * @since  Method available since Release 1.2.0
-     */
-    protected function crap($ccn, $coverage)
-    {
-        if ($coverage == 0) {
-            return (string) (pow($ccn, 2) + $ccn);
-        }
-
-        if ($coverage >= 95) {
-            return (string) $ccn;
-        }
-
-        return sprintf(
-            '%01.2F',
-            pow($ccn, 2) * pow(1 - $coverage/100, 3) + $ccn
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
deleted file mode 100644
index fc3e251..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
+++ /dev/null
@@ -1,222 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-        'TEST_FILES_PATH',
-        dirname(dirname(dirname(dirname(__FILE__)))) . DIRECTORY_SEPARATOR .
-        '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-require_once TEST_FILES_PATH . '../TestCase.php';
-
-/**
- * Tests for the PHP_CodeCoverage_Report_Factory class.
- *
- * @since Class available since Release 1.1.0
- */
-class PHP_CodeCoverage_Report_FactoryTest extends PHP_CodeCoverage_TestCase
-{
-    protected $factory;
-
-    protected function setUp()
-    {
-        $this->factory = new PHP_CodeCoverage_Report_Factory;
-    }
-
-    public function testSomething()
-    {
-        $root = $this->getCoverageForBankAccount()->getReport();
-
-        $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR);
-        $this->assertEquals($expectedPath, $root->getName());
-        $this->assertEquals($expectedPath, $root->getPath());
-        $this->assertEquals(10, $root->getNumExecutableLines());
-        $this->assertEquals(5, $root->getNumExecutedLines());
-        $this->assertEquals(1, $root->getNumClasses());
-        $this->assertEquals(0, $root->getNumTestedClasses());
-        $this->assertEquals(4, $root->getNumMethods());
-        $this->assertEquals(3, $root->getNumTestedMethods());
-        $this->assertEquals('0.00%', $root->getTestedClassesPercent());
-        $this->assertEquals('75.00%', $root->getTestedMethodsPercent());
-        $this->assertEquals('50.00%', $root->getLineExecutedPercent());
-        $this->assertEquals(0, $root->getNumFunctions());
-        $this->assertEquals(0, $root->getNumTestedFunctions());
-        $this->assertNull($root->getParent());
-        $this->assertEquals(array(), $root->getDirectories());
-        #$this->assertEquals(array(), $root->getFiles());
-        #$this->assertEquals(array(), $root->getChildNodes());
-
-        $this->assertEquals(
-            array(
-                'BankAccount' => array(
-                    'methods' => array(
-                        'getBalance' => array(
-                            'signature' => 'getBalance()',
-                            'startLine' => 6,
-                            'endLine' => 9,
-                            'executableLines' => 1,
-                            'executedLines' => 1,
-                            'ccn' => 1,
-                            'coverage' => 100,
-                            'crap' => '1',
-                            'link' => 'BankAccount.php.html#6',
-                            'methodName' => 'getBalance'
-                        ),
-                        'setBalance' => array(
-                            'signature' => 'setBalance($balance)',
-                            'startLine' => 11,
-                            'endLine' => 18,
-                            'executableLines' => 5,
-                            'executedLines' => 0,
-                            'ccn' => 2,
-                            'coverage' => 0,
-                            'crap' => 6,
-                            'link' => 'BankAccount.php.html#11',
-                            'methodName' => 'setBalance'
-                        ),
-                        'depositMoney' => array(
-                            'signature' => 'depositMoney($balance)',
-                            'startLine' => 20,
-                            'endLine' => 25,
-                            'executableLines' => 2,
-                            'executedLines' => 2,
-                            'ccn' => 1,
-                            'coverage' => 100,
-                            'crap' => '1',
-                            'link' => 'BankAccount.php.html#20',
-                            'methodName' => 'depositMoney'
-                        ),
-                        'withdrawMoney' => array(
-                            'signature' => 'withdrawMoney($balance)',
-                            'startLine' => 27,
-                            'endLine' => 32,
-                            'executableLines' => 2,
-                            'executedLines' => 2,
-                            'ccn' => 1,
-                            'coverage' => 100,
-                            'crap' => '1',
-                            'link' => 'BankAccount.php.html#27',
-                            'methodName' => 'withdrawMoney'
-                        ),
-                    ),
-                    'startLine' => 2,
-                    'executableLines' => 10,
-                    'executedLines' => 5,
-                    'ccn' => 5,
-                    'coverage' => 50,
-                    'crap' => '8.12',
-                    'package' => array(
-                        'namespace' => '',
-                        'fullPackage' => '',
-                        'category' => '',
-                        'package' => '',
-                        'subpackage' => ''
-                    ),
-                    'link' => 'BankAccount.php.html#2',
-                    'className' => 'BankAccount'
-                )
-            ),
-            $root->getClasses()
-        );
-
-        $this->assertEquals(array(), $root->getFunctions());
-    }
-
-    /**
-     * @covers PHP_CodeCoverage_Report_Factory::buildDirectoryStructure
-     */
-    public function testBuildDirectoryStructure()
-    {
-        $method = new ReflectionMethod(
-            'PHP_CodeCoverage_Report_Factory',
-            'buildDirectoryStructure'
-        );
-
-        $method->setAccessible(true);
-
-        $this->assertEquals(
-            array(
-                'src' => array(
-                    'Money.php/f' => array(),
-                    'MoneyBag.php/f' => array()
-                )
-            ),
-            $method->invoke(
-                $this->factory,
-                array('src/Money.php' => array(), 'src/MoneyBag.php' => array())
-            )
-        );
-    }
-
-    /**
-     * @covers       PHP_CodeCoverage_Report_Factory::reducePaths
-     * @dataProvider reducePathsProvider
-     */
-    public function testReducePaths($reducedPaths, $commonPath, $paths)
-    {
-        $method = new ReflectionMethod(
-            'PHP_CodeCoverage_Report_Factory',
-            'reducePaths'
-        );
-
-        $method->setAccessible(true);
-
-        $_commonPath = $method->invokeArgs($this->factory, array(&$paths));
-
-        $this->assertEquals($reducedPaths, $paths);
-        $this->assertEquals($commonPath, $_commonPath);
-    }
-
-    public function reducePathsProvider()
-    {
-        return array(
-            array(
-                array(
-                    'Money.php' => array(),
-                    'MoneyBag.php' => array()
-                ),
-                '/home/sb/Money',
-                array(
-                    '/home/sb/Money/Money.php' => array(),
-                    '/home/sb/Money/MoneyBag.php' => array()
-                )
-            ),
-            array(
-                array(
-                    'Money.php' => array()
-                ),
-                '/home/sb/Money/',
-                array(
-                    '/home/sb/Money/Money.php' => array()
-                )
-            ),
-            array(
-                array(),
-                '.',
-                array()
-            ),
-            array(
-                array(
-                    'Money.php' => array(),
-                    'MoneyBag.php' => array(),
-                    'Cash.phar/Cash.php' => array(),
-                ),
-                '/home/sb/Money',
-                array(
-                    '/home/sb/Money/Money.php' => array(),
-                    '/home/sb/Money/MoneyBag.php' => array(),
-                    'phar:///home/sb/Money/Cash.phar/Cash.php' => array(),
-                ),
-            ),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php b/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
deleted file mode 100644
index f9bf12e..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
+++ /dev/null
@@ -1,487 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-if (!defined('TEST_FILES_PATH')) {
-    define(
-        'TEST_FILES_PATH',
-        dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
-        '_files' . DIRECTORY_SEPARATOR
-    );
-}
-
-require_once TEST_FILES_PATH . '../TestCase.php';
-require_once TEST_FILES_PATH . 'BankAccount.php';
-require_once TEST_FILES_PATH . 'BankAccountTest.php';
-
-/**
- * Tests for the PHP_CodeCoverage class.
- *
- * @since Class available since Release 1.0.0
- */
-class PHP_CodeCoverageTest extends PHP_CodeCoverage_TestCase
-{
-    /**
-     * @var PHP_CodeCoverage
-     */
-    private $coverage;
-
-    protected function setUp()
-    {
-        $this->coverage = new PHP_CodeCoverage;
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::__construct
-     * @covers PHP_CodeCoverage::filter
-     */
-    public function testConstructor()
-    {
-        $this->assertAttributeInstanceOf(
-            'PHP_CodeCoverage_Driver_Xdebug',
-            'driver',
-            $this->coverage
-        );
-
-        $this->assertAttributeInstanceOf(
-            'PHP_CodeCoverage_Filter',
-            'filter',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::__construct
-     * @covers PHP_CodeCoverage::filter
-     */
-    public function testConstructor2()
-    {
-        $filter   = new PHP_CodeCoverage_Filter;
-        $coverage = new PHP_CodeCoverage(null, $filter);
-
-        $this->assertAttributeInstanceOf(
-            'PHP_CodeCoverage_Driver_Xdebug',
-            'driver',
-            $coverage
-        );
-
-        $this->assertSame($filter, $coverage->filter());
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::start
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStartThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->start(null, array(), null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::stop
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStopThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->stop(null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::stop
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testStopThrowsExceptionForInvalidArgument2()
-    {
-        $this->coverage->stop(true, null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::append
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testAppendThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->append(array(), null);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setCacheTokens
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetCacheTokensThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setCacheTokens(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setCacheTokens
-     */
-    public function testSetCacheTokens()
-    {
-        $this->coverage->setCacheTokens(true);
-        $this->assertAttributeEquals(true, 'cacheTokens', $this->coverage);
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetCheckForUnintentionallyCoveredCodeThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setCheckForUnintentionallyCoveredCode(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
-     */
-    public function testSetCheckForUnintentionallyCoveredCode()
-    {
-        $this->coverage->setCheckForUnintentionallyCoveredCode(true);
-        $this->assertAttributeEquals(
-            true,
-            'checkForUnintentionallyCoveredCode',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setForceCoversAnnotation
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetForceCoversAnnotationThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setForceCoversAnnotation(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setForceCoversAnnotation
-     */
-    public function testSetForceCoversAnnotation()
-    {
-        $this->coverage->setForceCoversAnnotation(true);
-        $this->assertAttributeEquals(
-            true,
-            'forceCoversAnnotation',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetAddUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setAddUncoveredFilesFromWhitelist(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
-     */
-    public function testSetAddUncoveredFilesFromWhitelist()
-    {
-        $this->coverage->setAddUncoveredFilesFromWhitelist(true);
-        $this->assertAttributeEquals(
-            true,
-            'addUncoveredFilesFromWhitelist',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetProcessUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setProcessUncoveredFilesFromWhitelist(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
-     */
-    public function testSetProcessUncoveredFilesFromWhitelist()
-    {
-        $this->coverage->setProcessUncoveredFilesFromWhitelist(true);
-        $this->assertAttributeEquals(
-            true,
-            'processUncoveredFilesFromWhitelist',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
-     */
-    public function testSetMapTestClassNameToCoveredClassName()
-    {
-        $this->coverage->setMapTestClassNameToCoveredClassName(true);
-        $this->assertAttributeEquals(
-            true,
-            'mapTestClassNameToCoveredClassName',
-            $this->coverage
-        );
-    }
-
-    /**
-     * @covers            PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
-     * @expectedException PHP_CodeCoverage_Exception
-     */
-    public function testSetMapTestClassNameToCoveredClassNameThrowsExceptionForInvalidArgument()
-    {
-        $this->coverage->setMapTestClassNameToCoveredClassName(null);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::clear
-     */
-    public function testClear()
-    {
-        $this->coverage->clear();
-
-        $this->assertAttributeEquals(null, 'currentId', $this->coverage);
-        $this->assertAttributeEquals(array(), 'data', $this->coverage);
-        $this->assertAttributeEquals(array(), 'tests', $this->coverage);
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::start
-     * @covers PHP_CodeCoverage::stop
-     * @covers PHP_CodeCoverage::append
-     * @covers PHP_CodeCoverage::applyListsFilter
-     * @covers PHP_CodeCoverage::initializeFilesThatAreSeenTheFirstTime
-     * @covers PHP_CodeCoverage::applyCoversAnnotationFilter
-     * @covers PHP_CodeCoverage::getTests
-     */
-    public function testCollect()
-    {
-        $coverage = $this->getCoverageForBankAccount();
-
-        $this->assertEquals(
-            $this->getExpectedDataArrayForBankAccount(),
-            $coverage->getData()
-        );
-
-        if (version_compare(PHPUnit_Runner_Version::id(), '4.7', '>=')) {
-            $size = 'unknown';
-        } else {
-            $size = 'small';
-        }
-
-        $this->assertEquals(
-            array(
-                'BankAccountTest::testBalanceIsInitiallyZero' => array('size' => $size, 'status' => null),
-                'BankAccountTest::testBalanceCannotBecomeNegative' => array('size' => $size, 'status' => null),
-                'BankAccountTest::testBalanceCannotBecomeNegative2' => array('size' => $size, 'status' => null),
-                'BankAccountTest::testDepositWithdrawMoney' => array('size' => $size, 'status' => null)
-            ),
-            $coverage->getTests()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getData
-     * @covers PHP_CodeCoverage::merge
-     */
-    public function testMerge()
-    {
-        $coverage = $this->getCoverageForBankAccountForFirstTwoTests();
-        $coverage->merge($this->getCoverageForBankAccountForLastTwoTests());
-
-        $this->assertEquals(
-            $this->getExpectedDataArrayForBankAccount(),
-            $coverage->getData()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getData
-     * @covers PHP_CodeCoverage::merge
-     */
-    public function testMerge2()
-    {
-        $coverage = new PHP_CodeCoverage(
-            $this->getMock('PHP_CodeCoverage_Driver_Xdebug'),
-            new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->merge($this->getCoverageForBankAccount());
-
-        $this->assertEquals(
-            $this->getExpectedDataArrayForBankAccount(),
-            $coverage->getData()
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored()
-    {
-        $this->assertEquals(
-            array(
-                1,
-                3,
-                4,
-                5,
-                7,
-                8,
-                9,
-                10,
-                11,
-                12,
-                13,
-                14,
-                15,
-                16,
-                17,
-                18,
-                19,
-                20,
-                21,
-                22,
-                23,
-                24,
-                25,
-                26,
-                27,
-                28,
-                30,
-                32,
-                33,
-                34,
-                35,
-                36,
-                37,
-                38
-            ),
-            $this->getLinesToBeIgnored()->invoke(
-                $this->coverage,
-                TEST_FILES_PATH . 'source_with_ignore.php'
-            )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored2()
-    {
-        $this->assertEquals(
-            array(1, 5),
-            $this->getLinesToBeIgnored()->invoke(
-                $this->coverage,
-                TEST_FILES_PATH . 'source_without_ignore.php'
-            )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnored3()
-    {
-        $this->assertEquals(
-            array(
-                1,
-                2,
-                3,
-                4,
-                5,
-                8,
-                11,
-                15,
-                16,
-                19,
-                20
-            ),
-            $this->getLinesToBeIgnored()->invoke(
-                $this->coverage,
-                TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php'
-            )
-        );
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnoredOneLineAnnotations()
-    {
-        $this->assertEquals(
-            array(
-                1,
-                2,
-                3,
-                4,
-                5,
-                6,
-                7,
-                8,
-                9,
-                10,
-                11,
-                12,
-                13,
-                14,
-                15,
-                16,
-                18,
-                20,
-                21,
-                23,
-                24,
-                25,
-                27,
-                28,
-                29,
-                30,
-                31,
-                32,
-                33,
-                34,
-                37
-            ),
-            $this->getLinesToBeIgnored()->invoke(
-                $this->coverage,
-                TEST_FILES_PATH . 'source_with_oneline_annotations.php'
-            )
-        );
-    }
-
-    /**
-     * @return ReflectionMethod
-     */
-    private function getLinesToBeIgnored()
-    {
-        $getLinesToBeIgnored = new ReflectionMethod(
-            'PHP_CodeCoverage',
-            'getLinesToBeIgnored'
-        );
-
-        $getLinesToBeIgnored->setAccessible(true);
-
-        return $getLinesToBeIgnored;
-    }
-
-    /**
-     * @covers PHP_CodeCoverage::getLinesToBeIgnored
-     */
-    public function testGetLinesToBeIgnoredWhenIgnoreIsDisabled()
-    {
-        $this->coverage->setDisableIgnoredLines(true);
-
-        $this->assertEquals(
-            array(),
-            $this->getLinesToBeIgnored()->invoke(
-                $this->coverage,
-                TEST_FILES_PATH . 'source_with_ignore.php'
-            )
-        );
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/TestCase.php b/core/vendor/phpunit/php-code-coverage/tests/TestCase.php
deleted file mode 100644
index 09899dc..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/TestCase.php
+++ /dev/null
@@ -1,311 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_CodeCoverage package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Abstract base class for test case classes.
- *
- * @since Class available since Release 1.0.0
- */
-abstract class PHP_CodeCoverage_TestCase extends PHPUnit_Framework_TestCase
-{
-    protected function getXdebugDataForBankAccount()
-    {
-        return array(
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array(
-                    8 =>  1,
-                    9 => -2,
-                    13 => -1,
-                    14 => -1,
-                    15 => -1,
-                    16 => -1,
-                    18 => -1,
-                    22 => -1,
-                    24 => -1,
-                    25 => -2,
-                    29 => -1,
-                    31 => -1,
-                    32 => -2
-                )
-            ),
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array(
-                    8 => 1,
-                    13 => 1,
-                    16 => 1,
-                    29 => 1,
-                )
-            ),
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array(
-                    8 => 1,
-                    13 => 1,
-                    16 => 1,
-                    22 => 1,
-                )
-            ),
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array(
-                    8 => 1,
-                    13 => 1,
-                    14 => 1,
-                    15 => 1,
-                    18 => 1,
-                    22 => 1,
-                    24 => 1,
-                    29 => 1,
-                    31 => 1,
-                )
-            )
-        );
-    }
-
-    protected function getCoverageForBankAccount()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-            ->method('stop')
-            ->will($this->onConsecutiveCalls(
-                $data[0],
-                $data[1],
-                $data[2],
-                $data[3]
-            ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-            new BankAccountTest('testBalanceIsInitiallyZero'),
-            true
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
-        );
-
-        $coverage->start(
-            new BankAccountTest('testBalanceCannotBecomeNegative')
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
-        );
-
-        $coverage->start(
-            new BankAccountTest('testBalanceCannotBecomeNegative2')
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
-        );
-
-        $coverage->start(
-            new BankAccountTest('testDepositWithdrawMoney')
-        );
-
-        $coverage->stop(
-            true,
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array_merge(
-                    range(6, 9),
-                    range(20, 25),
-                    range(27, 32)
-                )
-            )
-        );
-
-        return $coverage;
-    }
-
-    protected function getCoverageForBankAccountForFirstTwoTests()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-            ->method('stop')
-            ->will($this->onConsecutiveCalls(
-                $data[0],
-                $data[1]
-            ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-            new BankAccountTest('testBalanceIsInitiallyZero'),
-            true
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
-        );
-
-        $coverage->start(
-            new BankAccountTest('testBalanceCannotBecomeNegative')
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
-        );
-
-        return $coverage;
-    }
-
-    protected function getCoverageForBankAccountForLastTwoTests()
-    {
-        $data = $this->getXdebugDataForBankAccount();
-
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-            ->method('stop')
-            ->will($this->onConsecutiveCalls(
-                $data[2],
-                $data[3]
-            ));
-
-        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
-
-        $coverage->start(
-            new BankAccountTest('testBalanceCannotBecomeNegative2')
-        );
-
-        $coverage->stop(
-            true,
-            array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
-        );
-
-        $coverage->start(
-            new BankAccountTest('testDepositWithdrawMoney')
-        );
-
-        $coverage->stop(
-            true,
-            array(
-                TEST_FILES_PATH . 'BankAccount.php' => array_merge(
-                    range(6, 9),
-                    range(20, 25),
-                    range(27, 32)
-                )
-            )
-        );
-
-        return $coverage;
-    }
-
-    protected function getExpectedDataArrayForBankAccount()
-    {
-        return array(
-            TEST_FILES_PATH . 'BankAccount.php' => array(
-                8 => array(
-                    0 => 'BankAccountTest::testBalanceIsInitiallyZero',
-                    1 => 'BankAccountTest::testDepositWithdrawMoney'
-                ),
-                9 => null,
-                13 => array(),
-                14 => array(),
-                15 => array(),
-                16 => array(),
-                18 => array(),
-                22 => array(
-                    0 => 'BankAccountTest::testBalanceCannotBecomeNegative2',
-                    1 => 'BankAccountTest::testDepositWithdrawMoney'
-                ),
-                24 => array(
-                    0 => 'BankAccountTest::testDepositWithdrawMoney',
-                ),
-                25 => null,
-                29 => array(
-                    0 => 'BankAccountTest::testBalanceCannotBecomeNegative',
-                    1 => 'BankAccountTest::testDepositWithdrawMoney'
-                ),
-                31 => array(
-                    0 => 'BankAccountTest::testDepositWithdrawMoney'
-                ),
-                32 => null
-            )
-        );
-    }
-
-    protected function getCoverageForFileWithIgnoredLines()
-    {
-        $coverage = new PHP_CodeCoverage(
-            $this->setUpXdebugStubForFileWithIgnoredLines(),
-            new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->start('FileWithIgnoredLines', true);
-        $coverage->stop();
-
-        return $coverage;
-    }
-
-    protected function setUpXdebugStubForFileWithIgnoredLines()
-    {
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-            ->method('stop')
-            ->will($this->returnValue(
-                array(
-                    TEST_FILES_PATH . 'source_with_ignore.php' => array(
-                        2 => 1,
-                        4 => -1,
-                        6 => -1,
-                        7 => 1
-                    )
-                )
-            ));
-
-        return $stub;
-    }
-
-    protected function getCoverageForClassWithAnonymousFunction()
-    {
-        $coverage = new PHP_CodeCoverage(
-            $this->setUpXdebugStubForClassWithAnonymousFunction(),
-            new PHP_CodeCoverage_Filter
-        );
-
-        $coverage->start('ClassWithAnonymousFunction', true);
-        $coverage->stop();
-
-        return $coverage;
-    }
-
-    protected function setUpXdebugStubForClassWithAnonymousFunction()
-    {
-        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
-        $stub->expects($this->any())
-            ->method('stop')
-            ->will($this->returnValue(
-                array(
-                    TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php' => array(
-                        7  => 1,
-                        9  => 1,
-                        10 => -1,
-                        11 => 1,
-                        12 => 1,
-                        13 => 1,
-                        14 => 1,
-                        17 => 1,
-                        18 => 1
-                    )
-                )
-            ));
-
-        return $stub;
-    }
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php b/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
deleted file mode 100644
index 7c743db..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-
-/**
- * @coversDefaultClass \NamespaceOne
- * @coversDefaultClass \AnotherDefault\Name\Space\Does\Not\Work
- */
-class CoverageTwoDefaultClassAnnotations
-{
-
-    /**
-     * @covers Foo\CoveredClass::<public>
-     */
-    public function testSomething()
-    {
-        $o = new Foo\CoveredClass;
-        $o->publicMethod();
-    }
-
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
deleted file mode 100644
index ebe98ee..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-namespace bar\baz;
-
-/**
- * Represents foo.
- */
-class source_with_namespace
-{
-}
-
-/**
- * @param mixed $bar
- */
-function &foo($bar)
-{
-    $baz = function () {};
-    $a   = true ? true : false;
-    $b = "{$a}";
-    $c = "${b}";
-}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php b/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
deleted file mode 100644
index 24d78e5..0000000
--- a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-/**
- * Represents foo.
- */
-class Foo
-{
-}
-
-/**
- * @param mixed $bar
- */
-function &foo($bar)
-{
-    $baz = function () {};
-    $a   = true ? true : false;
-    $b = "{$a}";
-    $c = "${b}";
-}
diff --git a/core/vendor/phpunit/php-token-stream/.travis.yml b/core/vendor/phpunit/php-token-stream/.travis.yml
deleted file mode 100644
index bc962b7..0000000
--- a/core/vendor/phpunit/php-token-stream/.travis.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-language: php
-
-php:
-  - 5.3.3
-  - 5.3
-  - 5.4
-  - 5.5
-  - 5.6
-  - hhvm
-
-before_script:
-  - composer self-update
-  - composer install --no-interaction --prefer-source --dev
-
-script:
-  - ./vendor/bin/phpunit --configuration ./build/phpunit.xml
-
-matrix:
-  allow_failures:
-    - php: hhvm
-
-notifications:
-  email: false
-  webhooks:
-    urls:
-      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
-    on_success: always
-    on_failure: always
-    on_start: false
-
diff --git a/core/vendor/phpunit/php-token-stream/src/Token/Stream.php b/core/vendor/phpunit/php-token-stream/src/Token/Stream.php
deleted file mode 100644
index a9c69be..0000000
--- a/core/vendor/phpunit/php-token-stream/src/Token/Stream.php
+++ /dev/null
@@ -1,606 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A stream of PHP tokens.
- *
- * @author    Sebastian Bergmann <sebastian@phpunit.de>
- * @copyright Sebastian Bergmann <sebastian@phpunit.de>
- * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @link      http://github.com/sebastianbergmann/php-token-stream/tree
- * @since     Class available since Release 1.0.0
- */
-class PHP_Token_Stream implements ArrayAccess, Countable, SeekableIterator
-{
-    /**
-     * @var array
-     */
-    protected static $customTokens = array(
-        '(' => 'PHP_Token_OPEN_BRACKET',
-        ')' => 'PHP_Token_CLOSE_BRACKET',
-        '[' => 'PHP_Token_OPEN_SQUARE',
-        ']' => 'PHP_Token_CLOSE_SQUARE',
-        '{' => 'PHP_Token_OPEN_CURLY',
-        '}' => 'PHP_Token_CLOSE_CURLY',
-        ';' => 'PHP_Token_SEMICOLON',
-        '.' => 'PHP_Token_DOT',
-        ',' => 'PHP_Token_COMMA',
-        '=' => 'PHP_Token_EQUAL',
-        '<' => 'PHP_Token_LT',
-        '>' => 'PHP_Token_GT',
-        '+' => 'PHP_Token_PLUS',
-        '-' => 'PHP_Token_MINUS',
-        '*' => 'PHP_Token_MULT',
-        '/' => 'PHP_Token_DIV',
-        '?' => 'PHP_Token_QUESTION_MARK',
-        '!' => 'PHP_Token_EXCLAMATION_MARK',
-        ':' => 'PHP_Token_COLON',
-        '"' => 'PHP_Token_DOUBLE_QUOTES',
-        '@' => 'PHP_Token_AT',
-        '&' => 'PHP_Token_AMPERSAND',
-        '%' => 'PHP_Token_PERCENT',
-        '|' => 'PHP_Token_PIPE',
-        '$' => 'PHP_Token_DOLLAR',
-        '^' => 'PHP_Token_CARET',
-        '~' => 'PHP_Token_TILDE',
-        '`' => 'PHP_Token_BACKTICK'
-    );
-
-    /**
-     * @var string
-     */
-    protected $filename;
-
-    /**
-     * @var array
-     */
-    protected $tokens = array();
-
-    /**
-     * @var integer
-     */
-    protected $position = 0;
-
-    /**
-     * @var array
-     */
-    protected $linesOfCode = array('loc' => 0, 'cloc' => 0, 'ncloc' => 0);
-
-    /**
-     * @var array
-     */
-    protected $classes;
-
-    /**
-     * @var array
-     */
-    protected $functions;
-
-    /**
-     * @var array
-     */
-    protected $includes;
-
-    /**
-     * @var array
-     */
-    protected $interfaces;
-
-    /**
-     * @var array
-     */
-    protected $traits;
-
-    /**
-     * @var array
-     */
-    protected $lineToFunctionMap = array();
-
-    /**
-     * Constructor.
-     *
-     * @param string $sourceCode
-     */
-    public function __construct($sourceCode)
-    {
-        if (is_file($sourceCode)) {
-            $this->filename = $sourceCode;
-            $sourceCode     = file_get_contents($sourceCode);
-        }
-
-        $this->scan($sourceCode);
-    }
-
-    /**
-     * Destructor.
-     */
-    public function __destruct()
-    {
-        $this->tokens = array();
-    }
-
-    /**
-     * @return string
-     */
-    public function __toString()
-    {
-        $buffer = '';
-
-        foreach ($this as $token) {
-            $buffer .= $token;
-        }
-
-        return $buffer;
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 1.1.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Scans the source for sequences of characters and converts them into a
-     * stream of tokens.
-     *
-     * @param string $sourceCode
-     */
-    protected function scan($sourceCode)
-    {
-        $line      = 1;
-        $tokens    = token_get_all($sourceCode);
-        $numTokens = count($tokens);
-
-        $lastNonWhitespaceTokenWasDoubleColon = false;
-
-        for ($i = 0; $i < $numTokens; ++$i) {
-            $token = $tokens[$i];
-            unset($tokens[$i]);
-
-            if (is_array($token)) {
-                $name = substr(token_name($token[0]), 2);
-                $text = $token[1];
-
-                if ($lastNonWhitespaceTokenWasDoubleColon && $name == 'CLASS') {
-                    $name = 'CLASS_NAME_CONSTANT';
-                }
-
-                $tokenClass = 'PHP_Token_' . $name;
-            } else {
-                $text       = $token;
-                $tokenClass = self::$customTokens[$token];
-            }
-
-            $this->tokens[] = new $tokenClass($text, $line, $this, $i);
-            $lines          = substr_count($text, "\n");
-            $line          += $lines;
-
-            if ($tokenClass == 'PHP_Token_HALT_COMPILER') {
-                break;
-            } elseif ($tokenClass == 'PHP_Token_COMMENT' ||
-                $tokenClass == 'PHP_Token_DOC_COMMENT') {
-                $this->linesOfCode['cloc'] += $lines + 1;
-            }
-
-            if ($name == 'DOUBLE_COLON') {
-                $lastNonWhitespaceTokenWasDoubleColon = true;
-            } elseif ($name != 'WHITESPACE') {
-                $lastNonWhitespaceTokenWasDoubleColon = false;
-            }
-        }
-
-        $this->linesOfCode['loc']   = substr_count($sourceCode, "\n");
-        $this->linesOfCode['ncloc'] = $this->linesOfCode['loc'] -
-                                      $this->linesOfCode['cloc'];
-    }
-
-    /**
-     * @return integer
-     */
-    public function count()
-    {
-        return count($this->tokens);
-    }
-
-    /**
-     * @return PHP_Token[]
-     */
-    public function tokens()
-    {
-        return $this->tokens;
-    }
-
-    /**
-     * @return array
-     */
-    public function getClasses()
-    {
-        if ($this->classes !== null) {
-            return $this->classes;
-        }
-
-        $this->parse();
-
-        return $this->classes;
-    }
-
-    /**
-     * @return array
-     */
-    public function getFunctions()
-    {
-        if ($this->functions !== null) {
-            return $this->functions;
-        }
-
-        $this->parse();
-
-        return $this->functions;
-    }
-
-    /**
-     * @return array
-     */
-    public function getInterfaces()
-    {
-        if ($this->interfaces !== null) {
-            return $this->interfaces;
-        }
-
-        $this->parse();
-
-        return $this->interfaces;
-    }
-
-    /**
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getTraits()
-    {
-        if ($this->traits !== null) {
-            return $this->traits;
-        }
-
-        $this->parse();
-
-        return $this->traits;
-    }
-
-    /**
-     * Gets the names of all files that have been included
-     * using include(), include_once(), require() or require_once().
-     *
-     * Parameter $categorize set to TRUE causing this function to return a
-     * multi-dimensional array with categories in the keys of the first dimension
-     * and constants and their values in the second dimension.
-     *
-     * Parameter $category allow to filter following specific inclusion type
-     *
-     * @param bool   $categorize OPTIONAL
-     * @param string $category   OPTIONAL Either 'require_once', 'require',
-     *                                           'include_once', 'include'.
-     * @return array
-     * @since  Method available since Release 1.1.0
-     */
-    public function getIncludes($categorize = false, $category = null)
-    {
-        if ($this->includes === null) {
-            $this->includes = array(
-              'require_once' => array(),
-              'require'      => array(),
-              'include_once' => array(),
-              'include'      => array()
-            );
-
-            foreach ($this->tokens as $token) {
-                switch (get_class($token)) {
-                    case 'PHP_Token_REQUIRE_ONCE':
-                    case 'PHP_Token_REQUIRE':
-                    case 'PHP_Token_INCLUDE_ONCE':
-                    case 'PHP_Token_INCLUDE':
-                        $this->includes[$token->getType()][] = $token->getName();
-                        break;
-                }
-            }
-        }
-
-        if (isset($this->includes[$category])) {
-            $includes = $this->includes[$category];
-        } elseif ($categorize === false) {
-            $includes = array_merge(
-                $this->includes['require_once'],
-                $this->includes['require'],
-                $this->includes['include_once'],
-                $this->includes['include']
-            );
-        } else {
-            $includes = $this->includes;
-        }
-
-        return $includes;
-    }
-
-    /**
-     * Returns the name of the function or method a line belongs to.
-     *
-     * @return string or null if the line is not in a function or method
-     * @since  Method available since Release 1.2.0
-     */
-    public function getFunctionForLine($line)
-    {
-        $this->parse();
-
-        if (isset($this->lineToFunctionMap[$line])) {
-            return $this->lineToFunctionMap[$line];
-        }
-    }
-
-    protected function parse()
-    {
-        $this->interfaces = array();
-        $this->classes    = array();
-        $this->traits     = array();
-        $this->functions  = array();
-        $class            = false;
-        $classEndLine     = false;
-        $trait            = false;
-        $traitEndLine     = false;
-        $interface        = false;
-        $interfaceEndLine = false;
-
-        foreach ($this->tokens as $token) {
-            switch (get_class($token)) {
-                case 'PHP_Token_HALT_COMPILER':
-                    return;
-
-                case 'PHP_Token_INTERFACE':
-                    $interface        = $token->getName();
-                    $interfaceEndLine = $token->getEndLine();
-
-                    $this->interfaces[$interface] = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $interfaceEndLine,
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-                    break;
-
-                case 'PHP_Token_CLASS':
-                case 'PHP_Token_TRAIT':
-                    $tmp = array(
-                      'methods'   => array(),
-                      'parent'    => $token->getParent(),
-                      'interfaces'=> $token->getInterfaces(),
-                      'keywords'  => $token->getKeywords(),
-                      'docblock'  => $token->getDocblock(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'package'   => $token->getPackage(),
-                      'file'      => $this->filename
-                    );
-
-                    if ($token instanceof PHP_Token_CLASS) {
-                        $class                 = $token->getName();
-                        $classEndLine          = $token->getEndLine();
-
-                        if ($class != 'anonymous class') {
-                            $this->classes[$class] = $tmp;
-                        }
-                    } else {
-                        $trait                = $token->getName();
-                        $traitEndLine         = $token->getEndLine();
-                        $this->traits[$trait] = $tmp;
-                    }
-                    break;
-
-                case 'PHP_Token_FUNCTION':
-                    $name = $token->getName();
-                    $tmp  = array(
-                      'docblock'  => $token->getDocblock(),
-                      'keywords'  => $token->getKeywords(),
-                      'visibility'=> $token->getVisibility(),
-                      'signature' => $token->getSignature(),
-                      'startLine' => $token->getLine(),
-                      'endLine'   => $token->getEndLine(),
-                      'ccn'       => $token->getCCN(),
-                      'file'      => $this->filename
-                    );
-
-                    if ($class === false &&
-                        $trait === false &&
-                        $interface === false) {
-                        $this->functions[$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } elseif ($class !== false && $class != 'anonymous class') {
-                        $this->classes[$class]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $class . '::' . $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } elseif ($trait !== false) {
-                        $this->traits[$trait]['methods'][$name] = $tmp;
-
-                        $this->addFunctionToMap(
-                            $trait . '::' . $name,
-                            $tmp['startLine'],
-                            $tmp['endLine']
-                        );
-                    } else {
-                        $this->interfaces[$interface]['methods'][$name] = $tmp;
-                    }
-                    break;
-
-                case 'PHP_Token_CLOSE_CURLY':
-                    if ($classEndLine !== false &&
-                        $classEndLine == $token->getLine()) {
-                        $class        = false;
-                        $classEndLine = false;
-                    } elseif ($traitEndLine !== false &&
-                        $traitEndLine == $token->getLine()) {
-                        $trait        = false;
-                        $traitEndLine = false;
-                    } elseif ($interfaceEndLine !== false &&
-                        $interfaceEndLine == $token->getLine()) {
-                        $interface        = false;
-                        $interfaceEndLine = false;
-                    }
-                    break;
-            }
-        }
-    }
-
-    /**
-     * @return array
-     */
-    public function getLinesOfCode()
-    {
-        return $this->linesOfCode;
-    }
-
-    /**
-     */
-    public function rewind()
-    {
-        $this->position = 0;
-    }
-
-    /**
-     * @return boolean
-     */
-    public function valid()
-    {
-        return isset($this->tokens[$this->position]);
-    }
-
-    /**
-     * @return integer
-     */
-    public function key()
-    {
-        return $this->position;
-    }
-
-    /**
-     * @return PHP_Token
-     */
-    public function current()
-    {
-        return $this->tokens[$this->position];
-    }
-
-    /**
-     */
-    public function next()
-    {
-        $this->position++;
-    }
-
-    /**
-     * @param  integer $offset
-     * @return boolean
-     */
-    public function offsetExists($offset)
-    {
-        return isset($this->tokens[$offset]);
-    }
-
-    /**
-     * @param  integer $offset
-     * @return mixed
-     * @throws OutOfBoundsException
-     */
-    public function offsetGet($offset)
-    {
-        if (!$this->offsetExists($offset)) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $offset
-                )
-            );
-        }
-
-        return $this->tokens[$offset];
-    }
-
-    /**
-     * @param integer $offset
-     * @param mixed   $value
-     */
-    public function offsetSet($offset, $value)
-    {
-        $this->tokens[$offset] = $value;
-    }
-
-    /**
-     * @param  integer $offset
-     * @throws OutOfBoundsException
-     */
-    public function offsetUnset($offset)
-    {
-        if (!$this->offsetExists($offset)) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $offset
-                )
-            );
-        }
-
-        unset($this->tokens[$offset]);
-    }
-
-    /**
-     * Seek to an absolute position.
-     *
-     * @param  integer $position
-     * @throws OutOfBoundsException
-     */
-    public function seek($position)
-    {
-        $this->position = $position;
-
-        if (!$this->valid()) {
-            throw new OutOfBoundsException(
-                sprintf(
-                    'No token at position "%s"',
-                    $this->position
-                )
-            );
-        }
-    }
-
-    /**
-     * @param string  $name
-     * @param integer $startLine
-     * @param integer $endLine
-     */
-    private function addFunctionToMap($name, $startLine, $endLine)
-    {
-        for ($line = $startLine; $line <= $endLine; $line++) {
-            $this->lineToFunctionMap[$line] = $name;
-        }
-    }
-}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php b/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
deleted file mode 100644
index 7080e56..0000000
--- a/core/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
+++ /dev/null
@@ -1,96 +0,0 @@
-<?php
-/*
- * This file is part of the PHP_TokenStream package.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Tests for the PHP_Token_CLASS class.
- *
- * @package    PHP_TokenStream
- * @subpackage Tests
- * @author     Laurent Laville <pear@laurent-laville.org>
- * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
- * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
- * @version    Release: @package_version@
- * @link       http://github.com/sebastianbergmann/php-token-stream/
- * @since      Class available since Release 1.0.2
- */
-class PHP_Token_ClassTest extends PHPUnit_Framework_TestCase
-{
-    protected $class;
-    protected $function;
-
-    protected function setUp()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source2.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_CLASS) {
-                $this->class = $token;
-            }
-
-            if ($token instanceof PHP_Token_FUNCTION) {
-                $this->function = $token;
-                break;
-            }
-        }
-    }
-
-    /**
-     * @covers PHP_Token_CLASS::getKeywords
-     */
-    public function testGetClassKeywords()
-    {
-        $this->assertEquals('abstract', $this->class->getKeywords());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getKeywords
-     */
-    public function testGetFunctionKeywords()
-    {
-        $this->assertEquals('abstract,static', $this->function->getKeywords());
-    }
-
-    /**
-     * @covers PHP_Token_FUNCTION::getVisibility
-     */
-    public function testGetFunctionVisibility()
-    {
-        $this->assertEquals('public', $this->function->getVisibility());
-    }
-
-    public function testIssue19()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue19.php');
-
-        foreach ($ts as $token) {
-            if ($token instanceof PHP_Token_CLASS) {
-                $this->assertFalse($token->hasInterfaces());
-            }
-        }
-    }
-
-    public function testIssue30()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue30.php');
-        $this->assertCount(1, $ts->getClasses());
-    }
-
-    /**
-     * @requires PHP 7
-     */
-    public function testAnonymousClassesAreHandledCorrectly()
-    {
-        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_that_declares_anonymous_class.php');
-
-        $classes = $ts->getClasses();
-
-        $this->assertEquals(array('class_with_method_that_declares_anonymous_class'), array_keys($classes));
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/CONTRIBUTING.md b/core/vendor/phpunit/phpunit/CONTRIBUTING.md
deleted file mode 100644
index d96decc..0000000
--- a/core/vendor/phpunit/phpunit/CONTRIBUTING.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributing to PHPUnit
-
-Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
-
-* Fork the project.
-* Make your bug fix or feature addition.
-* Add tests for it. This is important so we don't break it in a future version unintentionally.
-* Send a pull request. Bonus points for topic branches.
-
-Pull requests for bug fixes must be based on the current stable branch whereas pull requests for new features must be based on `master`.
-
-We are trying to keep backwards compatibility breaks in PHPUnit to an absolute minimum. Please take this into account when proposing changes.
-
-Due to time constraints, we are not always able to respond as quickly as we would like. Please do not take delays personal and feel free to remind us if you feel that we forgot to respond.
-
-## Using PHPUnit from a Git checkout
-
-The following commands can be used to perform the initial checkout of PHPUnit:
-
-    git clone git://github.com/sebastianbergmann/phpunit.git
-    cd phpunit
-
-Retrieve PHPUnit's dependencies using [Composer](http://getcomposer.org/):
-
-    wget http://getcomposer.org/composer.phar
-    php composer.phar install
-
-The `phpunit` script can be used to invoke the PHPUnit test runner.
-
-## Reporting issues
-
-Please use the most specific issue tracker to search for existing tickets and to open new tickets:
-
-* [General problems](https://github.com/sebastianbergmann/phpunit/issues)
-* [Code Coverage](https://github.com/sebastianbergmann/php-code-coverage/issues)
-* [Stub and Mock Objects](https://github.com/sebastianbergmann/phpunit-mock-objects/issues)
-* [DbUnit](https://github.com/sebastianbergmann/dbunit/issues)
-* [PHPUnit_Selenium](https://github.com/sebastianbergmann/phpunit-selenium/issues)
-* [Documentation](https://github.com/sebastianbergmann/phpunit-documentation/issues)
-* [Website](https://github.com/sebastianbergmann/phpunit-website/issues)
-
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.8.md b/core/vendor/phpunit/phpunit/ChangeLog-4.8.md
deleted file mode 100644
index 0557d13..0000000
--- a/core/vendor/phpunit/phpunit/ChangeLog-4.8.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Changes in PHPUnit 4.8
-
-All notable changes of the PHPUnit 4.8 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
-
-## [4.8.6] - 2015-08-24
-
-### Fixed
-
-* Fixed [#1835](https://github.com/sebastianbergmann/phpunit/issues/1835): Skipped test reported as errored since PHPUnit 4.7.4
-
-## [4.8.5] - 2015-08-19
-
-### Fixed
-
-* Fixed [#1831](https://github.com/sebastianbergmann/phpunit/issues/1831): PHAR manifest is missing
-
-## [4.8.4] - 2015-08-15
-
-### Fixed
-
-* Fixed [#1823](https://github.com/sebastianbergmann/phpunit/issues/1823): Columns attribute in XML configuration file is ignored
-
-## [4.8.3] - 2015-08-10
-
-### Changed
-
-* PHPUnit now exits early during bootstrap when an unsupported version of PHP is used
-
-## [4.8.2] - 2015-08-07
-
-### Fixed
-
-* Fixed [#1816](https://github.com/sebastianbergmann/phpunit/issues/1816): PHPUnit 4.8.1 shows "4.8.0" as version number
-
-## [4.8.1] - 2015-08-07
-
-### Fixed
-
-* Fixed [#1815](https://github.com/sebastianbergmann/phpunit/issues/1815): `phpunit --self-update` does not work in PHPUnit 4.8.0
-
-## [4.8.0] - 2015-08-07
-
-### Added
-
-* Added `--check-version` commandline switch to check whether the current version of PHPUnit is used (PHAR only)
-* Added `--no-coverage` commandline switch to ignore code coverage configuration from the configuration file
-* Implemented [#1663](https://github.com/sebastianbergmann/phpunit/issues/1663): The Crap4J report's threshold is now configurable
-* Merged [#1728](https://github.com/sebastianbergmann/phpunit/issues/1728): Implemented the `@testWith` annotation as "syntactic sugar" for data providers
-* Merged [#1739](https://github.com/sebastianbergmann/phpunit/issues/1739): Added support to the commandline test runner for using options after arguments
-
-### Changed
-
-* Made the argument check of `assertContains()` and `assertNotContains()` more strict to prevent undefined behavior such as [#1808](https://github.com/sebastianbergmann/phpunit/issues/1808)
-* Changed the name of the default group from `__nogroup__` to `default`
-
-[4.8.6]: https://github.com/sebastianbergmann/phpunit/compare/4.8.5...4.8.6
-[4.8.5]: https://github.com/sebastianbergmann/phpunit/compare/4.8.4...4.8.5
-[4.8.4]: https://github.com/sebastianbergmann/phpunit/compare/4.8.3...4.8.4
-[4.8.3]: https://github.com/sebastianbergmann/phpunit/compare/4.8.2...4.8.3
-[4.8.2]: https://github.com/sebastianbergmann/phpunit/compare/4.8.1...4.8.2
-[4.8.1]: https://github.com/sebastianbergmann/phpunit/compare/4.8.0...4.8.1
-[4.8.0]: https://github.com/sebastianbergmann/phpunit/compare/4.7...4.8.0
-
diff --git a/core/vendor/phpunit/phpunit/README.md b/core/vendor/phpunit/phpunit/README.md
deleted file mode 100644
index 8d4f9c4..0000000
--- a/core/vendor/phpunit/phpunit/README.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# PHPUnit
-
-PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
-
-[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit/4.8.svg?style=flat-square)](https://travis-ci.org/sebastianbergmann/phpunit)
-[![Latest Stable Version](https://img.shields.io/packagist/v/phpunit/phpunit.svg?style=flat-square)](https://packagist.org/packages/phpunit/phpunit)
-
-## Installation
-
-We distribute a [PHP Archive (PHAR)](http://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit bundled in a single file:
-
-    wget https://phar.phpunit.de/phpunit.phar
-    chmod +x phpunit.phar
-    mv phpunit.phar /usr/local/bin/phpunit
-
-You can also immediately use the PHAR after you have downloaded it, of course:
-
-    wget https://phar.phpunit.de/phpunit.phar
-    php phpunit.phar
-
-Alternatively, you may use [Composer](http://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the [documentation](https://phpunit.de/documentation.html) for details on how to do this.
-
-## Contribute
-
-Please refer to [CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) for information on how to contribute to PHPUnit and its related projects.
-
-## List of Contributors
-
-Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components:
-
-* [PHPUnit](https://github.com/sebastianbergmann/phpunit/graphs/contributors)
-* [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage/graphs/contributors)
-* [PHPUnit_MockObject](https://github.com/sebastianbergmann/phpunit-mock-objects/graphs/contributors)
-
-A very special thanks to everyone who has contributed to the documentation and helps maintain the translations:
-
-* [PHPUnit Documentation](https://github.com/sebastianbergmann/phpunit-documentation/graphs/contributors)
-
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Assert.php b/core/vendor/phpunit/phpunit/src/Framework/Assert.php
deleted file mode 100644
index 7ddd6d9..0000000
--- a/core/vendor/phpunit/phpunit/src/Framework/Assert.php
+++ /dev/null
@@ -1,3056 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * A set of assert methods.
- *
- * @since Class available since Release 2.0.0
- */
-abstract class PHPUnit_Framework_Assert
-{
-    /**
-     * @var int
-     */
-    private static $count = 0;
-
-    /**
-     * Asserts that an array has a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     * @since Method available since Release 3.0.0
-     */
-    public static function assertArrayHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array has a specified subset.
-     *
-     * @param array|ArrayAccess $subset
-     * @param array|ArrayAccess $array
-     * @param bool              $strict  Check for object identity
-     * @param string            $message
-     * @since Method available since Release 4.4.0
-     */
-    public static function assertArraySubset($subset, $array, $strict = false, $message = '')
-    {
-        if (!is_array($subset)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'array or ArrayAccess'
-            );
-        }
-
-        if (!is_array($array)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ArraySubset($subset, $strict);
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an array does not have a specified key.
-     *
-     * @param mixed             $key
-     * @param array|ArrayAccess $array
-     * @param string            $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertArrayNotHasKey($key, $array, $message = '')
-    {
-        if (!(is_integer($key) || is_string($key))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'integer or string'
-            );
-        }
-
-        if (!(is_array($array) || $array instanceof ArrayAccess)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or ArrayAccess'
-            );
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ArrayHasKey($key)
-        );
-
-        self::assertThat($array, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack contains a needle.
-     *
-     * @param mixed  $needle
-     * @param mixed  $haystack
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_TraversableContains(
-                $needle,
-                $checkForObjectIdentity,
-                $checkForNonObjectIdentity
-            );
-        } elseif (is_string($haystack)) {
-            if (!is_string($needle)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'string'
-                );
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_StringContains(
-                $needle,
-                $ignoreCase
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains a needle.
-     *
-     * @param mixed  $needle
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        self::assertContains(
-            $needle,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain a needle.
-     *
-     * @param mixed  $needle
-     * @param mixed  $haystack
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        if (is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable) {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContains(
-                    $needle,
-                    $checkForObjectIdentity,
-                    $checkForNonObjectIdentity
-                )
-            );
-        } elseif (is_string($haystack)) {
-            if (!is_string($needle)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'string'
-                );
-            }
-
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_StringContains(
-                    $needle,
-                    $ignoreCase
-                )
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array, traversable or string'
-            );
-        }
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain a needle.
-     *
-     * @param mixed  $needle
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @param bool   $ignoreCase
-     * @param bool   $checkForObjectIdentity
-     * @param bool   $checkForNonObjectIdentity
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        self::assertNotContains(
-            $needle,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message,
-            $ignoreCase,
-            $checkForObjectIdentity,
-            $checkForNonObjectIdentity
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only values of a given type.
-     *
-     * @param string $type
-     * @param mixed  $haystack
-     * @param bool   $isNativeType
-     * @param string $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $type,
-                $isNativeType
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack contains only instances of a given classname
-     *
-     * @param string            $classname
-     * @param array|Traversable $haystack
-     * @param string            $message
-     */
-    public static function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                $classname,
-                false
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object contains only values of a given type.
-     *
-     * @param string $type
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param bool   $isNativeType
-     * @param string $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        self::assertContainsOnly(
-            $type,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack does not contain only values of a given type.
-     *
-     * @param string $type
-     * @param mixed  $haystack
-     * @param bool   $isNativeType
-     * @param string $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
-    {
-        if (!(is_array($haystack) ||
-            is_object($haystack) && $haystack instanceof Traversable)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                2,
-                'array or traversable'
-            );
-        }
-
-        if ($isNativeType == null) {
-            $isNativeType = PHPUnit_Util_Type::isType($type);
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_TraversableContainsOnly(
-                    $type,
-                    $isNativeType
-                )
-            ),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a haystack that is stored in a static attribute of a class
-     * or an attribute of an object does not contain only values of a given
-     * type.
-     *
-     * @param string $type
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param bool   $isNativeType
-     * @param string $message
-     * @since  Method available since Release 3.1.4
-     */
-    public static function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
-    {
-        self::assertNotContainsOnly(
-            $type,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $isNativeType,
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param int    $expectedCount
-     * @param mixed  $haystack
-     * @param string $message
-     */
-    public static function assertCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        self::assertThat(
-            $haystack,
-            new PHPUnit_Framework_Constraint_Count($expectedCount),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param int    $expectedCount
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertCount(
-            $expectedCount,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable.
-     *
-     * @param int    $expectedCount
-     * @param mixed  $haystack
-     * @param string $message
-     */
-    public static function assertNotCount($expectedCount, $haystack, $message = '')
-    {
-        if (!is_int($expectedCount)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
-        }
-
-        if (!$haystack instanceof Countable &&
-            !$haystack instanceof Traversable &&
-            !is_array($haystack)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_Count($expectedCount)
-        );
-
-        self::assertThat($haystack, $constraint, $message);
-    }
-
-    /**
-     * Asserts the number of elements of an array, Countable or Traversable
-     * that is stored in an attribute.
-     *
-     * @param int    $expectedCount
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.6.0
-     */
-    public static function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertNotCount(
-            $expectedCount,
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables are equal.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     */
-    public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_IsEqual(
-            $expected,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is equal to an attribute of an object.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     */
-    public static function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertEquals(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that two variables are not equal.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     * @since  Method available since Release 2.3.0
-     */
-    public static function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsEqual(
-                $expected,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            )
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a variable is not equal to an attribute of an object.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @param float  $delta
-     * @param int    $maxDepth
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     */
-    public static function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertNotEquals(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a variable is empty.
-     *
-     * @param  mixed                                  $actual
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertEmpty($actual, $message = '')
-    {
-        self::assertThat($actual, self::isEmpty(), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is empty.
-     *
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertEmpty(
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not empty.
-     *
-     * @param  mixed                                  $actual
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotEmpty($actual, $message = '')
-    {
-        self::assertThat($actual, self::logicalNot(self::isEmpty()), $message);
-    }
-
-    /**
-     * Asserts that a static attribute of a class or an attribute of an object
-     * is not empty.
-     *
-     * @param string $haystackAttributeName
-     * @param mixed  $haystackClassOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
-    {
-        self::assertNotEmpty(
-            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertGreaterThan($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::greaterThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is greater than another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertGreaterThan(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is greater than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertGreaterThanOrEqual($expected, $actual, $message = '')
-    {
-        self::assertThat(
-            $actual,
-            self::greaterThanOrEqual($expected),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that an attribute is greater than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertGreaterThanOrEqual(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertLessThan($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::lessThan($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertLessThan(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a value is smaller than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertLessThanOrEqual($expected, $actual, $message = '')
-    {
-        self::assertThat($actual, self::lessThanOrEqual($expected), $message);
-    }
-
-    /**
-     * Asserts that an attribute is smaller than or equal to another value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param string $actualClassOrObject
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertLessThanOrEqual(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is equal to the contents of another
-     * file.
-     *
-     * @param string $expected
-     * @param string $actual
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     * @since  Method available since Release 3.2.14
-     */
-    public static function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expected, $message);
-        self::assertFileExists($actual, $message);
-
-        self::assertEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of one file is not equal to the contents of
-     * another file.
-     *
-     * @param string $expected
-     * @param string $actual
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     * @since  Method available since Release 3.2.14
-     */
-    public static function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expected, $message);
-        self::assertFileExists($actual, $message);
-
-        self::assertNotEquals(
-            file_get_contents($expected),
-            file_get_contents($actual),
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is equal
-     * to the contents of a file.
-     *
-     * @param string $expectedFile
-     * @param string $actualString
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expectedFile, $message);
-
-        self::assertEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that the contents of a string is not equal
-     * to the contents of a file.
-     *
-     * @param string $expectedFile
-     * @param string $actualString
-     * @param string $message
-     * @param bool   $canonicalize
-     * @param bool   $ignoreCase
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
-    {
-        self::assertFileExists($expectedFile, $message);
-
-        self::assertNotEquals(
-            file_get_contents($expectedFile),
-            $actualString,
-            $message,
-            0,
-            10,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Asserts that a file exists.
-     *
-     * @param string $filename
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertFileExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_FileExists;
-
-        self::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a file does not exist.
-     *
-     * @param string $filename
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertFileNotExists($filename, $message = '')
-    {
-        if (!is_string($filename)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_FileExists
-        );
-
-        self::assertThat($filename, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a condition is true.
-     *
-     * @param  bool                                   $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertTrue($condition, $message = '')
-    {
-        self::assertThat($condition, self::isTrue(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not true.
-     *
-     * @param  bool                                   $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotTrue($condition, $message = '')
-    {
-        self::assertThat($condition, self::logicalNot(self::isTrue()), $message);
-    }
-
-    /**
-     * Asserts that a condition is false.
-     *
-     * @param  bool                                   $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertFalse($condition, $message = '')
-    {
-        self::assertThat($condition, self::isFalse(), $message);
-    }
-
-    /**
-     * Asserts that a condition is not false.
-     *
-     * @param  bool                                   $condition
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function assertNotFalse($condition, $message = '')
-    {
-        self::assertThat($condition, self::logicalNot(self::isFalse()), $message);
-    }
-
-    /**
-     * Asserts that a variable is not null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotNull($actual, $message = '')
-    {
-        self::assertThat($actual, self::logicalNot(self::isNull()), $message);
-    }
-
-    /**
-     * Asserts that a variable is null.
-     *
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNull($actual, $message = '')
-    {
-        self::assertThat($actual, self::isNull(), $message);
-    }
-
-    /**
-     * Asserts that a class has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasAttribute($attributeName)
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class has a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a class does not have a specified static attribute.
-     *
-     * @param string $attributeName
-     * @param string $className
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_string($className) || !class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-                $attributeName
-            )
-        );
-
-        self::assertThat($className, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object has a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertObjectHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-
-        self::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an object does not have a specified attribute.
-     *
-     * @param string $attributeName
-     * @param object $object
-     * @param string $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertObjectNotHasAttribute($attributeName, $object, $message = '')
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
-        }
-
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_ObjectHasAttribute($attributeName)
-        );
-
-        self::assertThat($object, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two variables have the same type and value.
-     * Used on objects, it asserts that two variables reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            self::assertEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_IsIdentical(
-                $expected
-            );
-
-            self::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object have the same type
-     * and value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param object $actualClassOrObject
-     * @param string $message
-     */
-    public static function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertSame(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that two variables do not have the same type and value.
-     * Used on objects, it asserts that two variables do not reference
-     * the same object.
-     *
-     * @param mixed  $expected
-     * @param mixed  $actual
-     * @param string $message
-     */
-    public static function assertNotSame($expected, $actual, $message = '')
-    {
-        if (is_bool($expected) && is_bool($actual)) {
-            self::assertNotEquals($expected, $actual, $message);
-        } else {
-            $constraint = new PHPUnit_Framework_Constraint_Not(
-                new PHPUnit_Framework_Constraint_IsIdentical($expected)
-            );
-
-            self::assertThat($actual, $constraint, $message);
-        }
-    }
-
-    /**
-     * Asserts that a variable and an attribute of an object do not have the
-     * same type and value.
-     *
-     * @param mixed  $expected
-     * @param string $actualAttributeName
-     * @param object $actualClassOrObject
-     * @param string $message
-     */
-    public static function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
-    {
-        self::assertNotSame(
-            $expected,
-            self::readAttribute($actualClassOrObject, $actualAttributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
-            $expected
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertInstanceOf(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInstanceOf($expected, $actual, $message = '')
-    {
-        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsInstanceOf($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertNotInstanceOf(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_IsType(
-            $expected
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertInternalType(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a variable is not of a given type.
-     *
-     * @param string $expected
-     * @param mixed  $actual
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertNotInternalType($expected, $actual, $message = '')
-    {
-        if (!is_string($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_IsType($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that an attribute is of a given type.
-     *
-     * @param string $expected
-     * @param string $attributeName
-     * @param mixed  $classOrObject
-     * @param string $message
-     * @since Method available since Release 3.5.0
-     */
-    public static function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
-    {
-        self::assertNotInternalType(
-            $expected,
-            self::readAttribute($classOrObject, $attributeName),
-            $message
-        );
-    }
-
-    /**
-     * Asserts that a string matches a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     */
-    public static function assertRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given regular expression.
-     *
-     * @param string $pattern
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 2.1.0
-     */
-    public static function assertNotRegExp($pattern, $string, $message = '')
-    {
-        if (!is_string($pattern)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_PCREMatch($pattern)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        self::assertThat(
-            $actual,
-            new PHPUnit_Framework_Constraint_SameSize($expected),
-            $message
-        );
-    }
-
-    /**
-     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
-     * is not the same.
-     *
-     * @param array|Countable|Traversable $expected
-     * @param array|Countable|Traversable $actual
-     * @param string                      $message
-     */
-    public static function assertNotSameSize($expected, $actual, $message = '')
-    {
-        if (!$expected instanceof Countable &&
-            !$expected instanceof Traversable &&
-            !is_array($expected)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
-        }
-
-        if (!$actual instanceof Countable &&
-            !$actual instanceof Traversable &&
-            !is_array($actual)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_SameSize($expected)
-        );
-
-        self::assertThat($actual, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches($format);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $format
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormat($format, $string, $message = '')
-    {
-        if (!is_string($format)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches($format)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string matches a given format file.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        self::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringMatches(
-            file_get_contents($formatFile)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string does not match a given format string.
-     *
-     * @param string $formatFile
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.5.0
-     */
-    public static function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
-    {
-        self::assertFileExists($formatFile, $message);
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringMatches(
-                file_get_contents($formatFile)
-            )
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringStartsWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringStartsWith(
-            $prefix
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string starts not with a given prefix.
-     *
-     * @param string $prefix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringStartsNotWith($prefix, $string, $message = '')
-    {
-        if (!is_string($prefix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringStartsWith($prefix)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringEndsWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that a string ends not with a given suffix.
-     *
-     * @param string $suffix
-     * @param string $string
-     * @param string $message
-     * @since  Method available since Release 3.4.0
-     */
-    public static function assertStringEndsNotWith($suffix, $string, $message = '')
-    {
-        if (!is_string($suffix)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!is_string($string)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        $constraint = new PHPUnit_Framework_Constraint_Not(
-            new PHPUnit_Framework_Constraint_StringEndsWith($suffix)
-        );
-
-        self::assertThat($string, $constraint, $message);
-    }
-
-    /**
-     * Asserts that two XML files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-        self::assertFileExists($actualFile);
-
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->load($actualFile);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-        self::assertFileExists($actualFile);
-
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->load($actualFile);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
-    {
-        self::assertFileExists($expectedFile);
-
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->load($expectedFile);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->loadXML($expectedXml);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two XML documents are not equal.
-     *
-     * @param string $expectedXml
-     * @param string $actualXml
-     * @param string $message
-     * @since  Method available since Release 3.1.0
-     */
-    public static function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
-    {
-        $expected                     = new DOMDocument;
-        $expected->preserveWhiteSpace = false;
-        $expected->loadXML($expectedXml);
-
-        $actual                     = new DOMDocument;
-        $actual->preserveWhiteSpace = false;
-        $actual->loadXML($actualXml);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that a hierarchy of DOMElements matches.
-     *
-     * @param DOMElement $expectedElement
-     * @param DOMElement $actualElement
-     * @param bool       $checkAttributes
-     * @param string     $message
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
-    {
-        $expectedElement = clone $expectedElement;
-        $actualElement   = clone $actualElement;
-
-        self::assertEquals(
-            $expectedElement->tagName,
-            $actualElement->tagName,
-            $message
-        );
-
-        if ($checkAttributes) {
-            self::assertEquals(
-                $expectedElement->attributes->length,
-                $actualElement->attributes->length,
-                sprintf(
-                    '%s%sNumber of attributes on node "%s" does not match',
-                    $message,
-                    !empty($message) ? "\n" : '',
-                    $expectedElement->tagName
-                )
-            );
-
-            for ($i = 0; $i < $expectedElement->attributes->length; $i++) {
-                $expectedAttribute = $expectedElement->attributes->item($i);
-                $actualAttribute   = $actualElement->attributes->getNamedItem(
-                    $expectedAttribute->name
-                );
-
-                if (!$actualAttribute) {
-                    self::fail(
-                        sprintf(
-                            '%s%sCould not find attribute "%s" on node "%s"',
-                            $message,
-                            !empty($message) ? "\n" : '',
-                            $expectedAttribute->name,
-                            $expectedElement->tagName
-                        )
-                    );
-                }
-            }
-        }
-
-        PHPUnit_Util_XML::removeCharacterDataNodes($expectedElement);
-        PHPUnit_Util_XML::removeCharacterDataNodes($actualElement);
-
-        self::assertEquals(
-            $expectedElement->childNodes->length,
-            $actualElement->childNodes->length,
-            sprintf(
-                '%s%sNumber of child nodes of "%s" differs',
-                $message,
-                !empty($message) ? "\n" : '',
-                $expectedElement->tagName
-            )
-        );
-
-        for ($i = 0; $i < $expectedElement->childNodes->length; $i++) {
-            self::assertEqualXMLStructure(
-                $expectedElement->childNodes->item($i),
-                $actualElement->childNodes->item($i),
-                $checkAttributes,
-                $message
-            );
-        }
-    }
-
-    /**
-     * Assert the presence, absence, or count of elements in a document matching
-     * the CSS $selector, regardless of the contents of those elements.
-     *
-     * The first argument, $selector, is the CSS selector used to match
-     * the elements in the $actual document.
-     *
-     * The second argument, $count, can be either boolean or numeric.
-     * When boolean, it asserts for presence of elements matching the selector
-     * (true) or absence of elements (false).
-     * When numeric, it asserts the count of elements.
-     *
-     * assertSelectCount("#binder", true, $xml);  // any?
-     * assertSelectCount(".binder", 3, $xml);     // exactly 3?
-     *
-     * @param array          $selector
-     * @param int|bool|array $count
-     * @param mixed          $actual
-     * @param string         $message
-     * @param bool           $isHtml
-     * @since  Method available since Release 3.3.0
-     * @deprecated
-     * @codeCoverageIgnore
-     */
-    public static function assertSelectCount($selector, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        self::assertSelectEquals(
-            $selector,
-            true,
-            $count,
-            $actual,
-            $message,
-            $isHtml
-        );
-    }
-
-    /**
-     * assertSelectRegExp("#binder .name", "/Mike|Derek/", true, $xml); // any?
-     * assertSelectRegExp("#binder .name", "/Mike|Derek/", 3, $xml);    // 3?
-     *
-     * @param array          $selector
-     * @param string         $pattern
-     * @param int|bool|array $count
-     * @param mixed          $actual
-     * @param string         $message
-     * @param bool           $isHtml
-     * @since  Method available since Release 3.3.0
-     * @deprecated
-     * @codeCoverageIgnore
-     */
-    public static function assertSelectRegExp($selector, $pattern, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        self::assertSelectEquals(
-            $selector,
-            "regexp:$pattern",
-            $count,
-            $actual,
-            $message,
-            $isHtml
-        );
-    }
-
-    /**
-     * assertSelectEquals("#binder .name", "Chuck", true,  $xml);  // any?
-     * assertSelectEquals("#binder .name", "Chuck", false, $xml);  // none?
-     *
-     * @param array          $selector
-     * @param string         $content
-     * @param int|bool|array $count
-     * @param mixed          $actual
-     * @param string         $message
-     * @param bool           $isHtml
-     * @since  Method available since Release 3.3.0
-     * @deprecated
-     * @codeCoverageIgnore
-     */
-    public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $tags = PHPUnit_Util_XML::cssSelect(
-            $selector,
-            $content,
-            $actual,
-            $isHtml
-        );
-
-        // assert specific number of elements
-        if (is_numeric($count)) {
-            $counted = $tags ? count($tags) : 0;
-            self::assertEquals($count, $counted, $message);
-        } // assert any elements exist if true, assert no elements exist if false
-        elseif (is_bool($count)) {
-            $any = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-            if ($count) {
-                self::assertTrue($any, $message);
-            } else {
-                self::assertFalse($any, $message);
-            }
-        } // check for range number of elements
-        elseif (is_array($count) &&
-                (isset($count['>']) || isset($count['<']) ||
-                isset($count['>=']) || isset($count['<=']))) {
-            $counted = $tags ? count($tags) : 0;
-
-            if (isset($count['>'])) {
-                self::assertTrue($counted > $count['>'], $message);
-            }
-
-            if (isset($count['>='])) {
-                self::assertTrue($counted >= $count['>='], $message);
-            }
-
-            if (isset($count['<'])) {
-                self::assertTrue($counted < $count['<'], $message);
-            }
-
-            if (isset($count['<='])) {
-                self::assertTrue($counted <= $count['<='], $message);
-            }
-        } else {
-            throw new PHPUnit_Framework_Exception;
-        }
-    }
-
-    /**
-     * Evaluate an HTML or XML string and assert its structure and/or contents.
-     *
-     * The first argument ($matcher) is an associative array that specifies the
-     * match criteria for the assertion:
-     *
-     *  - `id`           : the node with the given id attribute must match the
-     *                     corresponding value.
-     *  - `tag`          : the node type must match the corresponding value.
-     *  - `attributes`   : a hash. The node's attributes must match the
-     *                     corresponding values in the hash.
-     *  - `content`      : The text content must match the given value.
-     *  - `parent`       : a hash. The node's parent must match the
-     *                     corresponding hash.
-     *  - `child`        : a hash. At least one of the node's immediate children
-     *                     must meet the criteria described by the hash.
-     *  - `ancestor`     : a hash. At least one of the node's ancestors must
-     *                     meet the criteria described by the hash.
-     *  - `descendant`   : a hash. At least one of the node's descendants must
-     *                     meet the criteria described by the hash.
-     *  - `children`     : a hash, for counting children of a node.
-     *                     Accepts the keys:
-     *    - `count`        : a number which must equal the number of children
-     *                       that match
-     *    - `less_than`    : the number of matching children must be greater
-     *                       than this number
-     *    - `greater_than` : the number of matching children must be less than
-     *                       this number
-     *    - `only`         : another hash consisting of the keys to use to match
-     *                       on the children, and only matching children will be
-     *                       counted
-     *
-     * <code>
-     * // Matcher that asserts that there is an element with an id="my_id".
-     * $matcher = array('id' => 'my_id');
-     *
-     * // Matcher that asserts that there is a "span" tag.
-     * $matcher = array('tag' => 'span');
-     *
-     * // Matcher that asserts that there is a "span" tag with the content
-     * // "Hello World".
-     * $matcher = array('tag' => 'span', 'content' => 'Hello World');
-     *
-     * // Matcher that asserts that there is a "span" tag with content matching
-     * // the regular expression pattern.
-     * $matcher = array('tag' => 'span', 'content' => 'regexp:/Try P(HP|ython)/');
-     *
-     * // Matcher that asserts that there is a "span" with an "list" class
-     * // attribute.
-     * $matcher = array(
-     *   'tag'        => 'span',
-     *   'attributes' => array('class' => 'list')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" inside of a "div".
-     * $matcher = array(
-     *   'tag'    => 'span',
-     *   'parent' => array('tag' => 'div')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" somewhere inside a
-     * // "table".
-     * $matcher = array(
-     *   'tag'      => 'span',
-     *   'ancestor' => array('tag' => 'table')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" with at least one "em"
-     * // child.
-     * $matcher = array(
-     *   'tag'   => 'span',
-     *   'child' => array('tag' => 'em')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" containing a (possibly
-     * // nested) "strong" tag.
-     * $matcher = array(
-     *   'tag'        => 'span',
-     *   'descendant' => array('tag' => 'strong')
-     * );
-     *
-     * // Matcher that asserts that there is a "span" containing 5-10 "em" tags
-     * // as immediate children.
-     * $matcher = array(
-     *   'tag'      => 'span',
-     *   'children' => array(
-     *     'less_than'    => 11,
-     *     'greater_than' => 4,
-     *     'only'         => array('tag' => 'em')
-     *   )
-     * );
-     *
-     * // Matcher that asserts that there is a "div", with an "ul" ancestor and
-     * // a "li" parent (with class="enum"), and containing a "span" descendant
-     * // that contains an element with id="my_test" and the text "Hello World".
-     * $matcher = array(
-     *   'tag'        => 'div',
-     *   'ancestor'   => array('tag' => 'ul'),
-     *   'parent'     => array(
-     *     'tag'        => 'li',
-     *     'attributes' => array('class' => 'enum')
-     *   ),
-     *   'descendant' => array(
-     *     'tag'   => 'span',
-     *     'child' => array(
-     *       'id'      => 'my_test',
-     *       'content' => 'Hello World'
-     *     )
-     *   )
-     * );
-     *
-     * // Use assertTag() to apply a $matcher to a piece of $html.
-     * $this->assertTag($matcher, $html);
-     *
-     * // Use assertTag() to apply a $matcher to a piece of $xml.
-     * $this->assertTag($matcher, $xml, '', false);
-     * </code>
-     *
-     * The second argument ($actual) is a string containing either HTML or
-     * XML text to be tested.
-     *
-     * The third argument ($message) is an optional message that will be
-     * used if the assertion fails.
-     *
-     * The fourth argument ($html) is an optional flag specifying whether
-     * to load the $actual string into a DOMDocument using the HTML or
-     * XML load strategy.  It is true by default, which assumes the HTML
-     * load strategy.  In many cases, this will be acceptable for XML as well.
-     *
-     * @param array  $matcher
-     * @param string $actual
-     * @param string $message
-     * @param bool   $isHtml
-     * @since  Method available since Release 3.3.0
-     * @deprecated
-     * @codeCoverageIgnore
-     */
-    public static function assertTag($matcher, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
-        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
-        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-        self::assertTrue($matched, $message);
-    }
-
-    /**
-     * This assertion is the exact opposite of assertTag().
-     *
-     * Rather than asserting that $matcher results in a match, it asserts that
-     * $matcher does not match.
-     *
-     * @param array  $matcher
-     * @param string $actual
-     * @param string $message
-     * @param bool   $isHtml
-     * @since  Method available since Release 3.3.0
-     * @deprecated
-     * @codeCoverageIgnore
-     */
-    public static function assertNotTag($matcher, $actual, $message = '', $isHtml = true)
-    {
-        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
-
-        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
-        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
-        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
-
-        self::assertFalse($matched, $message);
-    }
-
-    /**
-     * Evaluates a PHPUnit_Framework_Constraint matcher object.
-     *
-     * @param mixed                        $value
-     * @param PHPUnit_Framework_Constraint $constraint
-     * @param string                       $message
-     * @since  Method available since Release 3.0.0
-     */
-    public static function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
-    {
-        self::$count += count($constraint);
-
-        $constraint->evaluate($value, $message);
-    }
-
-    /**
-     * Asserts that a string is a valid JSON string.
-     *
-     * @param string $actualJson
-     * @param string $message
-     * @since  Method available since Release 3.7.20
-     */
-    public static function assertJson($actualJson, $message = '')
-    {
-        if (!is_string($actualJson)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        self::assertThat($actualJson, self::isJson(), $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        self::assertEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that two given JSON encoded objects or arrays are not equal.
-     *
-     * @param string $expectedJson
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
-    {
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        $expected = json_decode($expectedJson);
-        $actual   = json_decode($actualJson);
-
-        self::assertNotEquals($expected, $actual, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        self::assertThat($actualJson, $constraint, $message);
-    }
-
-    /**
-     * Asserts that the generated JSON encoded object and the content of the given file are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualJson
-     * @param string $message
-     */
-    public static function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraint), $message);
-    }
-
-    /**
-     * Asserts that two JSON files are not equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        self::assertFileExists($actualFile, $message);
-
-        $actualJson   = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        self::assertThat($expectedJson, new PHPUnit_Framework_Constraint_Not($constraintActual), $message);
-        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraintExpected), $message);
-    }
-
-    /**
-     * Asserts that two JSON files are equal.
-     *
-     * @param string $expectedFile
-     * @param string $actualFile
-     * @param string $message
-     */
-    public static function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
-    {
-        self::assertFileExists($expectedFile, $message);
-        self::assertFileExists($actualFile, $message);
-
-        $actualJson   = file_get_contents($actualFile);
-        $expectedJson = file_get_contents($expectedFile);
-
-        self::assertJson($expectedJson, $message);
-        self::assertJson($actualJson, $message);
-
-        // call constraint
-        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
-            $expectedJson
-        );
-
-        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
-
-        self::assertThat($expectedJson, $constraintActual, $message);
-        self::assertThat($actualJson, $constraintExpected, $message);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_And matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_And
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalAnd()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_And;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalOr()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Or;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Not matcher object.
-     *
-     * @param  PHPUnit_Framework_Constraint     $constraint
-     * @return PHPUnit_Framework_Constraint_Not
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalNot(PHPUnit_Framework_Constraint $constraint)
-    {
-        return new PHPUnit_Framework_Constraint_Not($constraint);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_Xor
-     * @since  Method available since Release 3.0.0
-     */
-    public static function logicalXor()
-    {
-        $constraints = func_get_args();
-
-        $constraint = new PHPUnit_Framework_Constraint_Xor;
-        $constraint->setConstraints($constraints);
-
-        return $constraint;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsAnything
-     * @since  Method available since Release 3.0.0
-     */
-    public static function anything()
-    {
-        return new PHPUnit_Framework_Constraint_IsAnything;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsTrue
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isTrue()
-    {
-        return new PHPUnit_Framework_Constraint_IsTrue;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
-     *
-     * @param  callable                              $callback
-     * @return PHPUnit_Framework_Constraint_Callback
-     */
-    public static function callback($callback)
-    {
-        return new PHPUnit_Framework_Constraint_Callback($callback);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsFalse
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isFalse()
-    {
-        return new PHPUnit_Framework_Constraint_IsFalse;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsJson
-     * @since  Method available since Release 3.7.20
-     */
-    public static function isJson()
-    {
-        return new PHPUnit_Framework_Constraint_IsJson;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsNull
-     * @since  Method available since Release 3.3.0
-     */
-    public static function isNull()
-    {
-        return new PHPUnit_Framework_Constraint_IsNull;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
-     *
-     * @param  PHPUnit_Framework_Constraint           $constraint
-     * @param  string                                 $attributeName
-     * @return PHPUnit_Framework_Constraint_Attribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_Attribute(
-            $constraint,
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
-     * object.
-     *
-     * @param  mixed                                            $value
-     * @param  bool                                             $checkForObjectIdentity
-     * @param  bool                                             $checkForNonObjectIdentity
-     * @return PHPUnit_Framework_Constraint_TraversableContains
-     * @since  Method available since Release 3.0.0
-     */
-    public static function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContains($value, $checkForObjectIdentity, $checkForNonObjectIdentity);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param  string                                               $type
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     * @since  Method available since Release 3.1.4
-     */
-    public static function containsOnly($type)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
-     * object.
-     *
-     * @param  string                                               $classname
-     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
-     */
-    public static function containsOnlyInstancesOf($classname)
-    {
-        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($classname, false);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
-     *
-     * @param  mixed                                    $key
-     * @return PHPUnit_Framework_Constraint_ArrayHasKey
-     * @since  Method available since Release 3.0.0
-     */
-    public static function arrayHasKey($key)
-    {
-        return new PHPUnit_Framework_Constraint_ArrayHasKey($key);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
-     *
-     * @param  mixed                                $value
-     * @param  float                                $delta
-     * @param  int                                  $maxDepth
-     * @param  bool                                 $canonicalize
-     * @param  bool                                 $ignoreCase
-     * @return PHPUnit_Framework_Constraint_IsEqual
-     * @since  Method available since Release 3.0.0
-     */
-    public static function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return new PHPUnit_Framework_Constraint_IsEqual(
-            $value,
-            $delta,
-            $maxDepth,
-            $canonicalize,
-            $ignoreCase
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
-     * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
-     * object.
-     *
-     * @param  string                                 $attributeName
-     * @param  mixed                                  $value
-     * @param  float                                  $delta
-     * @param  int                                    $maxDepth
-     * @param  bool                                   $canonicalize
-     * @param  bool                                   $ignoreCase
-     * @return PHPUnit_Framework_Constraint_Attribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
-    {
-        return self::attribute(
-            self::equalTo(
-                $value,
-                $delta,
-                $maxDepth,
-                $canonicalize,
-                $ignoreCase
-            ),
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_IsEmpty
-     * @since  Method available since Release 3.5.0
-     */
-    public static function isEmpty()
-    {
-        return new PHPUnit_Framework_Constraint_IsEmpty;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
-     *
-     * @return PHPUnit_Framework_Constraint_FileExists
-     * @since  Method available since Release 3.0.0
-     */
-    public static function fileExists()
-    {
-        return new PHPUnit_Framework_Constraint_FileExists;
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param  mixed                                    $value
-     * @return PHPUnit_Framework_Constraint_GreaterThan
-     * @since  Method available since Release 3.0.0
-     */
-    public static function greaterThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_GreaterThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_GreaterThan matcher object.
-     *
-     * @param  mixed                           $value
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.1.0
-     */
-    public static function greaterThanOrEqual($value)
-    {
-        return self::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_GreaterThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
-     *
-     * @param  string                                         $attributeName
-     * @return PHPUnit_Framework_Constraint_ClassHasAttribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function classHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
-     * object.
-     *
-     * @param  string                                               $attributeName
-     * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
-     * @since  Method available since Release 3.1.0
-     */
-    public static function classHasStaticAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
-     *
-     * @param  string                                          $attributeName
-     * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
-     * @since  Method available since Release 3.0.0
-     */
-    public static function objectHasAttribute($attributeName)
-    {
-        return new PHPUnit_Framework_Constraint_ObjectHasAttribute(
-            $attributeName
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
-     *
-     * @param  mixed                                    $value
-     * @return PHPUnit_Framework_Constraint_IsIdentical
-     * @since  Method available since Release 3.0.0
-     */
-    public static function identicalTo($value)
-    {
-        return new PHPUnit_Framework_Constraint_IsIdentical($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
-     *
-     * @param  string                                    $className
-     * @return PHPUnit_Framework_Constraint_IsInstanceOf
-     * @since  Method available since Release 3.0.0
-     */
-    public static function isInstanceOf($className)
-    {
-        return new PHPUnit_Framework_Constraint_IsInstanceOf($className);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
-     *
-     * @param  string                              $type
-     * @return PHPUnit_Framework_Constraint_IsType
-     * @since  Method available since Release 3.0.0
-     */
-    public static function isType($type)
-    {
-        return new PHPUnit_Framework_Constraint_IsType($type);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param  mixed                                 $value
-     * @return PHPUnit_Framework_Constraint_LessThan
-     * @since  Method available since Release 3.0.0
-     */
-    public static function lessThan($value)
-    {
-        return new PHPUnit_Framework_Constraint_LessThan($value);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
-     * a PHPUnit_Framework_Constraint_IsEqual and a
-     * PHPUnit_Framework_Constraint_LessThan matcher object.
-     *
-     * @param  mixed                           $value
-     * @return PHPUnit_Framework_Constraint_Or
-     * @since  Method available since Release 3.1.0
-     */
-    public static function lessThanOrEqual($value)
-    {
-        return self::logicalOr(
-            new PHPUnit_Framework_Constraint_IsEqual($value),
-            new PHPUnit_Framework_Constraint_LessThan($value)
-        );
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
-     *
-     * @param  string                                 $pattern
-     * @return PHPUnit_Framework_Constraint_PCREMatch
-     * @since  Method available since Release 3.0.0
-     */
-    public static function matchesRegularExpression($pattern)
-    {
-        return new PHPUnit_Framework_Constraint_PCREMatch($pattern);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
-     *
-     * @param  string                                     $string
-     * @return PHPUnit_Framework_Constraint_StringMatches
-     * @since  Method available since Release 3.5.0
-     */
-    public static function matches($string)
-    {
-        return new PHPUnit_Framework_Constraint_StringMatches($string);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
-     *
-     * @param  mixed                                         $prefix
-     * @return PHPUnit_Framework_Constraint_StringStartsWith
-     * @since  Method available since Release 3.4.0
-     */
-    public static function stringStartsWith($prefix)
-    {
-        return new PHPUnit_Framework_Constraint_StringStartsWith($prefix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
-     *
-     * @param  string                                      $string
-     * @param  bool                                        $case
-     * @return PHPUnit_Framework_Constraint_StringContains
-     * @since  Method available since Release 3.0.0
-     */
-    public static function stringContains($string, $case = true)
-    {
-        return new PHPUnit_Framework_Constraint_StringContains($string, $case);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
-     *
-     * @param  mixed                                       $suffix
-     * @return PHPUnit_Framework_Constraint_StringEndsWith
-     * @since  Method available since Release 3.4.0
-     */
-    public static function stringEndsWith($suffix)
-    {
-        return new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
-    }
-
-    /**
-     * Returns a PHPUnit_Framework_Constraint_Count matcher object.
-     *
-     * @param  int                                $count
-     * @return PHPUnit_Framework_Constraint_Count
-     */
-    public static function countOf($count)
-    {
-        return new PHPUnit_Framework_Constraint_Count($count);
-    }
-    /**
-     * Fails a test with the given message.
-     *
-     * @param  string                                 $message
-     * @throws PHPUnit_Framework_AssertionFailedError
-     */
-    public static function fail($message = '')
-    {
-        throw new PHPUnit_Framework_AssertionFailedError($message);
-    }
-
-    /**
-     * Returns the value of an attribute of a class or an object.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  mixed                       $classOrObject
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     */
-    public static function readAttribute($classOrObject, $attributeName)
-    {
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        if (is_string($classOrObject)) {
-            if (!class_exists($classOrObject)) {
-                throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                    1,
-                    'class name'
-                );
-            }
-
-            return self::getStaticAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } elseif (is_object($classOrObject)) {
-            return self::getObjectAttribute(
-                $classOrObject,
-                $attributeName
-            );
-        } else {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(
-                1,
-                'class name or object'
-            );
-        }
-    }
-
-    /**
-     * Returns the value of a static attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  string                      $className
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getStaticAttribute($className, $attributeName)
-    {
-        if (!is_string($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
-        }
-
-        if (!class_exists($className)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class name');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        $class = new ReflectionClass($className);
-
-        while ($class) {
-            $attributes = $class->getStaticProperties();
-
-            if (array_key_exists($attributeName, $attributes)) {
-                return $attributes[$attributeName];
-            }
-
-            $class = $class->getParentClass();
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in class.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Returns the value of an object's attribute.
-     * This also works for attributes that are declared protected or private.
-     *
-     * @param  object                      $object
-     * @param  string                      $attributeName
-     * @return mixed
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getObjectAttribute($object, $attributeName)
-    {
-        if (!is_object($object)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'object');
-        }
-
-        if (!is_string($attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
-        }
-
-        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
-            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
-        }
-
-        try {
-            $attribute = new ReflectionProperty($object, $attributeName);
-        } catch (ReflectionException $e) {
-            $reflector = new ReflectionObject($object);
-
-            while ($reflector = $reflector->getParentClass()) {
-                try {
-                    $attribute = $reflector->getProperty($attributeName);
-                    break;
-                } catch (ReflectionException $e) {
-                }
-            }
-        }
-
-        if (isset($attribute)) {
-            if (!$attribute || $attribute->isPublic()) {
-                return $object->$attributeName;
-            }
-
-            $attribute->setAccessible(true);
-            $value = $attribute->getValue($object);
-            $attribute->setAccessible(false);
-
-            return $value;
-        }
-
-        throw new PHPUnit_Framework_Exception(
-            sprintf(
-                'Attribute "%s" not found in object.',
-                $attributeName
-            )
-        );
-    }
-
-    /**
-     * Mark the test as incomplete.
-     *
-     * @param  string                                $message
-     * @throws PHPUnit_Framework_IncompleteTestError
-     * @since  Method available since Release 3.0.0
-     */
-    public static function markTestIncomplete($message = '')
-    {
-        throw new PHPUnit_Framework_IncompleteTestError($message);
-    }
-
-    /**
-     * Mark the test as skipped.
-     *
-     * @param  string                             $message
-     * @throws PHPUnit_Framework_SkippedTestError
-     * @since  Method available since Release 3.0.0
-     */
-    public static function markTestSkipped($message = '')
-    {
-        throw new PHPUnit_Framework_SkippedTestError($message);
-    }
-
-    /**
-     * Return the current assertion count.
-     *
-     * @return int
-     * @since  Method available since Release 3.3.3
-     */
-    public static function getCount()
-    {
-        return self::$count;
-    }
-
-    /**
-     * Reset the assertion counter.
-     *
-     * @since  Method available since Release 3.3.3
-     */
-    public static function resetCount()
-    {
-        self::$count = 0;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Version.php b/core/vendor/phpunit/phpunit/src/Runner/Version.php
deleted file mode 100644
index 67fa3b3..0000000
--- a/core/vendor/phpunit/phpunit/src/Runner/Version.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * This class defines the current version of PHPUnit.
- *
- * @since Class available since Release 2.0.0
- */
-class PHPUnit_Runner_Version
-{
-    private static $pharVersion;
-    private static $version;
-
-    /**
-     * Returns the current version of PHPUnit.
-     *
-     * @return string
-     */
-    public static function id()
-    {
-        if (self::$pharVersion !== null) {
-            return self::$pharVersion;
-        }
-
-        if (self::$version === null) {
-            $version       = new SebastianBergmann\Version('4.8.6', dirname(dirname(__DIR__)));
-            self::$version = $version->getVersion();
-        }
-
-        return self::$version;
-    }
-
-    /**
-     * @return string
-     */
-    public static function getVersionString()
-    {
-        return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.';
-    }
-
-    /**
-     * @return string
-     * @since  Method available since Release 4.0.0
-     */
-    public static function getReleaseChannel()
-    {
-        if (strpos(self::$pharVersion, 'alpha') !== false) {
-            return '-alpha';
-        }
-
-        if (strpos(self::$pharVersion, 'beta') !== false) {
-            return '-beta';
-        }
-
-        return '';
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Blacklist.php b/core/vendor/phpunit/phpunit/src/Util/Blacklist.php
deleted file mode 100644
index d526dd8..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Blacklist.php
+++ /dev/null
@@ -1,114 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Utility class for blacklisting PHPUnit's own source code files.
- *
- * @since Class available since Release 4.0.0
- */
-class PHPUnit_Util_Blacklist
-{
-    /**
-     * @var array
-     */
-    public static $blacklistedClassNames = array(
-        'File_Iterator'                              => 1,
-        'PHP_CodeCoverage'                           => 1,
-        'PHP_Invoker'                                => 1,
-        'PHP_Timer'                                  => 1,
-        'PHP_Token'                                  => 1,
-        'PHPUnit_Framework_TestCase'                 => 2,
-        'PHPUnit_Extensions_Database_TestCase'       => 2,
-        'PHPUnit_Framework_MockObject_Generator'     => 2,
-        'PHPUnit_Extensions_SeleniumTestCase'        => 2,
-        'PHPUnit_Extensions_Story_TestCase'          => 2,
-        'Text_Template'                              => 1,
-        'Symfony\Component\Yaml\Yaml'                => 1,
-        'SebastianBergmann\Diff\Diff'                => 1,
-        'SebastianBergmann\Environment\Runtime'      => 1,
-        'SebastianBergmann\Comparator\Comparator'    => 1,
-        'SebastianBergmann\Exporter\Exporter'        => 1,
-        'SebastianBergmann\GlobalState\Snapshot'     => 1,
-        'SebastianBergmann\RecursionContext\Context' => 1,
-        'SebastianBergmann\Version'                  => 1,
-        'Composer\Autoload\ClassLoader'              => 1,
-        'Doctrine\Instantiator\Instantiator'         => 1,
-        'phpDocumentor\Reflection\DocBlock'          => 1,
-        'Prophecy\Prophet'                           => 1
-    );
-
-    /**
-     * @var array
-     */
-    private static $directories;
-
-    /**
-     * @return array
-     * @since  Method available since Release 4.1.0
-     */
-    public function getBlacklistedDirectories()
-    {
-        $this->initialize();
-
-        return self::$directories;
-    }
-
-    /**
-     * @param  string $file
-     * @return bool
-     */
-    public function isBlacklisted($file)
-    {
-        if (defined('PHPUNIT_TESTSUITE')) {
-            return false;
-        }
-
-        $this->initialize();
-
-        foreach (self::$directories as $directory) {
-            if (strpos($file, $directory) === 0) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private function initialize()
-    {
-        if (self::$directories === null) {
-            self::$directories = array();
-
-            foreach (self::$blacklistedClassNames as $className => $parent) {
-                if (!class_exists($className)) {
-                    continue;
-                }
-
-                $reflector = new ReflectionClass($className);
-                $directory = $reflector->getFileName();
-
-                for ($i = 0; $i < $parent; $i++) {
-                    $directory = dirname($directory);
-                }
-
-                self::$directories[] = $directory;
-            }
-
-            // Hide process isolation workaround on Windows.
-            // @see PHPUnit_Util_PHP::factory()
-            // @see PHPUnit_Util_PHP_Windows::process()
-            if (DIRECTORY_SEPARATOR === '\\') {
-                // tempnam() prefix is limited to first 3 chars.
-                // @see http://php.net/manual/en/function.tempnam.php
-                self::$directories[] = sys_get_temp_dir() . '\\PHP';
-            }
-        }
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/Configuration.php b/core/vendor/phpunit/phpunit/src/Util/Configuration.php
deleted file mode 100644
index 395db8a..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/Configuration.php
+++ /dev/null
@@ -1,1133 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Wrapper for the PHPUnit XML configuration file.
- *
- * Example XML configuration file:
- * <code>
- * <?xml version="1.0" encoding="utf-8" ?>
- *
- * <phpunit backupGlobals="true"
- *          backupStaticAttributes="false"
- *          bootstrap="/path/to/bootstrap.php"
- *          cacheTokens="false"
- *          columns="80"
- *          colors="false"
- *          stderr="false"
- *          convertErrorsToExceptions="true"
- *          convertNoticesToExceptions="true"
- *          convertWarningsToExceptions="true"
- *          forceCoversAnnotation="false"
- *          mapTestClassNameToCoveredClassName="false"
- *          printerClass="PHPUnit_TextUI_ResultPrinter"
- *          processIsolation="false"
- *          stopOnError="false"
- *          stopOnFailure="false"
- *          stopOnIncomplete="false"
- *          stopOnRisky="false"
- *          stopOnSkipped="false"
- *          testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
- *          timeoutForSmallTests="1"
- *          timeoutForMediumTests="10"
- *          timeoutForLargeTests="60"
- *          beStrictAboutTestsThatDoNotTestAnything="false"
- *          beStrictAboutOutputDuringTests="false"
- *          beStrictAboutTestSize="false"
- *          beStrictAboutTodoAnnotatedTests="false"
- *          checkForUnintentionallyCoveredCode="false"
- *          disallowChangesToGlobalState="false"
- *          verbose="false">
- *   <testsuites>
- *     <testsuite name="My Test Suite">
- *       <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files</directory>
- *       <file phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php</file>
- *       <exclude>/path/to/files/exclude</exclude>
- *     </testsuite>
- *   </testsuites>
- *
- *   <groups>
- *     <include>
- *       <group>name</group>
- *     </include>
- *     <exclude>
- *       <group>name</group>
- *     </exclude>
- *   </groups>
- *
- *   <filter>
- *     <blacklist>
- *       <directory suffix=".php">/path/to/files</directory>
- *       <file>/path/to/file</file>
- *       <exclude>
- *         <directory suffix=".php">/path/to/files</directory>
- *         <file>/path/to/file</file>
- *       </exclude>
- *     </blacklist>
- *     <whitelist addUncoveredFilesFromWhitelist="true"
- *                processUncoveredFilesFromWhitelist="false">
- *       <directory suffix=".php">/path/to/files</directory>
- *       <file>/path/to/file</file>
- *       <exclude>
- *         <directory suffix=".php">/path/to/files</directory>
- *         <file>/path/to/file</file>
- *       </exclude>
- *     </whitelist>
- *   </filter>
- *
- *   <listeners>
- *     <listener class="MyListener" file="/optional/path/to/MyListener.php">
- *       <arguments>
- *         <array>
- *           <element key="0">
- *             <string>Sebastian</string>
- *           </element>
- *         </array>
- *         <integer>22</integer>
- *         <string>April</string>
- *         <double>19.78</double>
- *         <null/>
- *         <object class="stdClass"/>
- *         <file>MyRelativeFile.php</file>
- *         <directory>MyRelativeDir</directory>
- *       </arguments>
- *     </listener>
- *   </listeners>
- *
- *   <logging>
- *     <log type="coverage-html" target="/tmp/report" lowUpperBound="50" highLowerBound="90"/>
- *     <log type="coverage-clover" target="/tmp/clover.xml"/>
- *     <log type="coverage-crap4j" target="/tmp/crap.xml" threshold="30"/>
- *     <log type="json" target="/tmp/logfile.json"/>
- *     <log type="plain" target="/tmp/logfile.txt"/>
- *     <log type="tap" target="/tmp/logfile.tap"/>
- *     <log type="junit" target="/tmp/logfile.xml" logIncompleteSkipped="false"/>
- *     <log type="testdox-html" target="/tmp/testdox.html"/>
- *     <log type="testdox-text" target="/tmp/testdox.txt"/>
- *   </logging>
- *
- *   <php>
- *     <includePath>.</includePath>
- *     <ini name="foo" value="bar"/>
- *     <const name="foo" value="bar"/>
- *     <var name="foo" value="bar"/>
- *     <env name="foo" value="bar"/>
- *     <post name="foo" value="bar"/>
- *     <get name="foo" value="bar"/>
- *     <cookie name="foo" value="bar"/>
- *     <server name="foo" value="bar"/>
- *     <files name="foo" value="bar"/>
- *     <request name="foo" value="bar"/>
- *   </php>
- *
- *   <selenium>
- *     <browser name="Firefox on Linux"
- *              browser="*firefox /usr/lib/firefox/firefox-bin"
- *              host="my.linux.box"
- *              port="4444"
- *              timeout="30000"/>
- *   </selenium>
- * </phpunit>
- * </code>
- *
- * @since Class available since Release 3.2.0
- */
-class PHPUnit_Util_Configuration
-{
-    private static $instances = array();
-
-    protected $document;
-    protected $xpath;
-    protected $filename;
-
-    /**
-     * Loads a PHPUnit configuration file.
-     *
-     * @param string $filename
-     */
-    protected function __construct($filename)
-    {
-        $this->filename = $filename;
-        $this->document = PHPUnit_Util_XML::loadFile($filename, false, true, true);
-        $this->xpath    = new DOMXPath($this->document);
-    }
-
-    /**
-     * @since  Method available since Release 3.4.0
-     */
-    final private function __clone()
-    {
-    }
-
-    /**
-     * Returns a PHPUnit configuration object.
-     *
-     * @param  string                     $filename
-     * @return PHPUnit_Util_Configuration
-     * @since  Method available since Release 3.4.0
-     */
-    public static function getInstance($filename)
-    {
-        $realpath = realpath($filename);
-
-        if ($realpath === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        if (!isset(self::$instances[$realpath])) {
-            self::$instances[$realpath] = new self($realpath);
-        }
-
-        return self::$instances[$realpath];
-    }
-
-    /**
-     * Returns the realpath to the configuration file.
-     *
-     * @return string
-     * @since  Method available since Release 3.6.0
-     */
-    public function getFilename()
-    {
-        return $this->filename;
-    }
-
-    /**
-     * Returns the configuration for SUT filtering.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getFilterConfiguration()
-    {
-        $addUncoveredFilesFromWhitelist     = true;
-        $processUncoveredFilesFromWhitelist = false;
-
-        $tmp = $this->xpath->query('filter/whitelist');
-
-        if ($tmp->length == 1) {
-            if ($tmp->item(0)->hasAttribute('addUncoveredFilesFromWhitelist')) {
-                $addUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'addUncoveredFilesFromWhitelist'
-                    ),
-                    true
-                );
-            }
-
-            if ($tmp->item(0)->hasAttribute('processUncoveredFilesFromWhitelist')) {
-                $processUncoveredFilesFromWhitelist = $this->getBoolean(
-                    (string) $tmp->item(0)->getAttribute(
-                        'processUncoveredFilesFromWhitelist'
-                    ),
-                    false
-                );
-            }
-        }
-
-        return array(
-          'blacklist' => array(
-            'include' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/blacklist/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/blacklist/file'
-              )
-            ),
-            'exclude' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/blacklist/exclude/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/blacklist/exclude/file'
-              )
-            )
-          ),
-          'whitelist' => array(
-            'addUncoveredFilesFromWhitelist'     => $addUncoveredFilesFromWhitelist,
-            'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist,
-            'include'                            => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/file'
-              )
-            ),
-            'exclude' => array(
-              'directory' => $this->readFilterDirectories(
-                  'filter/whitelist/exclude/directory'
-              ),
-              'file' => $this->readFilterFiles(
-                  'filter/whitelist/exclude/file'
-              )
-            )
-          )
-        );
-    }
-
-    /**
-     * Returns the configuration for groups.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getGroupConfiguration()
-    {
-        $groups = array(
-          'include' => array(),
-          'exclude' => array()
-        );
-
-        foreach ($this->xpath->query('groups/include/group') as $group) {
-            $groups['include'][] = (string) $group->nodeValue;
-        }
-
-        foreach ($this->xpath->query('groups/exclude/group') as $group) {
-            $groups['exclude'][] = (string) $group->nodeValue;
-        }
-
-        return $groups;
-    }
-
-    /**
-     * Returns the configuration for listeners.
-     *
-     * @return array
-     * @since  Method available since Release 3.4.0
-     */
-    public function getListenerConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('listeners/listener') as $listener) {
-            $class     = (string) $listener->getAttribute('class');
-            $file      = '';
-            $arguments = array();
-
-            if ($listener->getAttribute('file')) {
-                $file = $this->toAbsolutePath(
-                    (string) $listener->getAttribute('file'),
-                    true
-                );
-            }
-
-            foreach ($listener->childNodes as $node) {
-                if ($node instanceof DOMElement && $node->tagName == 'arguments') {
-                    foreach ($node->childNodes as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            if ($argument->tagName == 'file' ||
-                            $argument->tagName == 'directory') {
-                                $arguments[] = $this->toAbsolutePath((string) $argument->nodeValue);
-                            } else {
-                                $arguments[] = PHPUnit_Util_XML::xmlToVariable($argument);
-                            }
-                        }
-                    }
-                }
-            }
-
-            $result[] = array(
-              'class'     => $class,
-              'file'      => $file,
-              'arguments' => $arguments
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the logging configuration.
-     *
-     * @return array
-     */
-    public function getLoggingConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('logging/log') as $log) {
-            $type   = (string) $log->getAttribute('type');
-            $target = (string) $log->getAttribute('target');
-
-            if (!$target) {
-                continue;
-            }
-
-            $target = $this->toAbsolutePath($target);
-
-            if ($type == 'coverage-html') {
-                if ($log->hasAttribute('lowUpperBound')) {
-                    $result['lowUpperBound'] = $this->getInteger(
-                        (string) $log->getAttribute('lowUpperBound'),
-                        50
-                    );
-                }
-
-                if ($log->hasAttribute('highLowerBound')) {
-                    $result['highLowerBound'] = $this->getInteger(
-                        (string) $log->getAttribute('highLowerBound'),
-                        90
-                    );
-                }
-            } elseif ($type == 'coverage-crap4j') {
-                if ($log->hasAttribute('threshold')) {
-                    $result['crap4jThreshold'] = $this->getInteger(
-                        (string) $log->getAttribute('threshold'),
-                        30
-                    );
-                }
-            } elseif ($type == 'junit') {
-                if ($log->hasAttribute('logIncompleteSkipped')) {
-                    $result['logIncompleteSkipped'] = $this->getBoolean(
-                        (string) $log->getAttribute('logIncompleteSkipped'),
-                        false
-                    );
-                }
-            } elseif ($type == 'coverage-text') {
-                if ($log->hasAttribute('showUncoveredFiles')) {
-                    $result['coverageTextShowUncoveredFiles'] = $this->getBoolean(
-                        (string) $log->getAttribute('showUncoveredFiles'),
-                        false
-                    );
-                }
-                if ($log->hasAttribute('showOnlySummary')) {
-                    $result['coverageTextShowOnlySummary'] = $this->getBoolean(
-                        (string) $log->getAttribute('showOnlySummary'),
-                        false
-                    );
-                }
-            }
-
-            $result[$type] = $target;
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the PHP configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.1
-     */
-    public function getPHPConfiguration()
-    {
-        $result = array(
-          'include_path' => array(),
-          'ini'          => array(),
-          'const'        => array(),
-          'var'          => array(),
-          'env'          => array(),
-          'post'         => array(),
-          'get'          => array(),
-          'cookie'       => array(),
-          'server'       => array(),
-          'files'        => array(),
-          'request'      => array()
-        );
-
-        foreach ($this->xpath->query('php/includePath') as $includePath) {
-            $path = (string) $includePath->nodeValue;
-            if ($path) {
-                $result['include_path'][] = $this->toAbsolutePath($path);
-            }
-        }
-
-        foreach ($this->xpath->query('php/ini') as $ini) {
-            $name  = (string) $ini->getAttribute('name');
-            $value = (string) $ini->getAttribute('value');
-
-            $result['ini'][$name] = $value;
-        }
-
-        foreach ($this->xpath->query('php/const') as $const) {
-            $name  = (string) $const->getAttribute('name');
-            $value = (string) $const->getAttribute('value');
-
-            $result['const'][$name] = $this->getBoolean($value, $value);
-        }
-
-        foreach (array('var', 'env', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
-            foreach ($this->xpath->query('php/' . $array) as $var) {
-                $name  = (string) $var->getAttribute('name');
-                $value = (string) $var->getAttribute('value');
-
-                $result[$array][$name] = $this->getBoolean($value, $value);
-            }
-        }
-
-        return $result;
-    }
-
-    /**
-     * Handles the PHP configuration.
-     *
-     * @since  Method available since Release 3.2.20
-     */
-    public function handlePHPConfiguration()
-    {
-        $configuration = $this->getPHPConfiguration();
-
-        if (! empty($configuration['include_path'])) {
-            ini_set(
-                'include_path',
-                implode(PATH_SEPARATOR, $configuration['include_path']) .
-                PATH_SEPARATOR .
-                ini_get('include_path')
-            );
-        }
-
-        foreach ($configuration['ini'] as $name => $value) {
-            if (defined($value)) {
-                $value = constant($value);
-            }
-
-            ini_set($name, $value);
-        }
-
-        foreach ($configuration['const'] as $name => $value) {
-            if (!defined($name)) {
-                define($name, $value);
-            }
-        }
-
-        foreach (array('var', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
-            // See https://github.com/sebastianbergmann/phpunit/issues/277
-            switch ($array) {
-                case 'var':
-                    $target = &$GLOBALS;
-                    break;
-
-                case 'server':
-                    $target = &$_SERVER;
-                    break;
-
-                default:
-                    $target = &$GLOBALS['_' . strtoupper($array)];
-                    break;
-            }
-
-            foreach ($configuration[$array] as $name => $value) {
-                $target[$name] = $value;
-            }
-        }
-
-        foreach ($configuration['env'] as $name => $value) {
-            if (false === getenv($name)) {
-                putenv("{$name}={$value}");
-            }
-            if (!isset($_ENV[$name])) {
-                $_ENV[$name] = $value;
-            }
-        }
-    }
-
-    /**
-     * Returns the PHPUnit configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.14
-     */
-    public function getPHPUnitConfiguration()
-    {
-        $result = array();
-        $root   = $this->document->documentElement;
-
-        if ($root->hasAttribute('cacheTokens')) {
-            $result['cacheTokens'] = $this->getBoolean(
-                (string) $root->getAttribute('cacheTokens'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('columns')) {
-            $columns = (string) $root->getAttribute('columns');
-
-            if ($columns == 'max') {
-                $result['columns'] = 'max';
-            } else {
-                $result['columns'] = $this->getInteger($columns, 80);
-            }
-        }
-
-        if ($root->hasAttribute('colors')) {
-            /* only allow boolean for compatibility with previous versions
-              'always' only allowed from command line */
-            if ($this->getBoolean($root->getAttribute('colors'), false)) {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
-            } else {
-                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_NEVER;
-            }
-        }
-
-        /*
-         * Issue #657
-         */
-        if ($root->hasAttribute('stderr')) {
-            $result['stderr'] = $this->getBoolean(
-                (string) $root->getAttribute('stderr'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('backupGlobals')) {
-            $result['backupGlobals'] = $this->getBoolean(
-                (string) $root->getAttribute('backupGlobals'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('backupStaticAttributes')) {
-            $result['backupStaticAttributes'] = $this->getBoolean(
-                (string) $root->getAttribute('backupStaticAttributes'),
-                false
-            );
-        }
-
-        if ($root->getAttribute('bootstrap')) {
-            $result['bootstrap'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('bootstrap')
-            );
-        }
-
-        if ($root->hasAttribute('convertErrorsToExceptions')) {
-            $result['convertErrorsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertErrorsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertNoticesToExceptions')) {
-            $result['convertNoticesToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertNoticesToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('convertWarningsToExceptions')) {
-            $result['convertWarningsToExceptions'] = $this->getBoolean(
-                (string) $root->getAttribute('convertWarningsToExceptions'),
-                true
-            );
-        }
-
-        if ($root->hasAttribute('forceCoversAnnotation')) {
-            $result['forceCoversAnnotation'] = $this->getBoolean(
-                (string) $root->getAttribute('forceCoversAnnotation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('mapTestClassNameToCoveredClassName')) {
-            $result['mapTestClassNameToCoveredClassName'] = $this->getBoolean(
-                (string) $root->getAttribute('mapTestClassNameToCoveredClassName'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('processIsolation')) {
-            $result['processIsolation'] = $this->getBoolean(
-                (string) $root->getAttribute('processIsolation'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnError')) {
-            $result['stopOnError'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnError'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnFailure')) {
-            $result['stopOnFailure'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnFailure'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnIncomplete')) {
-            $result['stopOnIncomplete'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnIncomplete'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnRisky')) {
-            $result['stopOnRisky'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnRisky'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('stopOnSkipped')) {
-            $result['stopOnSkipped'] = $this->getBoolean(
-                (string) $root->getAttribute('stopOnSkipped'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('testSuiteLoaderClass')) {
-            $result['testSuiteLoaderClass'] = (string) $root->getAttribute(
-                'testSuiteLoaderClass'
-            );
-        }
-
-        if ($root->getAttribute('testSuiteLoaderFile')) {
-            $result['testSuiteLoaderFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('testSuiteLoaderFile')
-            );
-        }
-
-        if ($root->hasAttribute('printerClass')) {
-            $result['printerClass'] = (string) $root->getAttribute(
-                'printerClass'
-            );
-        }
-
-        if ($root->getAttribute('printerFile')) {
-            $result['printerFile'] = $this->toAbsolutePath(
-                (string) $root->getAttribute('printerFile')
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForSmallTests')) {
-            $result['timeoutForSmallTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForSmallTests'),
-                1
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForMediumTests')) {
-            $result['timeoutForMediumTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForMediumTests'),
-                10
-            );
-        }
-
-        if ($root->hasAttribute('timeoutForLargeTests')) {
-            $result['timeoutForLargeTests'] = $this->getInteger(
-                (string) $root->getAttribute('timeoutForLargeTests'),
-                60
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTestsThatDoNotTestAnything')) {
-            $result['reportUselessTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTestsThatDoNotTestAnything'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('checkForUnintentionallyCoveredCode')) {
-            $result['strictCoverage'] = $this->getBoolean(
-                (string) $root->getAttribute('checkForUnintentionallyCoveredCode'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutOutputDuringTests')) {
-            $result['disallowTestOutput'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutOutputDuringTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutChangesToGlobalState')) {
-            $result['disallowChangesToGlobalState'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutChangesToGlobalState'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTestSize')) {
-            $result['enforceTimeLimit'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTestSize'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('beStrictAboutTodoAnnotatedTests')) {
-            $result['disallowTodoAnnotatedTests'] = $this->getBoolean(
-                (string) $root->getAttribute('beStrictAboutTodoAnnotatedTests'),
-                false
-            );
-        }
-
-        if ($root->hasAttribute('strict')) {
-            $flag = $this->getBoolean(
-                (string) $root->getAttribute('strict'),
-                false
-            );
-
-            $result['reportUselessTests']          = $flag;
-            $result['strictCoverage']              = $flag;
-            $result['disallowTestOutput']          = $flag;
-            $result['enforceTimeLimit']            = $flag;
-            $result['disallowTodoAnnotatedTests']  = $flag;
-            $result['deprecatedStrictModeSetting'] = true;
-        }
-
-        if ($root->hasAttribute('verbose')) {
-            $result['verbose'] = $this->getBoolean(
-                (string) $root->getAttribute('verbose'),
-                false
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the SeleniumTestCase browser configuration.
-     *
-     * @return array
-     * @since  Method available since Release 3.2.9
-     */
-    public function getSeleniumBrowserConfiguration()
-    {
-        $result = array();
-
-        foreach ($this->xpath->query('selenium/browser') as $config) {
-            $name    = (string) $config->getAttribute('name');
-            $browser = (string) $config->getAttribute('browser');
-
-            if ($config->hasAttribute('host')) {
-                $host = (string) $config->getAttribute('host');
-            } else {
-                $host = 'localhost';
-            }
-
-            if ($config->hasAttribute('port')) {
-                $port = $this->getInteger(
-                    (string) $config->getAttribute('port'),
-                    4444
-                );
-            } else {
-                $port = 4444;
-            }
-
-            if ($config->hasAttribute('timeout')) {
-                $timeout = $this->getInteger(
-                    (string) $config->getAttribute('timeout'),
-                    30000
-                );
-            } else {
-                $timeout = 30000;
-            }
-
-            $result[] = array(
-              'name'    => $name,
-              'browser' => $browser,
-              'host'    => $host,
-              'port'    => $port,
-              'timeout' => $timeout
-            );
-        }
-
-        return $result;
-    }
-
-    /**
-     * Returns the test suite configuration.
-     *
-     * @return PHPUnit_Framework_TestSuite
-     * @since  Method available since Release 3.2.1
-     */
-    public function getTestSuiteConfiguration($testSuiteFilter = null)
-    {
-        $testSuiteNodes = $this->xpath->query('testsuites/testsuite');
-
-        if ($testSuiteNodes->length == 0) {
-            $testSuiteNodes = $this->xpath->query('testsuite');
-        }
-
-        if ($testSuiteNodes->length == 1) {
-            return $this->getTestSuite($testSuiteNodes->item(0), $testSuiteFilter);
-        }
-
-        if ($testSuiteNodes->length > 1) {
-            $suite = new PHPUnit_Framework_TestSuite;
-
-            foreach ($testSuiteNodes as $testSuiteNode) {
-                $suite->addTestSuite(
-                    $this->getTestSuite($testSuiteNode, $testSuiteFilter)
-                );
-            }
-
-            return $suite;
-        }
-    }
-
-    /**
-     * @param  DOMElement                  $testSuiteNode
-     * @return PHPUnit_Framework_TestSuite
-     * @since  Method available since Release 3.4.0
-     */
-    protected function getTestSuite(DOMElement $testSuiteNode, $testSuiteFilter = null)
-    {
-        if ($testSuiteNode->hasAttribute('name')) {
-            $suite = new PHPUnit_Framework_TestSuite(
-                (string) $testSuiteNode->getAttribute('name')
-            );
-        } else {
-            $suite = new PHPUnit_Framework_TestSuite;
-        }
-
-        $exclude = array();
-
-        foreach ($testSuiteNode->getElementsByTagName('exclude') as $excludeNode) {
-            $excludeFile = (string) $excludeNode->nodeValue;
-            if ($excludeFile) {
-                $exclude[] = $this->toAbsolutePath($excludeFile);
-            }
-        }
-
-        $fileIteratorFacade = new File_Iterator_Facade;
-
-        foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) {
-            if ($testSuiteFilter && $directoryNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $directory = (string) $directoryNode->nodeValue;
-
-            if (empty($directory)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $directoryNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($directoryNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $directoryNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            if ($directoryNode->hasAttribute('prefix')) {
-                $prefix = (string) $directoryNode->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directoryNode->hasAttribute('suffix')) {
-                $suffix = (string) $directoryNode->getAttribute('suffix');
-            } else {
-                $suffix = 'Test.php';
-            }
-
-            $files = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($directory),
-                $suffix,
-                $prefix,
-                $exclude
-            );
-            $suite->addTestFiles($files);
-        }
-
-        foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) {
-            if ($testSuiteFilter && $fileNode->parentNode->getAttribute('name') != $testSuiteFilter) {
-                continue;
-            }
-
-            $file = (string) $fileNode->nodeValue;
-
-            if (empty($file)) {
-                continue;
-            }
-
-            // Get the absolute path to the file
-            $file = $fileIteratorFacade->getFilesAsArray(
-                $this->toAbsolutePath($file)
-            );
-
-            if (!isset($file[0])) {
-                continue;
-            }
-
-            $file = $file[0];
-
-            if ($fileNode->hasAttribute('phpVersion')) {
-                $phpVersion = (string) $fileNode->getAttribute('phpVersion');
-            } else {
-                $phpVersion = PHP_VERSION;
-            }
-
-            if ($fileNode->hasAttribute('phpVersionOperator')) {
-                $phpVersionOperator = (string) $fileNode->getAttribute('phpVersionOperator');
-            } else {
-                $phpVersionOperator = '>=';
-            }
-
-            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
-                continue;
-            }
-
-            $suite->addTestFile($file);
-        }
-
-        return $suite;
-    }
-
-    /**
-     * @param  string $value
-     * @param  bool   $default
-     * @return bool
-     * @since  Method available since Release 3.2.3
-     */
-    protected function getBoolean($value, $default)
-    {
-        if (strtolower($value) == 'false') {
-            return false;
-        } elseif (strtolower($value) == 'true') {
-            return true;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param  string $value
-     * @param  bool   $default
-     * @return bool
-     * @since  Method available since Release 3.6.0
-     */
-    protected function getInteger($value, $default)
-    {
-        if (is_numeric($value)) {
-            return (int) $value;
-        }
-
-        return $default;
-    }
-
-    /**
-     * @param  string $query
-     * @return array
-     * @since  Method available since Release 3.2.3
-     */
-    protected function readFilterDirectories($query)
-    {
-        $directories = array();
-
-        foreach ($this->xpath->query($query) as $directory) {
-            $directoryPath = (string) $directory->nodeValue;
-
-            if (!$directoryPath) {
-                continue;
-            }
-
-            if ($directory->hasAttribute('prefix')) {
-                $prefix = (string) $directory->getAttribute('prefix');
-            } else {
-                $prefix = '';
-            }
-
-            if ($directory->hasAttribute('suffix')) {
-                $suffix = (string) $directory->getAttribute('suffix');
-            } else {
-                $suffix = '.php';
-            }
-
-            if ($directory->hasAttribute('group')) {
-                $group = (string) $directory->getAttribute('group');
-            } else {
-                $group = 'DEFAULT';
-            }
-
-            $directories[] = array(
-              'path'   => $this->toAbsolutePath($directoryPath),
-              'prefix' => $prefix,
-              'suffix' => $suffix,
-              'group'  => $group
-            );
-        }
-
-        return $directories;
-    }
-
-    /**
-     * @param  string $query
-     * @return array
-     * @since  Method available since Release 3.2.3
-     */
-    protected function readFilterFiles($query)
-    {
-        $files = array();
-
-        foreach ($this->xpath->query($query) as $file) {
-            $filePath = (string) $file->nodeValue;
-            if ($filePath) {
-                $files[] = $this->toAbsolutePath($filePath);
-            }
-        }
-
-        return $files;
-    }
-
-    /**
-     * @param  string $path
-     * @param  bool   $useIncludePath
-     * @return string
-     * @since  Method available since Release 3.5.0
-     */
-    protected function toAbsolutePath($path, $useIncludePath = false)
-    {
-        if ($path[0] === '/') {
-            return $path;
-        }
-
-        // Matches the following on Windows:
-        //  - \\NetworkComputer\Path
-        //  - \\.\D:
-        //  - \\.\c:
-        //  - C:\Windows
-        //  - C:\windows
-        //  - C:/windows
-        //  - c:/windows
-        if (defined('PHP_WINDOWS_VERSION_BUILD') &&
-            ($path[0] === '\\' ||
-            (strlen($path) >= 3 && preg_match('#^[A-Z]\:[/\\\]#i', substr($path, 0, 3))))) {
-            return $path;
-        }
-
-        // Stream
-        if (strpos($path, '://') !== false) {
-            return $path;
-        }
-
-        $file = dirname($this->filename) . DIRECTORY_SEPARATOR . $path;
-
-        if ($useIncludePath && !file_exists($file)) {
-            $includePathFile = stream_resolve_include_path($path);
-
-            if ($includePathFile) {
-                $file = $includePathFile;
-            }
-        }
-
-        return $file;
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/src/Util/XML.php b/core/vendor/phpunit/phpunit/src/Util/XML.php
deleted file mode 100644
index f3a9355..0000000
--- a/core/vendor/phpunit/phpunit/src/Util/XML.php
+++ /dev/null
@@ -1,899 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * XML helpers.
- *
- * @since Class available since Release 3.2.0
- */
-class PHPUnit_Util_XML
-{
-    /**
-     * Escapes a string for the use in XML documents
-     * Any Unicode character is allowed, excluding the surrogate blocks, FFFE,
-     * and FFFF (not even as character reference).
-     * See http://www.w3.org/TR/xml/#charsets
-     *
-     * @param  string $string
-     * @return string
-     * @since  Method available since Release 3.4.6
-     */
-    public static function prepareString($string)
-    {
-        return preg_replace(
-            '/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]/',
-            '',
-            htmlspecialchars(
-                PHPUnit_Util_String::convertToUtf8($string),
-                ENT_QUOTES,
-                'UTF-8'
-            )
-        );
-    }
-
-    /**
-     * Loads an XML (or HTML) file into a DOMDocument object.
-     *
-     * @param  string      $filename
-     * @param  bool        $isHtml
-     * @param  bool        $xinclude
-     * @param  bool        $strict
-     * @return DOMDocument
-     * @since  Method available since Release 3.3.0
-     */
-    public static function loadFile($filename, $isHtml = false, $xinclude = false, $strict = false)
-    {
-        $reporting = error_reporting(0);
-        $contents  = file_get_contents($filename);
-        error_reporting($reporting);
-
-        if ($contents === false) {
-            throw new PHPUnit_Framework_Exception(
-                sprintf(
-                    'Could not read "%s".',
-                    $filename
-                )
-            );
-        }
-
-        return self::load($contents, $isHtml, $filename, $xinclude, $strict);
-    }
-
-    /**
-     * Load an $actual document into a DOMDocument.  This is called
-     * from the selector assertions.
-     *
-     * If $actual is already a DOMDocument, it is returned with
-     * no changes.  Otherwise, $actual is loaded into a new DOMDocument
-     * as either HTML or XML, depending on the value of $isHtml. If $isHtml is
-     * false and $xinclude is true, xinclude is performed on the loaded
-     * DOMDocument.
-     *
-     * Note: prior to PHPUnit 3.3.0, this method loaded a file and
-     * not a string as it currently does.  To load a file into a
-     * DOMDocument, use loadFile() instead.
-     *
-     * @param  string|DOMDocument $actual
-     * @param  bool               $isHtml
-     * @param  string             $filename
-     * @param  bool               $xinclude
-     * @param  bool               $strict
-     * @return DOMDocument
-     * @since  Method available since Release 3.3.0
-     */
-    public static function load($actual, $isHtml = false, $filename = '', $xinclude = false, $strict = false)
-    {
-        if ($actual instanceof DOMDocument) {
-            return $actual;
-        }
-
-        // Required for XInclude on Windows.
-        if ($xinclude) {
-            $cwd = getcwd();
-            @chdir(dirname($filename));
-        }
-
-        $document  = new DOMDocument;
-
-        $internal  = libxml_use_internal_errors(true);
-        $message   = '';
-        $reporting = error_reporting(0);
-
-        if ('' !== $filename) {
-            // Necessary for xinclude
-            $document->documentURI = $filename;
-        }
-
-        if ($isHtml) {
-            $loaded = $document->loadHTML($actual);
-        } else {
-            $loaded = $document->loadXML($actual);
-        }
-
-        if (!$isHtml && $xinclude) {
-            $document->xinclude();
-        }
-
-        foreach (libxml_get_errors() as $error) {
-            $message .= "\n" . $error->message;
-        }
-
-        libxml_use_internal_errors($internal);
-        error_reporting($reporting);
-
-        if ($xinclude) {
-            @chdir($cwd);
-        }
-
-        if ($loaded === false || ($strict && $message !== '')) {
-            if ($filename !== '') {
-                throw new PHPUnit_Framework_Exception(
-                    sprintf(
-                        'Could not load "%s".%s',
-                        $filename,
-                        $message != '' ? "\n" . $message : ''
-                    )
-                );
-            } else {
-                throw new PHPUnit_Framework_Exception($message);
-            }
-        }
-
-        return $document;
-    }
-
-    /**
-     * @param  DOMNode $node
-     * @return string
-     * @since  Method available since Release 3.4.0
-     */
-    public static function nodeToText(DOMNode $node)
-    {
-        if ($node->childNodes->length == 1) {
-            return $node->nodeValue;
-        }
-
-        $result = '';
-
-        foreach ($node->childNodes as $childNode) {
-            $result .= $node->ownerDocument->saveXML($childNode);
-        }
-
-        return $result;
-    }
-
-    /**
-     * @param DOMNode $node
-     * @since  Method available since Release 3.3.0
-     */
-    public static function removeCharacterDataNodes(DOMNode $node)
-    {
-        if ($node->hasChildNodes()) {
-            for ($i = $node->childNodes->length - 1; $i >= 0; $i--) {
-                if (($child = $node->childNodes->item($i)) instanceof DOMCharacterData) {
-                    $node->removeChild($child);
-                }
-            }
-        }
-    }
-
-    /**
-     * "Convert" a DOMElement object into a PHP variable.
-     *
-     * @param  DOMElement $element
-     * @return mixed
-     * @since  Method available since Release 3.4.0
-     */
-    public static function xmlToVariable(DOMElement $element)
-    {
-        $variable = null;
-
-        switch ($element->tagName) {
-            case 'array':
-                $variable = array();
-
-                foreach ($element->getElementsByTagName('element') as $element) {
-                    $value = self::xmlToVariable($element->childNodes->item(1));
-
-                    if ($element->hasAttribute('key')) {
-                        $variable[(string) $element->getAttribute('key')] = $value;
-                    } else {
-                        $variable[] = $value;
-                    }
-                }
-                break;
-
-            case 'object':
-                $className = $element->getAttribute('class');
-
-                if ($element->hasChildNodes()) {
-                    $arguments       = $element->childNodes->item(1)->childNodes;
-                    $constructorArgs = array();
-
-                    foreach ($arguments as $argument) {
-                        if ($argument instanceof DOMElement) {
-                            $constructorArgs[] = self::xmlToVariable($argument);
-                        }
-                    }
-
-                    $class    = new ReflectionClass($className);
-                    $variable = $class->newInstanceArgs($constructorArgs);
-                } else {
-                    $variable = new $className;
-                }
-                break;
-
-            case 'boolean':
-                $variable = $element->nodeValue == 'true' ? true : false;
-                break;
-
-            case 'integer':
-            case 'double':
-            case 'string':
-                $variable = $element->nodeValue;
-
-                settype($variable, $element->tagName);
-                break;
-        }
-
-        return $variable;
-    }
-
-    /**
-     * Validate list of keys in the associative array.
-     *
-     * @param  array                       $hash
-     * @param  array                       $validKeys
-     * @return array
-     * @throws PHPUnit_Framework_Exception
-     * @since  Method available since Release 3.3.0
-     */
-    public static function assertValidKeys(array $hash, array $validKeys)
-    {
-        $valids = array();
-
-        // Normalize validation keys so that we can use both indexed and
-        // associative arrays.
-        foreach ($validKeys as $key => $val) {
-            is_int($key) ? $valids[$val] = null : $valids[$key] = $val;
-        }
-
-        $validKeys = array_keys($valids);
-
-        // Check for invalid keys.
-        foreach ($hash as $key => $value) {
-            if (!in_array($key, $validKeys)) {
-                $unknown[] = $key;
-            }
-        }
-
-        if (!empty($unknown)) {
-            throw new PHPUnit_Framework_Exception(
-                'Unknown key(s): ' . implode(', ', $unknown)
-            );
-        }
-
-        // Add default values for any valid keys that are empty.
-        foreach ($valids as $key => $value) {
-            if (!isset($hash[$key])) {
-                $hash[$key] = $value;
-            }
-        }
-
-        return $hash;
-    }
-
-    /**
-     * Parse a CSS selector into an associative array suitable for
-     * use with findNodes().
-     *
-     * @param  string $selector
-     * @param  mixed  $content
-     * @return array
-     * @since  Method available since Release 3.3.0
-     */
-    public static function convertSelectToTag($selector, $content = true)
-    {
-        $selector = trim(preg_replace("/\s+/", ' ', $selector));
-
-        // substitute spaces within attribute value
-        while (preg_match('/\[[^\]]+"[^"]+\s[^"]+"\]/', $selector)) {
-            $selector = preg_replace(
-                '/(\[[^\]]+"[^"]+)\s([^"]+"\])/',
-                '$1__SPACE__$2',
-                $selector
-            );
-        }
-
-        if (strstr($selector, ' ')) {
-            $elements = explode(' ', $selector);
-        } else {
-            $elements = array($selector);
-        }
-
-        $previousTag = array();
-
-        foreach (array_reverse($elements) as $element) {
-            $element = str_replace('__SPACE__', ' ', $element);
-
-            // child selector
-            if ($element == '>') {
-                $previousTag = array('child' => $previousTag['descendant']);
-                continue;
-            }
-
-            // adjacent-sibling selector
-            if ($element == '+') {
-                $previousTag = array('adjacent-sibling' => $previousTag['descendant']);
-                continue;
-            }
-
-            $tag = array();
-
-            // match element tag
-            preg_match("/^([^\.#\[]*)/", $element, $eltMatches);
-
-            if (!empty($eltMatches[1])) {
-                $tag['tag'] = $eltMatches[1];
-            }
-
-            // match attributes (\[[^\]]*\]*), ids (#[^\.#\[]*),
-            // and classes (\.[^\.#\[]*))
-            preg_match_all(
-                "/(\[[^\]]*\]*|#[^\.#\[]*|\.[^\.#\[]*)/",
-                $element,
-                $matches
-            );
-
-            if (!empty($matches[1])) {
-                $classes = array();
-                $attrs   = array();
-
-                foreach ($matches[1] as $match) {
-                    // id matched
-                    if (substr($match, 0, 1) == '#') {
-                        $tag['id'] = substr($match, 1);
-                    } // class matched
-                    elseif (substr($match, 0, 1) == '.') {
-                        $classes[] = substr($match, 1);
-                    } // attribute matched
-                    elseif (substr($match, 0, 1) == '[' &&
-                             substr($match, -1, 1) == ']') {
-                        $attribute = substr($match, 1, strlen($match) - 2);
-                        $attribute = str_replace('"', '', $attribute);
-
-                        // match single word
-                        if (strstr($attribute, '~=')) {
-                            list($key, $value) = explode('~=', $attribute);
-                            $value             = "regexp:/.*\b$value\b.*/";
-                        } // match substring
-                        elseif (strstr($attribute, '*=')) {
-                            list($key, $value) = explode('*=', $attribute);
-                            $value             = "regexp:/.*$value.*/";
-                        } // exact match
-                        else {
-                            list($key, $value) = explode('=', $attribute);
-                        }
-
-                        $attrs[$key] = $value;
-                    }
-                }
-
-                if (!empty($classes)) {
-                    $tag['class'] = implode(' ', $classes);
-                }
-
-                if (!empty($attrs)) {
-                    $tag['attributes'] = $attrs;
-                }
-            }
-
-            // tag content
-            if (is_string($content)) {
-                $tag['content'] = $content;
-            }
-
-            // determine previous child/descendants
-            if (!empty($previousTag['descendant'])) {
-                $tag['descendant'] = $previousTag['descendant'];
-            } elseif (!empty($previousTag['child'])) {
-                $tag['child'] = $previousTag['child'];
-            } elseif (!empty($previousTag['adjacent-sibling'])) {
-                $tag['adjacent-sibling'] = $previousTag['adjacent-sibling'];
-                unset($tag['content']);
-            }
-
-            $previousTag = array('descendant' => $tag);
-        }
-
-        return $tag;
-    }
-
-    /**
-     * Parse an $actual document and return an array of DOMNodes
-     * matching the CSS $selector.  If an error occurs, it will
-     * return false.
-     *
-     * To only return nodes containing a certain content, give
-     * the $content to match as a string.  Otherwise, setting
-     * $content to true will return all nodes matching $selector.
-     *
-     * The $actual document may be a DOMDocument or a string
-     * containing XML or HTML, identified by $isHtml.
-     *
-     * @param  array      $selector
-     * @param  string     $content
-     * @param  mixed      $actual
-     * @param  bool       $isHtml
-     * @return bool|array
-     * @since  Method available since Release 3.3.0
-     */
-    public static function cssSelect($selector, $content, $actual, $isHtml = true)
-    {
-        $matcher = self::convertSelectToTag($selector, $content);
-        $dom     = self::load($actual, $isHtml);
-        $tags    = self::findNodes($dom, $matcher, $isHtml);
-
-        return $tags;
-    }
-
-    /**
-     * Parse out the options from the tag using DOM object tree.
-     *
-     * @param  DOMDocument $dom
-     * @param  array       $options
-     * @param  bool        $isHtml
-     * @return array
-     * @since  Method available since Release 3.3.0
-     */
-    public static function findNodes(DOMDocument $dom, array $options, $isHtml = true)
-    {
-        $valid = array(
-          'id', 'class', 'tag', 'content', 'attributes', 'parent',
-          'child', 'ancestor', 'descendant', 'children', 'adjacent-sibling'
-        );
-
-        $filtered = array();
-        $options  = self::assertValidKeys($options, $valid);
-
-        // find the element by id
-        if ($options['id']) {
-            $options['attributes']['id'] = $options['id'];
-        }
-
-        if ($options['class']) {
-            $options['attributes']['class'] = $options['class'];
-        }
-
-        $nodes = array();
-
-        // find the element by a tag type
-        if ($options['tag']) {
-            if ($isHtml) {
-                $elements = self::getElementsByCaseInsensitiveTagName(
-                    $dom,
-                    $options['tag']
-                );
-            } else {
-                $elements = $dom->getElementsByTagName($options['tag']);
-            }
-
-            foreach ($elements as $element) {
-                $nodes[] = $element;
-            }
-
-            if (empty($nodes)) {
-                return false;
-            }
-        } // no tag selected, get them all
-        else {
-            $tags = array(
-              'a', 'abbr', 'acronym', 'address', 'area', 'b', 'base', 'bdo',
-              'big', 'blockquote', 'body', 'br', 'button', 'caption', 'cite',
-              'code', 'col', 'colgroup', 'dd', 'del', 'div', 'dfn', 'dl',
-              'dt', 'em', 'fieldset', 'form', 'frame', 'frameset', 'h1', 'h2',
-              'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 'i', 'iframe',
-              'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'link',
-              'map', 'meta', 'noframes', 'noscript', 'object', 'ol', 'optgroup',
-              'option', 'p', 'param', 'pre', 'q', 'samp', 'script', 'select',
-              'small', 'span', 'strong', 'style', 'sub', 'sup', 'table',
-              'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title',
-              'tr', 'tt', 'ul', 'var',
-              // HTML5
-              'article', 'aside', 'audio', 'bdi', 'canvas', 'command',
-              'datalist', 'details', 'dialog', 'embed', 'figure', 'figcaption',
-              'footer', 'header', 'hgroup', 'keygen', 'mark', 'meter', 'nav',
-              'output', 'progress', 'ruby', 'rt', 'rp', 'track', 'section',
-              'source', 'summary', 'time', 'video', 'wbr'
-            );
-
-            foreach ($tags as $tag) {
-                if ($isHtml) {
-                    $elements = self::getElementsByCaseInsensitiveTagName(
-                        $dom,
-                        $tag
-                    );
-                } else {
-                    $elements = $dom->getElementsByTagName($tag);
-                }
-
-                foreach ($elements as $element) {
-                    $nodes[] = $element;
-                }
-            }
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by attributes
-        if ($options['attributes']) {
-            foreach ($nodes as $node) {
-                $invalid = false;
-
-                foreach ($options['attributes'] as $name => $value) {
-                    // match by regexp if like "regexp:/foo/i"
-                    if (preg_match('/^regexp\s*:\s*(.*)/i', $value, $matches)) {
-                        if (!preg_match($matches[1], $node->getAttribute($name))) {
-                            $invalid = true;
-                        }
-                    } // class can match only a part
-                    elseif ($name == 'class') {
-                        // split to individual classes
-                        $findClasses = explode(
-                            ' ',
-                            preg_replace("/\s+/", ' ', $value)
-                        );
-
-                        $allClasses = explode(
-                            ' ',
-                            preg_replace("/\s+/", ' ', $node->getAttribute($name))
-                        );
-
-                        // make sure each class given is in the actual node
-                        foreach ($findClasses as $findClass) {
-                            if (!in_array($findClass, $allClasses)) {
-                                $invalid = true;
-                            }
-                        }
-                    } // match by exact string
-                    else {
-                        if ($node->getAttribute($name) != $value) {
-                            $invalid = true;
-                        }
-                    }
-                }
-
-                // if every attribute given matched
-                if (!$invalid) {
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by content
-        if ($options['content'] !== null) {
-            foreach ($nodes as $node) {
-                $invalid = false;
-
-                // match by regexp if like "regexp:/foo/i"
-                if (preg_match('/^regexp\s*:\s*(.*)/i', $options['content'], $matches)) {
-                    if (!preg_match($matches[1], self::getNodeText($node))) {
-                        $invalid = true;
-                    }
-                } // match empty string
-                elseif ($options['content'] === '') {
-                    if (self::getNodeText($node) !== '') {
-                        $invalid = true;
-                    }
-                } // match by exact string
-                elseif (strstr(self::getNodeText($node), $options['content']) === false) {
-                    $invalid = true;
-                }
-
-                if (!$invalid) {
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by parent node
-        if ($options['parent']) {
-            $parentNodes = self::findNodes($dom, $options['parent'], $isHtml);
-            $parentNode  = isset($parentNodes[0]) ? $parentNodes[0] : null;
-
-            foreach ($nodes as $node) {
-                if ($parentNode !== $node->parentNode) {
-                    continue;
-                }
-
-                $filtered[] = $node;
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by child node
-        if ($options['child']) {
-            $childNodes = self::findNodes($dom, $options['child'], $isHtml);
-            $childNodes = !empty($childNodes) ? $childNodes : array();
-
-            foreach ($nodes as $node) {
-                foreach ($node->childNodes as $child) {
-                    foreach ($childNodes as $childNode) {
-                        if ($childNode === $child) {
-                            $filtered[] = $node;
-                        }
-                    }
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by adjacent-sibling
-        if ($options['adjacent-sibling']) {
-            $adjacentSiblingNodes = self::findNodes($dom, $options['adjacent-sibling'], $isHtml);
-            $adjacentSiblingNodes = !empty($adjacentSiblingNodes) ? $adjacentSiblingNodes : array();
-
-            foreach ($nodes as $node) {
-                $sibling = $node;
-
-                while ($sibling = $sibling->nextSibling) {
-                    if ($sibling->nodeType !== XML_ELEMENT_NODE) {
-                        continue;
-                    }
-
-                    foreach ($adjacentSiblingNodes as $adjacentSiblingNode) {
-                        if ($sibling === $adjacentSiblingNode) {
-                            $filtered[] = $node;
-                            break;
-                        }
-                    }
-
-                    break;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by ancestor
-        if ($options['ancestor']) {
-            $ancestorNodes = self::findNodes($dom, $options['ancestor'], $isHtml);
-            $ancestorNode  = isset($ancestorNodes[0]) ? $ancestorNodes[0] : null;
-
-            foreach ($nodes as $node) {
-                $parent = $node->parentNode;
-
-                while ($parent && $parent->nodeType != XML_HTML_DOCUMENT_NODE) {
-                    if ($parent === $ancestorNode) {
-                        $filtered[] = $node;
-                    }
-
-                    $parent = $parent->parentNode;
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by descendant
-        if ($options['descendant']) {
-            $descendantNodes = self::findNodes($dom, $options['descendant'], $isHtml);
-            $descendantNodes = !empty($descendantNodes) ? $descendantNodes : array();
-
-            foreach ($nodes as $node) {
-                foreach (self::getDescendants($node) as $descendant) {
-                    foreach ($descendantNodes as $descendantNode) {
-                        if ($descendantNode === $descendant) {
-                            $filtered[] = $node;
-                        }
-                    }
-                }
-            }
-
-            $nodes    = $filtered;
-            $filtered = array();
-
-            if (empty($nodes)) {
-                return false;
-            }
-        }
-
-        // filter by children
-        if ($options['children']) {
-            $validChild   = array('count', 'greater_than', 'less_than', 'only');
-            $childOptions = self::assertValidKeys(
-                $options['children'],
-                $validChild
-            );
-
-            foreach ($nodes as $node) {
-                $childNodes = $node->childNodes;
-
-                foreach ($childNodes as $childNode) {
-                    if ($childNode->nodeType !== XML_CDATA_SECTION_NODE &&
-                        $childNode->nodeType !== XML_TEXT_NODE) {
-                        $children[] = $childNode;
-                    }
-                }
-
-                // we must have children to pass this filter
-                if (!empty($children)) {
-                    // exact count of children
-                    if ($childOptions['count'] !== null) {
-                        if (count($children) !== $childOptions['count']) {
-                            break;
-                        }
-                    } // range count of children
-                    elseif ($childOptions['less_than']    !== null &&
-                            $childOptions['greater_than'] !== null) {
-                        if (count($children) >= $childOptions['less_than'] ||
-                            count($children) <= $childOptions['greater_than']) {
-                            break;
-                        }
-                    } // less than a given count
-                    elseif ($childOptions['less_than'] !== null) {
-                        if (count($children) >= $childOptions['less_than']) {
-                            break;
-                        }
-                    } // more than a given count
-                    elseif ($childOptions['greater_than'] !== null) {
-                        if (count($children) <= $childOptions['greater_than']) {
-                            break;
-                        }
-                    }
-
-                    // match each child against a specific tag
-                    if ($childOptions['only']) {
-                        $onlyNodes = self::findNodes(
-                            $dom,
-                            $childOptions['only'],
-                            $isHtml
-                        );
-
-                        // try to match each child to one of the 'only' nodes
-                        foreach ($children as $child) {
-                            $matched = false;
-
-                            foreach ($onlyNodes as $onlyNode) {
-                                if ($onlyNode === $child) {
-                                    $matched = true;
-                                }
-                            }
-
-                            if (!$matched) {
-                                break 2;
-                            }
-                        }
-                    }
-
-                    $filtered[] = $node;
-                }
-            }
-
-            $nodes = $filtered;
-
-            if (empty($nodes)) {
-                return;
-            }
-        }
-
-        // return the first node that matches all criteria
-        return !empty($nodes) ? $nodes : array();
-    }
-
-    /**
-     * Recursively get flat array of all descendants of this node.
-     *
-     * @param  DOMNode $node
-     * @return array
-     * @since  Method available since Release 3.3.0
-     */
-    protected static function getDescendants(DOMNode $node)
-    {
-        $allChildren = array();
-        $childNodes  = $node->childNodes ? $node->childNodes : array();
-
-        foreach ($childNodes as $child) {
-            if ($child->nodeType === XML_CDATA_SECTION_NODE ||
-                $child->nodeType === XML_TEXT_NODE) {
-                continue;
-            }
-
-            $children    = self::getDescendants($child);
-            $allChildren = array_merge($allChildren, $children, array($child));
-        }
-
-        return isset($allChildren) ? $allChildren : array();
-    }
-
-    /**
-     * Gets elements by case insensitive tagname.
-     *
-     * @param  DOMDocument $dom
-     * @param  string      $tag
-     * @return DOMNodeList
-     * @since  Method available since Release 3.4.0
-     */
-    protected static function getElementsByCaseInsensitiveTagName(DOMDocument $dom, $tag)
-    {
-        $elements = $dom->getElementsByTagName(strtolower($tag));
-
-        if ($elements->length == 0) {
-            $elements = $dom->getElementsByTagName(strtoupper($tag));
-        }
-
-        return $elements;
-    }
-
-    /**
-     * Get the text value of this node's child text node.
-     *
-     * @param  DOMNode $node
-     * @return string
-     * @since  Method available since Release 3.3.0
-     */
-    protected static function getNodeText(DOMNode $node)
-    {
-        if (!$node->childNodes instanceof DOMNodeList) {
-            return '';
-        }
-
-        $result = '';
-
-        foreach ($node->childNodes as $childNode) {
-            if ($childNode->nodeType === XML_TEXT_NODE ||
-                $childNode->nodeType === XML_CDATA_SECTION_NODE) {
-                $result .= trim($childNode->data) . ' ';
-            } else {
-                $result .= self::getNodeText($childNode);
-            }
-        }
-
-        return str_replace('  ', ' ', $result);
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php b/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
deleted file mode 100644
index 024b9f1..0000000
--- a/core/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
+++ /dev/null
@@ -1,4095 +0,0 @@
-<?php
-/*
- * This file is part of PHPUnit.
- *
- * (c) Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * @since      Class available since Release 2.0.0
- */
-class Framework_AssertTest extends PHPUnit_Framework_TestCase
-{
-    private $filesDirectory;
-
-    protected function setUp()
-    {
-        $this->filesDirectory = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR;
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::fail
-     */
-    public function testFail()
-    {
-        try {
-            $this->fail();
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        throw new PHPUnit_Framework_AssertionFailedError('Fail did not throw fail exception');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertSplObjectStorageContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-        $c = new SplObjectStorage;
-        $c->attach($a);
-
-        $this->assertContains($a, $c);
-
-        try {
-            $this->assertContains($b, $c);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $this->assertContains($a, array($a));
-
-        try {
-            $this->assertContains($a, array($b));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsString()
-    {
-        $this->assertContains('foo', array('foo'));
-
-        try {
-            $this->assertContains('foo', array('bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertArrayContainsNonObject()
-    {
-        $this->assertContains('foo', array(true));
-
-        try {
-            $this->assertContains('foo', array(true), '', false, true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
-     */
-    public function testAssertContainsOnlyInstancesOf()
-    {
-        $test = array(
-            new Book(),
-            new Book
-        );
-        $this->assertContainsOnlyInstancesOf('Book', $test);
-        $this->assertContainsOnlyInstancesOf('stdClass', array(new stdClass()));
-
-        $test2 = array(
-            new Author('Test')
-        );
-        try {
-            $this->assertContainsOnlyInstancesOf('Book', $test2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayHasKeyThrowsExceptionForInvalidFirstArgument()
-    {
-        $this->assertArrayHasKey(null, array());
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayHasKeyThrowsExceptionForInvalidSecondArgument()
-    {
-        $this->assertArrayHasKey(0, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasIntegerKey()
-    {
-        $this->assertArrayHasKey(0, array('foo'));
-
-        try {
-            $this->assertArrayHasKey(1, array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubset()
-    {
-        $array = array(
-            'a' => 'item a',
-            'b' => 'item b',
-            'c' => array('a2' => 'item a2', 'b2' => 'item b2'),
-            'd' => array('a2' => array('a3' => 'item a3', 'b3' => 'item b3'))
-        );
-
-        $this->assertArraySubset(array('a' => 'item a', 'c' => array('a2' => 'item a2')), $array);
-        $this->assertArraySubset(array('a' => 'item a', 'd' => array('a2' => array('b3' => 'item b3'))), $array);
-
-        try {
-            $this->assertArraySubset(array('a' => 'bad value'), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-        }
-
-        try {
-            $this->assertArraySubset(array('d' => array('a2' => array('bad index' => 'item b3'))), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithDeepNestedArrays()
-    {
-        $array = array(
-            'path' => array(
-                'to' => array(
-                    'the' => array(
-                        'cake' => 'is a lie'
-                    )
-                )
-            )
-        );
-
-        $this->assertArraySubset(array('path' => array()), $array);
-        $this->assertArraySubset(array('path' => array('to' => array())), $array);
-        $this->assertArraySubset(array('path' => array('to' => array('the' => array()))), $array);
-        $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is a lie')))), $array);
-
-        try {
-            $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is not a lie')))), $array);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithNoStrictCheckAndObjects()
-    {
-        $obj       = new \stdClass;
-        $reference = &$obj;
-        $array     = array('a' => $obj);
-
-        $this->assertArraySubset(array('a' => $reference), $array);
-        $this->assertArraySubset(array('a' => new \stdClass), $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     */
-    public function testassertArraySubsetWithStrictCheckAndObjects()
-    {
-        $obj       = new \stdClass;
-        $reference = &$obj;
-        $array     = array('a' => $obj);
-
-        $this->assertArraySubset(array('a' => $reference), $array, true);
-
-        try {
-            $this->assertArraySubset(array('a' => new \stdClass), $array, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail('Strict recursive array check fail.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArraySubset
-     * @covers PHPUnit_Framework_Constraint_ArraySubset
-     * @expectedException PHPUnit_Framework_Exception
-     * @expectedExceptionMessage array or ArrayAccess
-     * @dataProvider assertArraySubsetInvalidArgumentProvider
-     */
-    public function testassertArraySubsetRaisesExceptionForInvalidArguments($partial, $subject)
-    {
-        $this->assertArraySubset($partial, $subject);
-    }
-
-    public function assertArraySubsetInvalidArgumentProvider()
-    {
-        return array(
-            array(false, array()),
-            array(array(), false),
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidFirstArgument()
-    {
-        $this->assertArrayNotHasKey(null, array());
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidSecondArgument()
-    {
-        $this->assertArrayNotHasKey(0, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasIntegerKey()
-    {
-        $this->assertArrayNotHasKey(1, array('foo'));
-
-        try {
-            $this->assertArrayNotHasKey(0, array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasStringKey()
-    {
-        $this->assertArrayHasKey('foo', array('foo' => 'bar'));
-
-        try {
-            $this->assertArrayHasKey('bar', array('foo' => 'bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasStringKey()
-    {
-        $this->assertArrayNotHasKey('bar', array('foo' => 'bar'));
-
-        try {
-            $this->assertArrayNotHasKey('foo', array('foo' => 'bar'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasKeyAcceptsArrayObjectValue()
-    {
-        $array        = new ArrayObject();
-        $array['foo'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayHasKeyProperlyFailsWithArrayObjectValue()
-    {
-        $array        = new ArrayObject();
-        $array['bar'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     */
-    public function testAssertArrayHasKeyAcceptsArrayAccessValue()
-    {
-        $array        = new SampleArrayAccess();
-        $array['foo'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayHasKeyProperlyFailsWithArrayAccessValue()
-    {
-        $array        = new SampleArrayAccess();
-        $array['bar'] = 'bar';
-        $this->assertArrayHasKey('foo', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     */
-    public function testAssertArrayNotHasKeyAcceptsArrayAccessValue()
-    {
-        $array        = new ArrayObject();
-        $array['foo'] = 'bar';
-        $this->assertArrayNotHasKey('bar', $array);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertArrayNotHasKeyPropertlyFailsWithArrayAccessValue()
-    {
-        $array        = new ArrayObject();
-        $array['bar'] = 'bar';
-        $this->assertArrayNotHasKey('bar', $array);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContains
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsThrowsException()
-    {
-        $this->assertContains(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertIteratorContainsObject()
-    {
-        $foo = new stdClass;
-
-        $this->assertContains($foo, new TestIterator(array($foo)));
-
-        try {
-            $this->assertContains($foo, new TestIterator(array(new stdClass)));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertIteratorContainsString()
-    {
-        $this->assertContains('foo', new TestIterator(array('foo')));
-
-        try {
-            $this->assertContains('foo', new TestIterator(array('bar')));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContains
-     */
-    public function testAssertStringContainsString()
-    {
-        $this->assertContains('foo', 'foobar');
-
-        try {
-            $this->assertContains('foo', 'bar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotContains
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotContainsThrowsException()
-    {
-        $this->assertNotContains(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertSplObjectStorageNotContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-        $c = new SplObjectStorage;
-        $c->attach($a);
-
-        $this->assertNotContains($b, $c);
-
-        try {
-            $this->assertNotContains($a, $c);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsObject()
-    {
-        $a = new stdClass;
-        $b = new stdClass;
-
-        $this->assertNotContains($a, array($b));
-
-        try {
-            $this->assertNotContains($a, array($a));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsString()
-    {
-        $this->assertNotContains('foo', array('bar'));
-
-        try {
-            $this->assertNotContains('foo', array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertArrayNotContainsNonObject()
-    {
-        $this->assertNotContains('foo', array(true), '', false, true, true);
-
-        try {
-            $this->assertNotContains('foo', array(true));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContains
-     */
-    public function testAssertStringNotContainsString()
-    {
-        $this->assertNotContains('foo', 'bar');
-
-        try {
-            $this->assertNotContains('foo', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContainsOnly
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsOnlyThrowsException()
-    {
-        $this->assertContainsOnly(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotContainsOnly
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotContainsOnlyThrowsException()
-    {
-        $this->assertNotContainsOnly(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertContainsOnlyInstancesOfThrowsException()
-    {
-        $this->assertContainsOnlyInstancesOf(null, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnly
-     */
-    public function testAssertArrayContainsOnlyIntegers()
-    {
-        $this->assertContainsOnly('integer', array(1, 2, 3));
-
-        try {
-            $this->assertContainsOnly('integer', array('1', 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
-     */
-    public function testAssertArrayNotContainsOnlyIntegers()
-    {
-        $this->assertNotContainsOnly('integer', array('1', 2, 3));
-
-        try {
-            $this->assertNotContainsOnly('integer', array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertContainsOnly
-     */
-    public function testAssertArrayContainsOnlyStdClass()
-    {
-        $this->assertContainsOnly('StdClass', array(new StdClass));
-
-        try {
-            $this->assertContainsOnly('StdClass', array('StdClass'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
-     */
-    public function testAssertArrayNotContainsOnlyStdClass()
-    {
-        $this->assertNotContainsOnly('StdClass', array('StdClass'));
-
-        try {
-            $this->assertNotContainsOnly('StdClass', array(new StdClass));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    protected function createDOMDocument($content)
-    {
-        $document                     = new DOMDocument;
-        $document->preserveWhiteSpace = false;
-        $document->loadXML($content);
-
-        return $document;
-    }
-
-    protected function sameValues()
-    {
-        $object = new SampleClass(4, 8, 15);
-        // cannot use $filesDirectory, because neither setUp() nor
-        // setUpBeforeClass() are executed before the data providers
-        $file     = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
-        $resource = fopen($file, 'r');
-
-        return array(
-            // null
-            array(null, null),
-            // strings
-            array('a', 'a'),
-            // integers
-            array(0, 0),
-            // floats
-            array(2.3, 2.3),
-            array(1/3, 1 - 2/3),
-            array(log(0), log(0)),
-            // arrays
-            array(array(), array()),
-            array(array(0 => 1), array(0 => 1)),
-            array(array(0 => null), array(0 => null)),
-            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(1, 2))),
-            // objects
-            array($object, $object),
-            // resources
-            array($resource, $resource),
-        );
-    }
-
-    protected function notEqualValues()
-    {
-        // cyclic dependencies
-        $book1                  = new Book;
-        $book1->author          = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2                  = new Book;
-        $book2->author          = new Author('Terry Pratch');
-        $book2->author->books[] = $book2;
-
-        $book3         = new Book;
-        $book3->author = 'Terry Pratchett';
-        $book4         = new stdClass;
-        $book4->author = 'Terry Pratchett';
-
-        $object1  = new SampleClass(4, 8, 15);
-        $object2  = new SampleClass(16, 23, 42);
-        $object3  = new SampleClass(4, 8, 15);
-        $storage1 = new SplObjectStorage;
-        $storage1->attach($object1);
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($object3); // same content, different object
-
-        // cannot use $filesDirectory, because neither setUp() nor
-        // setUpBeforeClass() are executed before the data providers
-        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
-
-        return array(
-            // strings
-            array('a', 'b'),
-            array('a', 'A'),
-            // https://github.com/sebastianbergmann/phpunit/issues/1023
-            array('9E6666666','9E7777777'),
-            // integers
-            array(1, 2),
-            array(2, 1),
-            // floats
-            array(2.3, 4.2),
-            array(2.3, 4.2, 0.5),
-            array(array(2.3), array(4.2), 0.5),
-            array(array(array(2.3)), array(array(4.2)), 0.5),
-            array(new Struct(2.3), new Struct(4.2), 0.5),
-            array(array(new Struct(2.3)), array(new Struct(4.2)), 0.5),
-            // NAN
-            array(NAN, NAN),
-            // arrays
-            array(array(), array(0 => 1)),
-            array(array(0 => 1), array()),
-            array(array(0 => null), array()),
-            array(array(0 => 1, 1 => 2), array(0 => 1, 1 => 3)),
-            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(2, 1))),
-            // objects
-            array(new SampleClass(4, 8, 15), new SampleClass(16, 23, 42)),
-            array($object1, $object2),
-            array($book1, $book2),
-            array($book3, $book4), // same content, different class
-            // resources
-            array(fopen($file, 'r'), fopen($file, 'r')),
-            // SplObjectStorage
-            array($storage1, $storage2),
-            // DOMDocument
-            array(
-                $this->createDOMDocument('<root></root>'),
-                $this->createDOMDocument('<bar/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo attr1="bar"/>'),
-                $this->createDOMDocument('<foo attr1="foobar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo> bar </foo>'),
-                $this->createDOMDocument('<foo />'),
-            ),
-            array(
-                $this->createDOMDocument('<foo xmlns="urn:myns:bar"/>'),
-                $this->createDOMDocument('<foo xmlns="urn:notmyns:bar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<foo> bar </foo>'),
-                $this->createDOMDocument('<foo> bir </foo>'),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                43200
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
-                3500
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-30', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0600'),
-                new DateTime('2013-03-29T04:13:35-0600'),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0600'),
-                new DateTime('2013-03-29T05:13:35-0500'),
-            ),
-            // Exception
-            //array(new Exception('Exception 1'), new Exception('Exception 2')),
-            // different types
-            array(new SampleClass(4, 8, 15), false),
-            array(false, new SampleClass(4, 8, 15)),
-            array(array(0 => 1, 1 => 2), false),
-            array(false, array(0 => 1, 1 => 2)),
-            array(array(), new stdClass),
-            array(new stdClass, array()),
-            // PHP: 0 == 'Foobar' => true!
-            // We want these values to differ
-            array(0, 'Foobar'),
-            array('Foobar', 0),
-            array(3, acos(8)),
-            array(acos(8), 3)
-        );
-    }
-
-    protected function equalValues()
-    {
-        // cyclic dependencies
-        $book1                  = new Book;
-        $book1->author          = new Author('Terry Pratchett');
-        $book1->author->books[] = $book1;
-        $book2                  = new Book;
-        $book2->author          = new Author('Terry Pratchett');
-        $book2->author->books[] = $book2;
-
-        $object1  = new SampleClass(4, 8, 15);
-        $object2  = new SampleClass(4, 8, 15);
-        $storage1 = new SplObjectStorage;
-        $storage1->attach($object1);
-        $storage2 = new SplObjectStorage;
-        $storage2->attach($object1);
-
-        return array(
-            // strings
-            array('a', 'A', 0, false, true), // ignore case
-            // arrays
-            array(array('a' => 1, 'b' => 2), array('b' => 2, 'a' => 1)),
-            array(array(1), array('1')),
-            array(array(3, 2, 1), array(2, 3, 1), 0, true), // canonicalized comparison
-            // floats
-            array(2.3, 2.5, 0.5),
-            array(array(2.3), array(2.5), 0.5),
-            array(array(array(2.3)), array(array(2.5)), 0.5),
-            array(new Struct(2.3), new Struct(2.5), 0.5),
-            array(array(new Struct(2.3)), array(new Struct(2.5)), 0.5),
-            // numeric with delta
-            array(1, 2, 1),
-            // objects
-            array($object1, $object2),
-            array($book1, $book2),
-            // SplObjectStorage
-            array($storage1, $storage2),
-            // DOMDocument
-            array(
-                $this->createDOMDocument('<root></root>'),
-                $this->createDOMDocument('<root/>'),
-            ),
-            array(
-                $this->createDOMDocument('<root attr="bar"></root>'),
-                $this->createDOMDocument('<root attr="bar"/>'),
-            ),
-            array(
-                $this->createDOMDocument('<root><foo attr="bar"></foo></root>'),
-                $this->createDOMDocument('<root><foo attr="bar"/></root>'),
-            ),
-            array(
-                $this->createDOMDocument("<root>\n  <child/>\n</root>"),
-                $this->createDOMDocument('<root><child/></root>'),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
-                10
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
-                65
-            ),
-            array(
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
-                15
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
-                new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
-                100
-            ),
-            array(
-                new DateTime('@1364616000'),
-                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
-            ),
-            array(
-                new DateTime('2013-03-29T05:13:35-0500'),
-                new DateTime('2013-03-29T04:13:35-0600'),
-            ),
-            // Exception
-            //array(new Exception('Exception 1'), new Exception('Exception 1')),
-            // mixed types
-            array(0, '0'),
-            array('0', 0),
-            array(2.3, '2.3'),
-            array('2.3', 2.3),
-            array((string) (1/3), 1 - 2/3),
-            array(1/3, (string) (1 - 2/3)),
-            array('string representation', new ClassWithToString),
-            array(new ClassWithToString, 'string representation'),
-        );
-    }
-
-    public function equalProvider()
-    {
-        // same |= equal
-        return array_merge($this->equalValues(), $this->sameValues());
-    }
-
-    public function notEqualProvider()
-    {
-        return $this->notEqualValues();
-    }
-
-    public function sameProvider()
-    {
-        return $this->sameValues();
-    }
-
-    public function notSameProvider()
-    {
-        // not equal |= not same
-        // equal, Â¬same |= not same
-        return array_merge($this->notEqualValues(), $this->equalValues());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     * @dataProvider equalProvider
-     */
-    public function testAssertEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     * @dataProvider notEqualProvider
-     */
-    public function testAssertEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        try {
-            $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     * @dataProvider notEqualProvider
-     */
-    public function testAssertNotEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     * @dataProvider equalProvider
-     */
-    public function testAssertNotEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
-    {
-        try {
-            $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     * @dataProvider sameProvider
-     */
-    public function testAssertSameSucceeds($a, $b)
-    {
-        $this->assertSame($a, $b);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     * @dataProvider notSameProvider
-     */
-    public function testAssertSameFails($a, $b)
-    {
-        try {
-            $this->assertSame($a, $b);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     * @dataProvider notSameProvider
-     */
-    public function testAssertNotSameSucceeds($a, $b)
-    {
-        $this->assertNotSame($a, $b);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     * @dataProvider sameProvider
-     */
-    public function testAssertNotSameFails($a, $b)
-    {
-        try {
-            $this->assertNotSame($a, $b);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlFileEqualsXmlFile
-     */
-    public function testAssertXmlFileEqualsXmlFile()
-    {
-        $this->assertXmlFileEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'foo.xml'
-        );
-
-        try {
-            $this->assertXmlFileEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'bar.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlFileNotEqualsXmlFile
-     */
-    public function testAssertXmlFileNotEqualsXmlFile()
-    {
-        $this->assertXmlFileNotEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'bar.xml'
-        );
-
-        try {
-            $this->assertXmlFileNotEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'foo.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlFile
-     */
-    public function testAssertXmlStringEqualsXmlFile()
-    {
-        $this->assertXmlStringEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'foo.xml')
-        );
-
-        try {
-            $this->assertXmlStringEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'bar.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlFile
-     */
-    public function testXmlStringNotEqualsXmlFile()
-    {
-        $this->assertXmlStringNotEqualsXmlFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'bar.xml')
-        );
-
-        try {
-            $this->assertXmlStringNotEqualsXmlFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'foo.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString
-     */
-    public function testAssertXmlStringEqualsXmlString()
-    {
-        $this->assertXmlStringEqualsXmlString('<root/>', '<root/>');
-
-        try {
-            $this->assertXmlStringEqualsXmlString('<foo/>', '<bar/>');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlString
-     */
-    public function testAssertXmlStringNotEqualsXmlString()
-    {
-        $this->assertXmlStringNotEqualsXmlString('<foo/>', '<bar/>');
-
-        try {
-            $this->assertXmlStringNotEqualsXmlString('<root/>', '<root/>');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIsSame()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureExpected.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
-     * @expectedException PHPUnit_Framework_ExpectationFailedException
-     */
-    public function testXMLStructureWrongNumberOfAttributes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureWrongNumberOfAttributes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
-     * @expectedException PHPUnit_Framework_ExpectationFailedException
-     */
-    public function testXMLStructureWrongNumberOfNodes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureWrongNumberOfNodes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIsSameButDataIsNot()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureIsSameButDataIsNot.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureAttributesAreSameButValuesAreNot()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureAttributesAreSameButValuesAreNot.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
-     */
-    public function testXMLStructureIgnoreTextNodes()
-    {
-        $expected = new DOMDocument;
-        $expected->load($this->filesDirectory . 'structureExpected.xml');
-
-        $actual = new DOMDocument;
-        $actual->load($this->filesDirectory . 'structureIgnoreTextNodes.xml');
-
-        $this->assertEqualXMLStructure(
-            $expected->firstChild, $actual->firstChild, true
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEquals
-     */
-    public function testAssertStringEqualsNumeric()
-    {
-        $this->assertEquals('0', 0);
-
-        try {
-            $this->assertEquals('0', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEquals
-     */
-    public function testAssertStringEqualsNumeric2()
-    {
-        $this->assertNotEquals('A', 0);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertFileExists
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertFileExistsThrowsException()
-    {
-        $this->assertFileExists(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileExists
-     */
-    public function testAssertFileExists()
-    {
-        $this->assertFileExists(__FILE__);
-
-        try {
-            $this->assertFileExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertFileNotExists
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertFileNotExistsThrowsException()
-    {
-        $this->assertFileNotExists(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileNotExists
-     */
-    public function testAssertFileNotExists()
-    {
-        $this->assertFileNotExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
-
-        try {
-            $this->assertFileNotExists(__FILE__);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testAssertObjectHasAttribute()
-    {
-        $o = new Author('Terry Pratchett');
-
-        $this->assertObjectHasAttribute('name', $o);
-
-        try {
-            $this->assertObjectHasAttribute('foo', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testAssertObjectNotHasAttribute()
-    {
-        $o = new Author('Terry Pratchett');
-
-        $this->assertObjectNotHasAttribute('foo', $o);
-
-        try {
-            $this->assertObjectNotHasAttribute('name', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNull
-     */
-    public function testAssertNull()
-    {
-        $this->assertNull(null);
-
-        try {
-            $this->assertNull(new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotNull
-     */
-    public function testAssertNotNull()
-    {
-        $this->assertNotNull(new stdClass);
-
-        try {
-            $this->assertNotNull(null);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertTrue
-     */
-    public function testAssertTrue()
-    {
-        $this->assertTrue(true);
-
-        try {
-            $this->assertTrue(false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotTrue
-     */
-    public function testAssertNotTrue()
-    {
-        $this->assertNotTrue(false);
-        $this->assertNotTrue(1);
-        $this->assertNotTrue('true');
-
-        try {
-            $this->assertNotTrue(true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFalse
-     */
-    public function testAssertFalse()
-    {
-        $this->assertFalse(false);
-
-        try {
-            $this->assertFalse(true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotFalse
-     */
-    public function testAssertNotFalse()
-    {
-        $this->assertNotFalse(true);
-        $this->assertNotFalse(0);
-        $this->assertNotFalse('');
-
-        try {
-            $this->assertNotFalse(false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertRegExpThrowsException()
-    {
-        $this->assertRegExp(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertRegExpThrowsException2()
-    {
-        $this->assertRegExp('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotRegExpThrowsException()
-    {
-        $this->assertNotRegExp(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotRegExpThrowsException2()
-    {
-        $this->assertNotRegExp('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertRegExp
-     */
-    public function testAssertRegExp()
-    {
-        $this->assertRegExp('/foo/', 'foobar');
-
-        try {
-            $this->assertRegExp('/foo/', 'bar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotRegExp
-     */
-    public function testAssertNotRegExp()
-    {
-        $this->assertNotRegExp('/foo/', 'bar');
-
-        try {
-            $this->assertNotRegExp('/foo/', 'foobar');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     */
-    public function testAssertSame()
-    {
-        $o = new stdClass;
-
-        $this->assertSame($o, $o);
-
-        try {
-            $this->assertSame(
-                new stdClass,
-                new stdClass
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSame
-     */
-    public function testAssertSame2()
-    {
-        $this->assertSame(true, true);
-        $this->assertSame(false, false);
-
-        try {
-            $this->assertSame(true, false);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSame()
-    {
-        $this->assertNotSame(
-            new stdClass,
-            null
-        );
-
-        $this->assertNotSame(
-            null,
-            new stdClass
-        );
-
-        $this->assertNotSame(
-            new stdClass,
-            new stdClass
-        );
-
-        $o = new stdClass;
-
-        try {
-            $this->assertNotSame($o, $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSame2()
-    {
-        $this->assertNotSame(true, false);
-        $this->assertNotSame(false, true);
-
-        try {
-            $this->assertNotSame(true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSame
-     */
-    public function testAssertNotSameFailsNull()
-    {
-        try {
-            $this->assertNotSame(null, null);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertGreaterThan
-     */
-    public function testGreaterThan()
-    {
-        $this->assertGreaterThan(1, 2);
-
-        try {
-            $this->assertGreaterThan(2, 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThan
-     */
-    public function testAttributeGreaterThan()
-    {
-        $this->assertAttributeGreaterThan(
-            1, 'bar', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeGreaterThan(
-                1, 'foo', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertGreaterThanOrEqual
-     */
-    public function testGreaterThanOrEqual()
-    {
-        $this->assertGreaterThanOrEqual(1, 2);
-
-        try {
-            $this->assertGreaterThanOrEqual(2, 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThanOrEqual
-     */
-    public function testAttributeGreaterThanOrEqual()
-    {
-        $this->assertAttributeGreaterThanOrEqual(
-            1, 'bar', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeGreaterThanOrEqual(
-                2, 'foo', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertLessThan
-     */
-    public function testLessThan()
-    {
-        $this->assertLessThan(2, 1);
-
-        try {
-            $this->assertLessThan(1, 2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeLessThan
-     */
-    public function testAttributeLessThan()
-    {
-        $this->assertAttributeLessThan(
-            2, 'foo', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeLessThan(
-                1, 'bar', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertLessThanOrEqual
-     */
-    public function testLessThanOrEqual()
-    {
-        $this->assertLessThanOrEqual(2, 1);
-
-        try {
-            $this->assertLessThanOrEqual(1, 2);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeLessThanOrEqual
-     */
-    public function testAttributeLessThanOrEqual()
-    {
-        $this->assertAttributeLessThanOrEqual(
-            2, 'foo', new ClassWithNonPublicAttributes
-        );
-
-        try {
-            $this->assertAttributeLessThanOrEqual(
-                1, 'bar', new ClassWithNonPublicAttributes
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::readAttribute
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testReadAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertEquals('foo', $this->readAttribute($obj, 'publicAttribute'));
-        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedAttribute'));
-        $this->assertEquals('baz', $this->readAttribute($obj, 'privateAttribute'));
-        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedParentAttribute'));
-        //$this->assertEquals('bar', $this->readAttribute($obj, 'privateParentAttribute'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::readAttribute
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testReadAttribute2()
-    {
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'publicStaticAttribute'));
-        $this->assertEquals('bar', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticAttribute'));
-        $this->assertEquals('baz', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticAttribute'));
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticParentAttribute'));
-        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticParentAttribute'));
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute3()
-    {
-        $this->readAttribute('StdClass', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute4()
-    {
-        $this->readAttribute('NotExistingClass', 'foo');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttribute5()
-    {
-        $this->readAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::readAttribute
-     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
-     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testReadAttributeIfAttributeNameIsNotValid()
-    {
-        $this->readAttribute('StdClass', '2');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->getStaticAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument2()
-    {
-        $this->getStaticAttribute('NotExistingClass', 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->getStaticAttribute('stdClass', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument2()
-    {
-        $this->getStaticAttribute('stdClass', '0');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument3()
-    {
-        $this->getStaticAttribute('stdClass', 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->getObjectAttribute(null, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->getObjectAttribute(new stdClass, null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument2()
-    {
-        $this->getObjectAttribute(new stdClass, '0');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument3()
-    {
-        $this->getObjectAttribute(new stdClass, 'foo');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::getObjectAttribute
-     */
-    public function testGetObjectAttributeWorksForInheritedAttributes()
-    {
-        $this->assertEquals(
-            'bar',
-            $this->getObjectAttribute(new ClassWithNonPublicAttributes, 'privateParentAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertPublicAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('foo', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeContains('bar', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContainsOnly
-     */
-    public function testAssertPublicAttributeContainsOnly()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContainsOnly('string', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeContainsOnly('integer', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertPublicAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('bar', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('foo', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContainsOnly
-     */
-    public function testAssertPublicAttributeNotContainsOnly()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContainsOnly('integer', 'publicArray', $obj);
-
-        try {
-            $this->assertAttributeNotContainsOnly('string', 'publicArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertProtectedAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('bar', 'protectedArray', $obj);
-
-        try {
-            $this->assertAttributeContains('foo', 'protectedArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertProtectedAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('foo', 'protectedArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('bar', 'protectedArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertPrivateAttributeContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains('baz', 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeContains('foo', 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertPrivateAttributeNotContains()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains('foo', 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeNotContains('baz', 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeContains
-     */
-    public function testAssertAttributeContainsNonObject()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeContains(true, 'privateArray', $obj);
-
-        try {
-            $this->assertAttributeContains(true, 'privateArray', $obj, '', false, true, true);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
-     */
-    public function testAssertAttributeNotContainsNonObject()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotContains(true, 'privateArray', $obj, '', false, true, true);
-
-        try {
-            $this->assertAttributeNotContains(true, 'privateArray', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPublicAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('foo', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('bar', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPublicAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('bar', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('foo', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeSame
-     */
-    public function testAssertPublicAttributeSame()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeSame('foo', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeSame('bar', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotSame
-     */
-    public function testAssertPublicAttributeNotSame()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotSame('bar', 'publicAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotSame('foo', 'publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertProtectedAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('bar', 'protectedAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('foo', 'protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertProtectedAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('foo', 'protectedAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('bar', 'protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPrivateAttributeEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeEquals('baz', 'privateAttribute', $obj);
-
-        try {
-            $this->assertAttributeEquals('foo', 'privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPrivateAttributeNotEquals()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertAttributeNotEquals('foo', 'privateAttribute', $obj);
-
-        try {
-            $this->assertAttributeNotEquals('baz', 'privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPublicStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPublicStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertProtectedStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertProtectedStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
-     */
-    public function testAssertPrivateStaticAttributeEquals()
-    {
-        $this->assertAttributeEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
-     */
-    public function testAssertPrivateStaticAttributeNotEquals()
-    {
-        $this->assertAttributeNotEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertAttributeNotEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsException()
-    {
-        $this->assertClassHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsException2()
-    {
-        $this->assertClassHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsException()
-    {
-        $this->assertClassNotHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsException2()
-    {
-        $this->assertClassNotHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassNotHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsException()
-    {
-        $this->assertClassHasStaticAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsException2()
-    {
-        $this->assertClassHasStaticAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsException()
-    {
-        $this->assertClassNotHasStaticAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsException2()
-    {
-        $this->assertClassNotHasStaticAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertClassNotHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertClassNotHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsException()
-    {
-        $this->assertObjectHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsException2()
-    {
-        $this->assertObjectHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertObjectHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsException()
-    {
-        $this->assertObjectNotHasAttribute(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsException2()
-    {
-        $this->assertObjectNotHasAttribute('foo', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertObjectNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
-    {
-        $this->assertObjectNotHasAttribute('1', 'ClassWithNonPublicAttributes');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassHasAttribute
-     */
-    public function testClassHasPublicAttribute()
-    {
-        $this->assertClassHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassHasAttribute('attribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassNotHasAttribute
-     */
-    public function testClassNotHasPublicAttribute()
-    {
-        $this->assertClassNotHasAttribute('attribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassNotHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassHasStaticAttribute
-     */
-    public function testClassHasPublicStaticAttribute()
-    {
-        $this->assertClassHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
-     */
-    public function testClassNotHasPublicStaticAttribute()
-    {
-        $this->assertClassNotHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
-
-        try {
-            $this->assertClassNotHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasPublicAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('publicAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasPublicAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('publicAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasOnTheFlyAttribute()
-    {
-        $obj      = new StdClass;
-        $obj->foo = 'bar';
-
-        $this->assertObjectHasAttribute('foo', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('bar', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasOnTheFlyAttribute()
-    {
-        $obj      = new StdClass;
-        $obj->foo = 'bar';
-
-        $this->assertObjectNotHasAttribute('bar', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('foo', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasProtectedAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('protectedAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasProtectedAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('protectedAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
-     */
-    public function testObjectHasPrivateAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectHasAttribute('privateAttribute', $obj);
-
-        try {
-            $this->assertObjectHasAttribute('attribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
-     */
-    public function testObjectNotHasPrivateAttribute()
-    {
-        $obj = new ClassWithNonPublicAttributes;
-
-        $this->assertObjectNotHasAttribute('attribute', $obj);
-
-        try {
-            $this->assertObjectNotHasAttribute('privateAttribute', $obj);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::attribute
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatAttributeEquals()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attribute(
-                $this->equalTo('foo'),
-                'publicAttribute'
-            )
-        );
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertThat
-     * @covers            PHPUnit_Framework_Assert::attribute
-     * @covers            PHPUnit_Framework_Assert::equalTo
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertThatAttributeEquals2()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attribute(
-                $this->equalTo('bar'),
-                'publicAttribute'
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::attribute
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatAttributeEqualTo()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->attributeEqualTo('publicAttribute', 'foo')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     */
-    public function testAssertThatAnything()
-    {
-        $this->assertThat('anything', $this->anything());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isTrue
-     */
-    public function testAssertThatIsTrue()
-    {
-        $this->assertThat(true, $this->isTrue());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isFalse
-     */
-    public function testAssertThatIsFalse()
-    {
-        $this->assertThat(false, $this->isFalse());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isJson
-     */
-    public function testAssertThatIsJson()
-    {
-        $this->assertThat('{}', $this->isJson());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalAnd
-     */
-    public function testAssertThatAnythingAndAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalAnd(
-                $this->anything(), $this->anything()
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalOr
-     */
-    public function testAssertThatAnythingOrAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalOr(
-                $this->anything(), $this->anything()
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::anything
-     * @covers PHPUnit_Framework_Assert::logicalNot
-     * @covers PHPUnit_Framework_Assert::logicalXor
-     */
-    public function testAssertThatAnythingXorNotAnything()
-    {
-        $this->assertThat(
-            'anything',
-            $this->logicalXor(
-                $this->anything(),
-                $this->logicalNot($this->anything())
-            )
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::contains
-     */
-    public function testAssertThatContains()
-    {
-        $this->assertThat(array('foo'), $this->contains('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::stringContains
-     */
-    public function testAssertThatStringContains()
-    {
-        $this->assertThat('barfoobar', $this->stringContains('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::containsOnly
-     */
-    public function testAssertThatContainsOnly()
-    {
-        $this->assertThat(array('foo'), $this->containsOnly('string'));
-    }
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::containsOnlyInstancesOf
-     */
-    public function testAssertThatContainsOnlyInstancesOf()
-    {
-        $this->assertThat(array(new Book), $this->containsOnlyInstancesOf('Book'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::arrayHasKey
-     */
-    public function testAssertThatArrayHasKey()
-    {
-        $this->assertThat(array('foo' => 'bar'), $this->arrayHasKey('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::classHasAttribute
-     */
-    public function testAssertThatClassHasAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->classHasAttribute('publicAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
-     */
-    public function testAssertThatClassHasStaticAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->classHasStaticAttribute('publicStaticAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::objectHasAttribute
-     */
-    public function testAssertThatObjectHasAttribute()
-    {
-        $this->assertThat(
-            new ClassWithNonPublicAttributes,
-            $this->objectHasAttribute('publicAttribute')
-        );
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::equalTo
-     */
-    public function testAssertThatEqualTo()
-    {
-        $this->assertThat('foo', $this->equalTo('foo'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::identicalTo
-     */
-    public function testAssertThatIdenticalTo()
-    {
-        $value      = new StdClass;
-        $constraint = $this->identicalTo($value);
-
-        $this->assertThat($value, $constraint);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isInstanceOf
-     */
-    public function testAssertThatIsInstanceOf()
-    {
-        $this->assertThat(new StdClass, $this->isInstanceOf('StdClass'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isType
-     */
-    public function testAssertThatIsType()
-    {
-        $this->assertThat('string', $this->isType('string'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::isEmpty
-     */
-    public function testAssertThatIsEmpty()
-    {
-        $this->assertThat(array(), $this->isEmpty());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::fileExists
-     */
-    public function testAssertThatFileExists()
-    {
-        $this->assertThat(__FILE__, $this->fileExists());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::greaterThan
-     */
-    public function testAssertThatGreaterThan()
-    {
-        $this->assertThat(2, $this->greaterThan(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
-     */
-    public function testAssertThatGreaterThanOrEqual()
-    {
-        $this->assertThat(2, $this->greaterThanOrEqual(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::lessThan
-     */
-    public function testAssertThatLessThan()
-    {
-        $this->assertThat(1, $this->lessThan(2));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
-     */
-    public function testAssertThatLessThanOrEqual()
-    {
-        $this->assertThat(1, $this->lessThanOrEqual(2));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
-     */
-    public function testAssertThatMatchesRegularExpression()
-    {
-        $this->assertThat('foobar', $this->matchesRegularExpression('/foo/'));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::callback
-     */
-    public function testAssertThatCallback()
-    {
-        $this->assertThat(null, $this->callback(function ($other) { return true;
-        }));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertThat
-     * @covers PHPUnit_Framework_Assert::countOf
-     */
-    public function testAssertThatCountOf()
-    {
-        $this->assertThat(array(1), $this->countOf(1));
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileEquals
-     */
-    public function testAssertFileEquals()
-    {
-        $this->assertFileEquals(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'foo.xml'
-        );
-
-        try {
-            $this->assertFileEquals(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'bar.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertFileNotEquals
-     */
-    public function testAssertFileNotEquals()
-    {
-        $this->assertFileNotEquals(
-            $this->filesDirectory . 'foo.xml',
-            $this->filesDirectory . 'bar.xml'
-        );
-
-        try {
-            $this->assertFileNotEquals(
-                $this->filesDirectory . 'foo.xml',
-                $this->filesDirectory . 'foo.xml'
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEqualsFile
-     */
-    public function testAssertStringEqualsFile()
-    {
-        $this->assertStringEqualsFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'foo.xml')
-        );
-
-        try {
-            $this->assertStringEqualsFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'bar.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotEqualsFile
-     */
-    public function testAssertStringNotEqualsFile()
-    {
-        $this->assertStringNotEqualsFile(
-            $this->filesDirectory . 'foo.xml',
-            file_get_contents($this->filesDirectory . 'bar.xml')
-        );
-
-        try {
-            $this->assertStringNotEqualsFile(
-                $this->filesDirectory . 'foo.xml',
-                file_get_contents($this->filesDirectory . 'foo.xml')
-            );
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsWithThrowsException()
-    {
-        $this->assertStringStartsWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsWithThrowsException2()
-    {
-        $this->assertStringStartsWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsNotWithThrowsException()
-    {
-        $this->assertStringStartsNotWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringStartsNotWithThrowsException2()
-    {
-        $this->assertStringStartsNotWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsWithThrowsException()
-    {
-        $this->assertStringEndsWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsWithThrowsException2()
-    {
-        $this->assertStringEndsWith('', null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsNotWithThrowsException()
-    {
-        $this->assertStringEndsNotWith(null, null);
-    }
-
-    /**
-     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringEndsNotWithThrowsException2()
-    {
-        $this->assertStringEndsNotWith('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringStartsWith
-     */
-    public function testAssertStringStartsWith()
-    {
-        $this->assertStringStartsWith('prefix', 'prefixfoo');
-
-        try {
-            $this->assertStringStartsWith('prefix', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringStartsNotWith
-     */
-    public function testAssertStringStartsNotWith()
-    {
-        $this->assertStringStartsNotWith('prefix', 'foo');
-
-        try {
-            $this->assertStringStartsNotWith('prefix', 'prefixfoo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEndsWith
-     */
-    public function testAssertStringEndsWith()
-    {
-        $this->assertStringEndsWith('suffix', 'foosuffix');
-
-        try {
-            $this->assertStringEndsWith('suffix', 'foo');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringEndsNotWith
-     */
-    public function testAssertStringEndsNotWith()
-    {
-        $this->assertStringEndsNotWith('suffix', 'foo');
-
-        try {
-            $this->assertStringEndsNotWith('suffix', 'foosuffix');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->assertStringMatchesFormat(null, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->assertStringMatchesFormat('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     */
-    public function testAssertStringMatchesFormat()
-    {
-        $this->assertStringMatchesFormat('*%s*', '***');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
-     * @expectedException PHPUnit_Framework_AssertionFailedError
-     */
-    public function testAssertStringMatchesFormatFailure()
-    {
-        $this->assertStringMatchesFormat('*%s*', '**');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidFirstArgument()
-    {
-        $this->assertStringNotMatchesFormat(null, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidSecondArgument()
-    {
-        $this->assertStringNotMatchesFormat('', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
-     */
-    public function testAssertStringNotMatchesFormat()
-    {
-        $this->assertStringNotMatchesFormat('*%s*', '**');
-
-        try {
-            $this->assertStringMatchesFormat('*%s*', '**');
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertEmpty
-     */
-    public function testAssertEmpty()
-    {
-        $this->assertEmpty(array());
-
-        try {
-            $this->assertEmpty(array('foo'));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotEmpty
-     */
-    public function testAssertNotEmpty()
-    {
-        $this->assertNotEmpty(array('foo'));
-
-        try {
-            $this->assertNotEmpty(array());
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeEmpty
-     */
-    public function testAssertAttributeEmpty()
-    {
-        $o    = new StdClass;
-        $o->a = array();
-
-        $this->assertAttributeEmpty('a', $o);
-
-        try {
-            $o->a = array('b');
-            $this->assertAttributeEmpty('a', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotEmpty
-     */
-    public function testAssertAttributeNotEmpty()
-    {
-        $o    = new StdClass;
-        $o->a = array('b');
-
-        $this->assertAttributeNotEmpty('a', $o);
-
-        try {
-            $o->a = array();
-            $this->assertAttributeNotEmpty('a', $o);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::markTestIncomplete
-     */
-    public function testMarkTestIncomplete()
-    {
-        try {
-            $this->markTestIncomplete('incomplete');
-        } catch (PHPUnit_Framework_IncompleteTestError $e) {
-            $this->assertEquals('incomplete', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::markTestSkipped
-     */
-    public function testMarkTestSkipped()
-    {
-        try {
-            $this->markTestSkipped('skipped');
-        } catch (PHPUnit_Framework_SkippedTestError $e) {
-            $this->assertEquals('skipped', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCount()
-    {
-        $this->assertCount(2, array(1, 2));
-
-        try {
-            $this->assertCount(2, array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountTraversable()
-    {
-        $this->assertCount(2, new ArrayIterator(array(1, 2)));
-
-        try {
-            $this->assertCount(2, new ArrayIterator(array(1, 2, 3)));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountThrowsExceptionIfExpectedCountIsNoInteger()
-    {
-        try {
-            $this->assertCount('a', array());
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a integer', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertCount
-     */
-    public function testAssertCountThrowsExceptionIfElementIsNotCountable()
-    {
-        try {
-            $this->assertCount(2, '');
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeCount
-     */
-    public function testAssertAttributeCount()
-    {
-        $o    = new stdClass;
-        $o->a = array();
-
-        $this->assertAttributeCount(0, 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     */
-    public function testAssertNotCount()
-    {
-        $this->assertNotCount(2, array(1, 2, 3));
-
-        try {
-            $this->assertNotCount(2, array(1, 2));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotCountThrowsExceptionIfExpectedCountIsNoInteger()
-    {
-        $this->assertNotCount('a', array());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotCount
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotCountThrowsExceptionIfElementIsNotCountable()
-    {
-        $this->assertNotCount(2, '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotCount
-     */
-    public function testAssertAttributeNotCount()
-    {
-        $o    = new stdClass;
-        $o->a = array();
-
-        $this->assertAttributeNotCount(1, 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSize()
-    {
-        $this->assertSameSize(array(1, 2), array(3, 4));
-
-        try {
-            $this->assertSameSize(array(1, 2), array(1, 2, 3));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSizeThrowsExceptionIfExpectedIsNotCountable()
-    {
-        try {
-            $this->assertSameSize('a', array());
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertSameSize
-     */
-    public function testAssertSameSizeThrowsExceptionIfActualIsNotCountable()
-    {
-        try {
-            $this->assertSameSize(array(), '');
-        } catch (PHPUnit_Framework_Exception $e) {
-            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
-
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     */
-    public function testAssertNotSameSize()
-    {
-        $this->assertNotSameSize(array(1, 2), array(1, 2, 3));
-
-        try {
-            $this->assertNotSameSize(array(1, 2), array(3, 4));
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotSameSizeThrowsExceptionIfExpectedIsNotCountable()
-    {
-        $this->assertNotSameSize('a', array());
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotSameSize
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotSameSizeThrowsExceptionIfActualIsNotCountable()
-    {
-        $this->assertNotSameSize(array(), '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJson
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertJsonRaisesExceptionForInvalidArgument()
-    {
-        $this->assertJson(null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJson
-     */
-    public function testAssertJson()
-    {
-        $this->assertJson('{}');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
-     */
-    public function testAssertJsonStringEqualsJsonString()
-    {
-        $expected = '{"Mascott" : "Tux"}';
-        $actual   = '{"Mascott" : "Tux"}';
-        $message  = 'Given Json strings do not match';
-
-        $this->assertJsonStringEqualsJsonString($expected, $actual, $message);
-    }
-
-    /**
-     * @dataProvider validInvalidJsonDataprovider
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
-     */
-    public function testAssertJsonStringEqualsJsonStringErrorRaised($expected, $actual)
-    {
-        try {
-            $this->assertJsonStringEqualsJsonString($expected, $actual);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail('Expected exception not found');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
-     */
-    public function testAssertJsonStringNotEqualsJsonString()
-    {
-        $expected = '{"Mascott" : "Beastie"}';
-        $actual   = '{"Mascott" : "Tux"}';
-        $message  = 'Given Json strings do match';
-
-        $this->assertJsonStringNotEqualsJsonString($expected, $actual, $message);
-    }
-
-    /**
-     * @dataProvider validInvalidJsonDataprovider
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
-     */
-    public function testAssertJsonStringNotEqualsJsonStringErrorRaised($expected, $actual)
-    {
-        try {
-            $this->assertJsonStringNotEqualsJsonString($expected, $actual);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-        $this->fail('Expected exception not found');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFile()
-    {
-        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual  = json_encode(array('Mascott' => 'Tux'));
-        $message = '';
-        $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFileExpectingExpectationFailedException()
-    {
-        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual  = json_encode(array('Mascott' => 'Beastie'));
-        $message = '';
-        try {
-            $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
-        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
-            $this->assertEquals(
-                'Failed asserting that \'{"Mascott":"Beastie"}\' matches JSON string "{"Mascott":"Tux"}".',
-                $e->getMessage()
-            );
-
-            return;
-        }
-
-        $this->fail('Expected Exception not thrown.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
-     */
-    public function testAssertJsonStringEqualsJsonFileExpectingException()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        try {
-            $this->assertJsonStringEqualsJsonFile($file, null);
-        } catch (PHPUnit_Framework_Exception $e) {
-            return;
-        }
-        $this->fail('Expected Exception not thrown.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
-     */
-    public function testAssertJsonStringNotEqualsJsonFile()
-    {
-        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $actual  = json_encode(array('Mascott' => 'Beastie'));
-        $message = '';
-        $this->assertJsonStringNotEqualsJsonFile($file, $actual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
-     */
-    public function testAssertJsonStringNotEqualsJsonFileExpectingException()
-    {
-        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        try {
-            $this->assertJsonStringNotEqualsJsonFile($file, null);
-        } catch (PHPUnit_Framework_Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not found.');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonFileNotEqualsJsonFile
-     */
-    public function testAssertJsonFileNotEqualsJsonFile()
-    {
-        $fileExpected = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $fileActual   = __DIR__ . '/../_files/JsonData/arrayObject.json';
-        $message      = '';
-        $this->assertJsonFileNotEqualsJsonFile($fileExpected, $fileActual, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertJsonFileEqualsJsonFile
-     */
-    public function testAssertJsonFileEqualsJsonFile()
-    {
-        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
-        $message = '';
-        $this->assertJsonFileEqualsJsonFile($file, $file, $message);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInstanceOf
-     */
-    public function testAssertInstanceOf()
-    {
-        $this->assertInstanceOf('stdClass', new stdClass);
-
-        try {
-            $this->assertInstanceOf('Exception', new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInstanceOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertInstanceOfThrowsExceptionForInvalidArgument()
-    {
-        $this->assertInstanceOf(null, new stdClass);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeInstanceOf
-     */
-    public function testAssertAttributeInstanceOf()
-    {
-        $o    = new stdClass;
-        $o->a = new stdClass;
-
-        $this->assertAttributeInstanceOf('stdClass', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
-     */
-    public function testAssertNotInstanceOf()
-    {
-        $this->assertNotInstanceOf('Exception', new stdClass);
-
-        try {
-            $this->assertNotInstanceOf('stdClass', new stdClass);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotInstanceOfThrowsExceptionForInvalidArgument()
-    {
-        $this->assertNotInstanceOf(null, new stdClass);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotInstanceOf
-     */
-    public function testAssertAttributeNotInstanceOf()
-    {
-        $o    = new stdClass;
-        $o->a = new stdClass;
-
-        $this->assertAttributeNotInstanceOf('Exception', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     */
-    public function testAssertInternalType()
-    {
-        $this->assertInternalType('integer', 1);
-
-        try {
-            $this->assertInternalType('string', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     */
-    public function testAssertInternalTypeDouble()
-    {
-        $this->assertInternalType('double', 1.0);
-
-        try {
-            $this->assertInternalType('double', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertInternalType
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertInternalTypeThrowsExceptionForInvalidArgument()
-    {
-        $this->assertInternalType(null, 1);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeInternalType
-     */
-    public function testAssertAttributeInternalType()
-    {
-        $o    = new stdClass;
-        $o->a = 1;
-
-        $this->assertAttributeInternalType('integer', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInternalType
-     */
-    public function testAssertNotInternalType()
-    {
-        $this->assertNotInternalType('string', 1);
-
-        try {
-            $this->assertNotInternalType('integer', 1);
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertNotInternalType
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertNotInternalTypeThrowsExceptionForInvalidArgument()
-    {
-        $this->assertNotInternalType(null, 1);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertAttributeNotInternalType
-     */
-    public function testAssertAttributeNotInternalType()
-    {
-        $o    = new stdClass;
-        $o->a = 1;
-
-        $this->assertAttributeNotInternalType('string', 'a', $o);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatFileThrowsExceptionForInvalidArgument()
-    {
-        $this->assertStringMatchesFormatFile('not_existing_file', '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringMatchesFormatFileThrowsExceptionForInvalidArgument2()
-    {
-        $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
-     */
-    public function testAssertStringMatchesFormatFile()
-    {
-        $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "FOO\n");
-
-        try {
-            $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "BAR\n");
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatFileThrowsExceptionForInvalidArgument()
-    {
-        $this->assertStringNotMatchesFormatFile('not_existing_file', '');
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
-     * @expectedException PHPUnit_Framework_Exception
-     */
-    public function testAssertStringNotMatchesFormatFileThrowsExceptionForInvalidArgument2()
-    {
-        $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', null);
-    }
-
-    /**
-     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
-     */
-    public function testAssertStringNotMatchesFormatFile()
-    {
-        $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "BAR\n");
-
-        try {
-            $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "FOO\n");
-        } catch (PHPUnit_Framework_AssertionFailedError $e) {
-            return;
-        }
-
-        $this->fail();
-    }
-
-    public static function validInvalidJsonDataprovider()
-    {
-        return array(
-            'error syntax in expected JSON' => array('{"Mascott"::}', '{"Mascott" : "Tux"}'),
-            'error UTF-8 in actual JSON'    => array('{"Mascott" : "Tux"}', '{"Mascott" : :}'),
-        );
-    }
-}
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt b/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt
deleted file mode 100644
index cae0705..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/1021.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-#1021: Depending on a test that uses a data provider does not work
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1021Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1021/Issue1021Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/523.phpt b/core/vendor/phpunit/phpunit/tests/Regression/523.phpt
deleted file mode 100644
index 6f2dd26..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/523.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-#523: assertAttributeEquals does not work with classes extending ArrayIterator
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue523Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/523/Issue523Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/578.phpt b/core/vendor/phpunit/phpunit/tests/Regression/578.phpt
deleted file mode 100644
index 4f12821..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/578.phpt
+++ /dev/null
@@ -1,37 +0,0 @@
---TEST--
-#578: Double printing of trace line for exceptions from notices and warnings
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue578Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/578/Issue578Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-EEE
-
-Time: %s, Memory: %sMb
-
-There were 3 errors:
-
-1) Issue578Test::testNoticesDoublePrintStackTrace
-Invalid error type specified
-
-%sIssue578Test.php:%i
-
-2) Issue578Test::testWarningsDoublePrintStackTrace
-Invalid error type specified
-
-%sIssue578Test.php:%i
-
-3) Issue578Test::testUnexpectedExceptionsPrintsCorrectly
-Exception: Double printed exception
-
-%sIssue578Test.php:%i
-
-FAILURES!
-Tests: 3, Assertions: 0, Errors: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/684.phpt b/core/vendor/phpunit/phpunit/tests/Regression/684.phpt
deleted file mode 100644
index e3f8360..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/684.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-#684: Unable to find test class when no test methods exists
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue684Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/684/Issue684Test.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-No tests found in class "Foo_Bar_Issue684Test".
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783.phpt b/core/vendor/phpunit/phpunit/tests/Regression/783.phpt
deleted file mode 100644
index 920bf93..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/783.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-#783: Tests getting executed twice when using multiple groups
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'foo,bar';
-$_SERVER['argv'][4] = 'ParentSuite';
-$_SERVER['argv'][5] = dirname(__FILE__).'/783/ParentSuite.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
deleted file mode 100644
index 01525dc..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-GH-1149: Test swallows output buffer when run in a separate process
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1149Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1149/Issue1149Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.1.2
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
deleted file mode 100644
index 9250923..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-GH-1216: PHPUnit bootstrap must take globals vars even when the file is specified in command line
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/1216/phpunit1216.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = '--bootstrap';
-$_SERVER['argv'][5] = dirname(__FILE__).'/1216/bootstrap1216.php';
-$_SERVER['argv'][6] = dirname(__FILE__) . '/1216/Issue1216Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'Issue1216Test::testConfigAvailableInBootstrap'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
deleted file mode 100644
index 47edf24..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1265: Could not use "PHPUnit_Runner_StandardTestSuiteLoader" as loader
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/1265/phpunit1265.xml';
-$_SERVER['argv'][3] = 'Issue1265Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1265/Issue1265Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
deleted file mode 100644
index ec132dc..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-GH-1330: Allow non-ambiguous shortened longopts
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--deb';
-$_SERVER['argv'][2] = '--config';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1330/phpunit1330.xml';
-$_SERVER['argv'][4] = 'Issue1330Test';
-$_SERVER['argv'][5] = dirname(__FILE__).'/1330/Issue1330Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'Issue1330Test::testTrue'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
deleted file mode 100644
index 31b8e05..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1335: exportVariable multiple backslash problem
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--bootstrap';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1335/bootstrap1335.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1335/Issue1335Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-............
-
-Time: %s, Memory: %sMb
-
-OK (12 tests, 12 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
deleted file mode 100644
index d97ba4f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1337: Data Provider with \ at the end of the name breaks with process isolation
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue1337Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/1337/Issue1337Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
deleted file mode 100644
index e1892ba..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
+++ /dev/null
@@ -1,35 +0,0 @@
---TEST--
-GH-1348: STDOUT/STDERR IO streams should exist in process isolation
---SKIPIF--
-<?php
-if (defined('HHVM_VERSION'))
-    print "skip: PHP runtime required";
-?>
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][] = '--report-useless-tests';
-$_SERVER['argv'][] = '--process-isolation';
-$_SERVER['argv'][] = 'Issue1348Test';
-$_SERVER['argv'][] = __DIR__ . '/1348/Issue1348Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-STDOUT does not break test result
-E
-
-Time: %s, Memory: %sMb
-
-There was 1 error:
-
-1) Issue1348Test::testSTDERR
-PHPUnit_Framework_Exception: STDERR works as usual.
-
-FAILURES!
-Tests: 2, Assertions: 1, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
deleted file mode 100644
index c994f56..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-GH-1374: tearDown() is called despite unmet requirements
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1374Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1374/Issue1374Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-S
-
-Time: %s, Memory: %sMb
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Skipped: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
deleted file mode 100644
index c3b2e25..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-1437: Risky test messages mask failures
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue1437Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/1437/Issue1437Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue1437Test::testFailure
-Failed asserting that false is true.
-
-%sIssue1437Test.php:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
deleted file mode 100644
index 29be767..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-GH-244: Expected Exception should support string codes
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue244Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/244/Issue244Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.FFF
-
-Time: %s, Memory: %sMb
-
-There were 3 failures:
-
-1) Issue244Test::testFails
-Failed asserting that '123StringCode' is equal to expected exception code 'OtherString'.
-
-2) Issue244Test::testFailsTooIfExpectationIsANumber
-Failed asserting that '123StringCode' is equal to expected exception code 123.
-
-3) Issue244Test::testFailsTooIfExceptionCodeIsANumber
-Failed asserting that 123 is equal to expected exception code '123String'.
-
-FAILURES!
-Tests: 4, Assertions: 8, Failures: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
deleted file mode 100644
index 301265e..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-GH-322: group commandline option should override group/exclude setting in phpunit.xml
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--configuration';
-$_SERVER['argv'][2] = dirname(__FILE__).'/322/phpunit322.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = '--group';
-$_SERVER['argv'][5] = 'one';
-$_SERVER['argv'][6] = 'Issue322Test';
-$_SERVER['argv'][7] = dirname(__FILE__).'/322/Issue322Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'Issue322Test::testOne'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
deleted file mode 100644
index de247c4..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-GH-433: expectOutputString not completely working as expected
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue433Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/433/Issue433Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue433Test::testNotMatchingOutput
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-FAILURES!
-Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
deleted file mode 100644
index 8041d0b..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-GH-455: expectOutputString not working in strict mode
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--disallow-test-output';
-$_SERVER['argv'][3] = 'Issue445Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/445/Issue445Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue445Test::testNotMatchingOutput
-Failed asserting that two strings are equal.
---- Expected
-+++ Actual
-@@ @@
--'foo'
-+'bar'
-
-FAILURES!
-Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
deleted file mode 100644
index 828995f..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-GH-498: The test methods won't be run if a dataProvider throws Exception and --group is added in command line
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'trueOnly';
-$_SERVER['argv'][4] = 'Issue498Test';
-$_SERVER['argv'][5] = dirname(__FILE__).'/498/Issue498Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-The data provider specified for Issue498Test::shouldBeFalse is invalid.
-Can't create the data
-
-FAILURES!
-Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
deleted file mode 100644
index e95506c..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
+++ /dev/null
@@ -1,33 +0,0 @@
---TEST--
-GH-503: assertEquals() Line Ending Differences Are Obscure
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue503Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/503/Issue503Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue503Test::testCompareDifferentLineEndings
-Failed asserting that two strings are identical.
---- Expected
-+++ Actual
-@@ @@
- #Warning: Strings contain different line endings!
- foo
-
-%s:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
deleted file mode 100644
index ba1cf85..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---TEST--
-GH-581: PHPUnit_Util_Type::export adds extra newlines in Windows
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue581Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/581/Issue581Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Issue581Test::testExportingObjectsDoesNotBreakWindowsLineFeeds
-Failed asserting that two objects are equal.
---- Expected
-+++ Actual
-@@ @@
- stdClass Object (
-     0 => 1
-     1 => 2
-     2 => 'Test\n'
-     3 => 4
--    4 => 5
-+    4 => 1
-     5 => 6
-     6 => 7
-     7 => 8
- )
-
-%s:%i
-
-FAILURES!
-Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
deleted file mode 100644
index 53f4934..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-GH-74: catchable fatal error in 3.5
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'Issue74Test';
-$_SERVER['argv'][4] = dirname(__FILE__).'/74/Issue74Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-E
-
-Time: %s, Memory: %sMb
-
-There was 1 error:
-
-1) Issue74Test::testCreateAndThrowNewExceptionInProcessIsolation
-NewException: Testing GH-74
-
-%sIssue74Test.php:7
-
-FAILURES!
-Tests: 1, Assertions: 0, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
deleted file mode 100644
index 7599661..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-GH-765: Fatal error triggered in PHPUnit when exception is thrown in data provider of a test with a dependency
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue765Test';
-$_SERVER['argv'][3] = dirname(__FILE__).'/765/Issue765Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.F
-
-Time: %s, Memory: %sMb
-
-There was 1 failure:
-
-1) Warning
-The data provider specified for Issue765Test::testDependent is invalid.
-
-FAILURES!
-Tests: 2, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
deleted file mode 100644
index 73ba414..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GH-797: Disabled $preserveGlobalState does not load bootstrap.php.
---FILE--
-<?php
-
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][] = '--process-isolation';
-$_SERVER['argv'][] = '--bootstrap';
-$_SERVER['argv'][] = __DIR__ . '/797/bootstrap797.php';
-$_SERVER['argv'][] = __DIR__ . '/797/Issue797Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt
deleted file mode 100644
index 711ccb2..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GH-873: PHPUnit suppresses exceptions thrown outside of test case function
---SKIPIF--
-<?php
-if (PHP_MAJOR_VERSION > 5) {
-    print "skip: PHP 5 is required";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue873Test';
-$_SERVER['argv'][3] = dirname(__FILE__) . '/873/Issue873Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-
-Fatal error: Uncaught Exception: PHPUnit suppresses exceptions thrown outside of test case function in %s:%i
-Stack trace:
-%a
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.orig b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.orig
deleted file mode 100644
index d1b4a15..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.orig
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-GH-873: PHPUnit suppresses exceptions thrown outside of test case function
---SKIPIF--
-<?php
-if (PHP_MAJOR_VERSION > 5) {
-    print "skip: PHP 5 is required";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'Issue873Test';
-$_SERVER['argv'][3] = dirname(__FILE__) . '/873/Issue873Test.php';
-
-require __DIR__ . '/../../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-
-Fatal error: Uncaught exception 'Exception' with message 'PHPUnit suppresses exceptions thrown outside of test case function' in %s:%i
-Stack trace:
-%a
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.rej b/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.rej
deleted file mode 100644
index a7fe751..0000000
--- a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873.phpt.rej
+++ /dev/null
@@ -1,19 +0,0 @@
-***************
-*** 1,5 ****
-  --TEST--
-  GH-873: PHPUnit suppresses exceptions thrown outside of test case function
-  --FILE--
-  <?php
-  $_SERVER['argv'][1] = '--no-configuration';
---- 1,11 ----
-  --TEST--
-  GH-873: PHPUnit suppresses exceptions thrown outside of test case function
-+ --SKIPIF--
-+ <?php
-+ if (PHP_MAJOR_VERSION < 7) {
-+     print "skip: PHP 7 is required";
-+ }
-+ ?>
-  --FILE--
-  <?php
-  $_SERVER['argv'][1] = '--no-configuration';
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
deleted file mode 100644
index 0beb8f2..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit --colors=always BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--colors=always';
-$_SERVER['argv'][3] = __DIR__.'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-%s[30;42mOK (3 tests, 3 assertions)%s[0m
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
deleted file mode 100644
index c0c5cb1..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-phpunit -c ../_files/configuration.custom-printer.xml --debug BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '-c';
-$_SERVER['argv'][2] = dirname(__FILE__).'/../_files/configuration.custom-printer.xml';
-$_SERVER['argv'][3] = '--debug';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
deleted file mode 100644
index cc7818f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
+++ /dev/null
@@ -1,32 +0,0 @@
---TEST--
-phpunit -c ../_files/configuration.custom-printer.xml --verbose IncompleteTest ../_files/IncompleteTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '-c';
-$_SERVER['argv'][2] = dirname(__FILE__).'/../_files/configuration.custom-printer.xml';
-$_SERVER['argv'][3] = '--verbose';
-$_SERVER['argv'][4] = 'IncompleteTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/IncompleteTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Runtime:	%s
-Configuration:	%sconfiguration.custom-printer.xml
-
-I
-
-Time: %s, Memory: %sMb
-
-There was 1 incomplete test:
-
-1) IncompleteTest::testIncomplete
-Test incomplete
-
-%s
-
-OK, but incomplete, skipped, or risky tests!
-Tests: 1, Assertions: 0, Incomplete: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
deleted file mode 100644
index c6cfe86..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
+++ /dev/null
@@ -1,34 +0,0 @@
---TEST--
-phpunit --debug DataProviderDebugTest ../_files/DataProviderDebugTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--debug';
-$_SERVER['argv'][3] = 'DataProviderDebugTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/DataProviderDebugTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'DataProviderDebugTest::testProvider with data set #0 (null, true, 1, 1.0)'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #1 (1.2, resource(%d) of type (stream), '1')'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #2 (array(array(1, 2, 3), array(3, 4, 5)))'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #3 ('this\nis\na\nvery\nvery\nvery\nvery...g\ntext')'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #4 (stdClass Object (), stdClass Object (...), array(), SplObjectStorage Object (...), stdClass Object (...))'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #5 (Binary String: 0x000102030405, Binary String: 0x0e0f101112131...c1d1e1f)'.
-.
-Starting test 'DataProviderDebugTest::testProvider with data set #6 (Binary String: 0x0009)'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (7 tests, 7 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
deleted file mode 100644
index 194961a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-phpunit --debug BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--debug';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
-.
-Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
-.
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
deleted file mode 100644
index c52156c..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --process-isolation BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt
deleted file mode 100644
index a5ccc38..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/default.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = 'BankAccountTest';
-$_SERVER['argv'][3] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
deleted file mode 100644
index eee3776..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--exclude-group';
-$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
deleted file mode 100644
index 4be3400..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--exclude-group';
-$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
deleted file mode 100644
index 3cf4119..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
deleted file mode 100644
index c5e2e60..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
deleted file mode 100644
index f3cf561..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'DataProviderFilterTest#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
deleted file mode 100644
index f19eb12..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'DataProviderFilterTest#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
deleted file mode 100644
index 9db7c7e..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testTrue#3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
deleted file mode 100644
index 16b7288..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testTrue#3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
deleted file mode 100644
index cefb087..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
deleted file mode 100644
index c96a89f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
deleted file mode 100644
index 192637a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '@false.*';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
deleted file mode 100644
index 0a546ae..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '@false.*';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
deleted file mode 100644
index 16f0332..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = '@false test';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
deleted file mode 100644
index 919fb82..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '@false test';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
deleted file mode 100644
index 846475a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testTrue#1-3';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
deleted file mode 100644
index ee8f629..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testTrue#1-3';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
deleted file mode 100644
index 1987e2c..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testFalse@false.*';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
deleted file mode 100644
index b4482c5..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testFalse@false.*';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-..
-
-Time: %s, Memory: %sMb
-
-OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
deleted file mode 100644
index 3bed821..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testFalse@false test';
-$_SERVER['argv'][5] = 'DataProviderFilterTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
deleted file mode 100644
index a823881..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testFalse@false test';
-$_SERVER['argv'][4] = 'DataProviderFilterTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/DataProviderFilterTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
deleted file mode 100644
index cb61922..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter /balanceIsInitiallyZero/i BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '/balanceIsInitiallyZero/i';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
deleted file mode 100644
index bf1a974..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = '/balanceIsInitiallyZero/';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-
-Time: %s, Memory: %sMb
-
-No tests executed!
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
deleted file mode 100644
index 4009065..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testBalanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
deleted file mode 100644
index c5cb650..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'testBalanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
deleted file mode 100644
index 8ead7b9..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --filter doesNotExist BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--filter';
-$_SERVER['argv'][3] = 'doesNotExist';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-
-
-Time: %s, Memory: %sMb
-
-No tests executed!
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
deleted file mode 100644
index 4e68d65..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
---TEST--
-phpunit --process-isolation --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--group';
-$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][5] = 'BankAccountTest';
-$_SERVER['argv'][6] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt
deleted file mode 100644
index f0c0735..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/group.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--group';
-$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
deleted file mode 100644
index 5b23a60..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit --list-groups BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--list-groups';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-Available test group(s):
- - balanceCannotBecomeNegative
- - balanceIsInitiallyZero
- - specification
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
deleted file mode 100644
index abdbb2f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (defined('JSON_PRETTY_PRINT')) {
-    print 'skip: PHP without JSON_PRETTY_PRINT is required';
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{"event":"suiteStart","suite":"BankAccountTest","tests":3}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2","status":"pass","time":%f,"trace":[],"message":"","output":""}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
deleted file mode 100644
index e9ab24d..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
+++ /dev/null
@@ -1,72 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (!defined('JSON_PRETTY_PRINT')) {
-    print "skip: JSON_PRETTY_PRINT is required";
-} else if (json_encode(array(), JSON_PRETTY_PRINT) != '[]') {
-    print "skip: Does not have PHP #66021 (Blank line inside empty JSON array/object)";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{
-    "event": "suiteStart",
-    "suite": "BankAccountTest",
-    "tests": 3
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
-    "status": "pass",
-    "time": %f,
-    "trace": [],
-    "message": "",
-    "output": ""
-}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
deleted file mode 100644
index 190c215..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
+++ /dev/null
@@ -1,78 +0,0 @@
---TEST--
-phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
---SKIPIF--
-<?php
-if (!defined('JSON_PRETTY_PRINT')) {
-    print "skip: JSON_PRETTY_PRINT is required";
-} else if (json_encode(array(), JSON_PRETTY_PRINT) == '[]') {
-    print "skip: Has PHP #66021 (Blank line inside empty JSON array/object)";
-}
-?>
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-json';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-{
-    "event": "suiteStart",
-    "suite": "BankAccountTest",
-    "tests": 3
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceIsInitiallyZero",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}{
-    "event": "testStart",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
-}.{
-    "event": "test",
-    "suite": "BankAccountTest",
-    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
-    "status": "pass",
-    "time": %f,
-    "trace": [
-
-    ],
-    "message": "",
-    "output": ""
-}
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
deleted file mode 100644
index 3babdb8..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
+++ /dev/null
@@ -1,26 +0,0 @@
---TEST--
-phpunit --log-tap php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-tap';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-TAP version 13
-.ok 1 - BankAccountTest::testBalanceIsInitiallyZero
-.ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
-.ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
-1..3
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
deleted file mode 100644
index ee84043..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
+++ /dev/null
@@ -1,29 +0,0 @@
---TEST--
-phpunit --log-junit php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--log-junit';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...<?xml version="1.0" encoding="UTF-8"?>
-<testsuites>
-  <testsuite name="BankAccountTest" file="%sBankAccountTest.php" tests="3" assertions="3" failures="0" errors="0" time="%f">
-    <testcase name="testBalanceIsInitiallyZero" class="BankAccountTest" file="%sBankAccountTest.php" line="30" assertions="1" time="%f"/>
-    <testcase name="testBalanceCannotBecomeNegative" class="BankAccountTest" file="%sBankAccountTest.php" line="40" assertions="1" time="%f"/>
-    <testcase name="testBalanceCannotBecomeNegative2" class="BankAccountTest" file="%sBankAccountTest.php" line="58" assertions="1" time="%f"/>
-  </testsuite>
-</testsuites>
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt
deleted file mode 100644
index 657ccb4..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit BankAccountTest ../_files/BankAccountTest.php --colors
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = __DIR__.'/../_files/BankAccountTest.php';
-$_SERVER['argv'][3] = '--colors=always';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-%s[30;42mOK (3 tests, 3 assertions)%s[0m
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
deleted file mode 100644
index 7783144..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --process-isolation --filter testExpectOutputStringFooActualFoo ../_files/OutputTestCase.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--process-isolation';
-$_SERVER['argv'][3] = '--filter';
-$_SERVER['argv'][4] = 'testExpectOutputStringFooActualFoo';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/OutputTestCase.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.
-
-Time: %s, Memory: %sMb
-
-OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
deleted file mode 100644
index a262f63..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --repeat 3 BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--repeat';
-$_SERVER['argv'][3] = '3';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.........
-
-Time: %s, Memory: %sMb
-
-OK (9 tests, 9 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
deleted file mode 100644
index 88d855f..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
---TEST--
-phpunit --tap BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--tap';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-TAP version 13
-ok 1 - BankAccountTest::testBalanceIsInitiallyZero
-ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
-ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
-1..3
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
deleted file mode 100644
index cf5d577..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --test-suffix .test.php,.my.php ../_files/
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--test-suffix';
-$_SERVER['argv'][3] = '.test.php,.my.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-.....
-
-Time: %s, Memory: %sMb
-
-OK (5 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
deleted file mode 100644
index 85f13be..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
+++ /dev/null
@@ -1,20 +0,0 @@
---TEST--
-phpunit --test-suffix .test.php ../_files/
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--test-suffix';
-$_SERVER['argv'][3] = '.test.php';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-...
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
deleted file mode 100644
index 5ecbb82..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-phpunit --testdox-html php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox-html';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-<html><body>
-<h2 id="BankAccountTest">BankAccount</h2><ul>...<li>Balance is initially zero</li><li>Balance cannot become negative</li></ul></body></html>
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
deleted file mode 100644
index 2c09d4e..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
+++ /dev/null
@@ -1,25 +0,0 @@
---TEST--
-phpunit --testdox-text php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox-text';
-$_SERVER['argv'][3] = 'php://stdout';
-$_SERVER['argv'][4] = 'BankAccountTest';
-$_SERVER['argv'][5] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-BankAccount
-... [x] Balance is initially zero
- [x] Balance cannot become negative
-
-
-
-Time: %s, Memory: %sMb
-
-OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt b/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
deleted file mode 100644
index 69fb23a..0000000
--- a/core/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
+++ /dev/null
@@ -1,19 +0,0 @@
---TEST--
-phpunit --testdox php://stdout BankAccountTest ../_files/BankAccountTest.php
---FILE--
-<?php
-$_SERVER['argv'][1] = '--no-configuration';
-$_SERVER['argv'][2] = '--testdox';
-$_SERVER['argv'][3] = 'BankAccountTest';
-$_SERVER['argv'][4] = dirname(__FILE__).'/../_files/BankAccountTest.php';
-
-require __DIR__ . '/../bootstrap.php';
-PHPUnit_TextUI_Command::main();
-?>
---EXPECTF--
-PHPUnit %s by Sebastian Bergmann and contributors.
-
-BankAccount
- [x] Balance is initially zero
- [x] Balance cannot become negative
-
diff --git a/core/vendor/symfony/console/Resources/bin/hiddeninput.exe b/core/vendor/symfony/console/Resources/bin/hiddeninput.exe
deleted file mode 100644
index 9f4a2aa..0000000
--- a/core/vendor/symfony/console/Resources/bin/hiddeninput.exe
+++ /dev/null
@@ -1,21 +0,0 @@
-MZ       ÿÿ  ¸       @                                   è   º ´	Í!¸LÍ!This program cannot be run in DOS mode.
-$       Æ,Í;§Bž;§Bž;§Bž2ß×ž:§Bž2ßÁž-§Bž2ßÆž9§Bž2ßÑž?§Bža9ž8§Bž;§Cž§Bž2ßÈž:§Bž2ßÖž:§Bž2ßÓž:§BžRich;§Bž        PE  L ¬MoO        à 	  
-         8           @                      `     ?œ   @                           "  P    @                      P  p   !                             8!  @               Ø                           .text   	      
-                    `.rdata  Î	       
-                 @  @.data      0                    @  À.rsrc       @                    @  @.reloc  Ì   P      "              @  B                                                                                                                                                                                                                                                                                                                                                        j$¸æ@ èx  jöÿ @ ƒeÐ ‹ðEÐPVÿ  @ ‹EÐƒàûPVÿ @ MÔÿX @ ƒeü EÔPÿ5H @ ÿL @ YYÿ5\ @ EÔPÿ5` @ ÿD @ YY‹ÈÿP @ ƒMüÿMÔÿT @ 3ÀèH  Ã; 0@ uóÃé¬  h€@ è£  ¡l3@ Ç$40@ ÿ5h3@ £40@ h$0@ h(0@ h 0@ ÿ  @ ƒÄ£00@ …À}jè¹  YÃjh"@ è  3Û‰]üd¡   ‹p‰]ä¿€3@ SVWÿ0 @ ;Ãt;Æu3öF‰uäëhè  ÿ4 @ ëÚ3öF¡|3@ ;Æu
-jè\  Yë;¡|3@ …Àu,‰5|3@ hð @ hä @ è§  YY…ÀtÇEüþÿÿÿ¸ÿ   éÝ   ‰5<0@ ¡|3@ ;Æuhà @ hØ @ èl  YYÇ|3@    9]äuSWÿ8 @ 9Œ3@ thŒ3@ èƒ  Y…Àt
-SjSÿŒ3@ ¡$0@ ‹¼ @ ‰ÿ5$0@ ÿ5(0@ ÿ5 0@ èþÿÿƒÄ£80@ 9,0@ u7PÿÀ @ ‹Eì‹‹	‰MàPQèŽ  YYÃ‹eè‹Eà£80@ 3Û9,0@ uPÿh @ 9<0@ uÿœ @ ÇEüþÿÿÿ¡80@ èû  Ã¸MZ  f9  @ t3ÀëM¡< @ €  @ 8PE  ué·Hù  tù  uÕƒ¸„   vÌ3É9ˆø   ëƒxtv¼3É9ˆè   •Á‹Áj£,0@ ÿp @ jÿÿl @ YY£„3@ £ˆ3@ ÿÌ @ ‹t3@ ‰ÿˆ @ ‹p3@ ‰¡¨ @ ‹ £x3@ èV  è¬  ƒ=0@  uhµ@ ÿ¬ @ Yèg  ƒ=0@ ÿu	jÿÿ° @ Y3ÀÃè{  éŸýÿÿ‹ÿU‹ìì(  £H1@ ‰D1@ ‰@1@ ‰<1@ ‰581@ ‰=41@ fŒ`1@ fŒT1@ fŒ01@ fŒ,1@ fŒ%(1@ fŒ-$1@ œX1@ ‹E £L1@ ‹E£P1@ E£\1@ ‹…àüÿÿÇ˜0@   ¡P1@ £L0@ Ç@0@ 	 ÀÇD0@    ¡ 0@ ‰…Øüÿÿ¡0@ ‰…Üüÿÿÿ @ £0@ jè?  Yj ÿ  @ h!@ ÿ$ @ ƒ=0@  ujè  Yh	 Àÿ( @ Pÿ, @ ÉÃ‹ÿU‹ì‹E‹ 8csmàu*ƒxu$‹@= “t=!“t="“t= @™uèÐ  3À]Â hH@ ÿ  @ 3ÀÃÿ%¤ @ jh("@ èb  ÿ5ˆ3@ ‹5Œ @ ÿÖY‰EäƒøÿuÿuÿÄ @ Yëgjè’  Yƒeü ÿ5ˆ3@ ÿÖ‰Eäÿ5„3@ ÿÖYY‰EàEàPEäPÿu‹5l @ ÿÖYPèU  ‰EÜÿuäÿÖ£ˆ3@ ÿuàÿÖƒÄ£„3@ ÇEüþÿÿÿè	   ‹EÜè  Ãjè  YÃ‹ÿU‹ìÿuèNÿÿÿ÷ØÀ÷ØYH]Ã‹ÿV¸ü!@ ¾ü!@ W‹ø;Æs‹…ÀtÿÐƒÇ;þrñ_^Ã‹ÿV¸"@ ¾"@ W‹ø;Æs‹…ÀtÿÐƒÇ;þrñ_^Ãÿ%È @ ÌÌÌÌ‹ÿU‹ì‹M¸MZ  f9t3À]Ã‹A<Á8PE  uï3Ò¹  f9H”Â‹Â]ÃÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ì‹E‹H<È·ASV·q3ÒWD…öv‹}‹H;ùr	‹XÙ;ûr
-BƒÀ(;Örè3À_^[]ÃÌÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ìjþhH"@ he@ d¡    PƒìSVW¡ 0@ 1Eø3ÅPEðd£    ‰eèÇEü    h  @ è*ÿÿÿƒÄ…ÀtU‹E-  @ Ph  @ èPÿÿÿƒÄ…Àt;‹@$Áè÷ÐƒàÇEüþÿÿÿ‹Mðd‰    Y_^[‹å]Ã‹Eì‹‹3Ò=  À”Â‹ÂÃ‹eèÇEüþÿÿÿ3À‹Mðd‰    Y_^[‹å]ÃÌÿ%¸ @ ÿ%´ @ ÌÌhe@ dÿ5    ‹D$‰l$l$+àSVW¡ 0@ 1Eü3ÅP‰eèÿuø‹EüÇEüþÿÿÿ‰EøEðd£    Ã‹Mðd‰    Y__^[‹å]QÃ‹ÿU‹ìÿuÿuÿuÿuh‡@ h 0@ èç   ƒÄ]Ã‹ÿVh   h   3öVèÙ   ƒÄ…ÀtVVVVVèÂ   ƒÄ^Ã3ÀÃ‹ÿU‹ìƒì¡ 0@ ƒeø ƒeü SW¿Næ@»»  ÿÿ;Çt…Ãt	÷Ð£0@ ë`VEøPÿ< @ ‹uü3uøÿ @ 3ðÿ @ 3ðÿ @ 3ðEðPÿ @ ‹Eô3Eð3ð;÷u¾Oæ@»ë…óu‹ÆÁàð‰5 0@ ÷Ö‰50@ ^_[ÉÃÿ%t @ ÿ%x @ ÿ%| @ ÿ%€ @ ÿ%„ @ ÿ% @ ÿ%” @ ÿ%˜ @ ÿ%Ð @ Pdÿ5    D$+d$SVW‰(‹è¡ 0@ 3ÅP‰EðÿuüÇEüÿÿÿÿEôd£    Ã‹Môd‰    Y__^[‹å]QÃ‹Mð3Íè¯÷ÿÿéÝÿÿÿMÔÿ%T @ ‹T$B‹JÌ3Èè÷ÿÿ‹Jü3Èè†÷ÿÿ¸l"@ ésÿÿÿ                                                                                                                                                                                                                                                     ¸#  Ê#  Ü#  ˆ)  r)  b)  H)  4)  )  ú(  æ(  Ò(  ´(  ¬(  –(  ž)      ú#  à$  %  Ê%  &  d&  ®&  ¤$      ('  Ä'  Ö'  è'  þ'  (  ((  6(  ¦'  H(  Z(  t(  †(  '  '   '  –'  ‚'  l'  ^'  R'  F'  >'  >(  0'  ¶'  ¸)          –@         W@ Š@                     ¬MoO       l   €!  €  @0@ ˜0@ bad allocation      H                                                            0@ ð!@    RSDSÑŒ³´J¨!öÌëLZ    c:\users\seld\documents\visual studio 2010\Projects\hiddeninp\Release\hiddeninp.pdb     e  æ                  þÿÿÿ    Ðÿÿÿ    þÿÿÿ@ @     þÿÿÿ    Ìÿÿÿ    þÿÿÿ    :@     þÿÿÿ    Øÿÿÿ    þÿÿÿË@ ß@ ÿÿÿÿÝ@ "“   d"@                        à"          ì#      $#          ô&  D   H#          (  h                       ¸#  Ê#  Ü#  ˆ)  r)  b)  H)  4)  )  ú(  æ(  Ò(  ´(  ¬(  –(  ž)      ú#  à$  %  Ê%  &  d&  ®&  ¤$      ('  Ä'  Ö'  è'  þ'  (  ((  6(  ¦'  H(  Z(  t(  †(  '  '   '  –'  ‚'  l'  ^'  R'  F'  >'  >(  0'  ¶'  ¸)      •GetConsoleMode  ·SetConsoleMode  ;GetStdHandle  KERNEL32.dll   ??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ‘?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A  J?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A Â ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z  _??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ  {??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ  ³?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z  MSVCP90.dll _amsg_exit  Ÿ __getmainargs ,_cexit  |_exit f _XcptFilter Ìexit    __initenv _initterm _initterm_e <_configthreadlocale ã __setusermatherr  _adjust_fdiv  Ë __p__commode  Ï __p__fmode  j_encode_pointer à __set_app_type  K_crt_debugger_hook  C ?terminate@@YAXXZ MSVCR90.dll æ_unlock – __dllonexit v_lock _onexit `_decode_pointer s_except_handler4_common _invoke_watson  ?_controlfp_s  ½InterlockedExchange !Sleep ºInterlockedCompareExchange  -TerminateProcess  ©GetCurrentProcess >UnhandledExceptionFilter  SetUnhandledExceptionFilter ÑIsDebuggerPresent TQueryPerformanceCounter fGetTickCount  ­GetCurrentThreadId  ªGetCurrentProcessId OGetSystemTimeAsFileTime s __CxxFrameHandler3                                                    Næ@»±¿Dÿÿÿÿÿÿÿÿþÿÿÿ   $!@                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         €   8  €                 P  €                 h  €              	  €                 	      @  (  ä      ÈC  V  ä      (4   V S _ V E R S I O N _ I N F O     ½ïþ                                          †   S t r i n g F i l e I n f o   b   0 4 0 9 0 4 b 0   Ê Q  F i l e D e s c r i p t i o n     R e a d s   f r o m   s t d i n   w i t h o u t   l e a k i n g   i n f o   t o   t h e   t e r m i n a l   a n d   o u t p u t s   b a c k   t o   s t d o u t     6   F i l e V e r s i o n     1 ,   0 ,   0 ,   0     8   I n t e r n a l N a m e   h i d d e n i n p u t   P   L e g a l C o p y r i g h t   J o r d i   B o g g i a n o   -   2 0 1 2   H   O r i g i n a l F i l e n a m e   h i d d e n i n p u t . e x e   :   P r o d u c t N a m e     H i d d e n   I n p u t     :   P r o d u c t V e r s i o n   1 ,   0 ,   0 ,   0     D    V a r F i l e I n f o     $    T r a n s l a t i o n     	°<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
-  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
-    <security>
-      <requestedPrivileges>
-        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
-      </requestedPrivileges>
-    </security>
-  </trustInfo>
-  <dependency>
-    <dependentAssembly>
-      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
-    </dependentAssembly>
-  </dependency>
-</assembly>PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING   @  00!0/080F0L0T0^0d0n0{0‰0—0¡0¨0®0³0¸0½0Â0È0Ð0ä0ÿ01#1-1@1J1O1T1v1{1„1‰1–1§1­1´1È1Í1Ó1Û1á1ç1ô1ú12"2*23292A2M2_2j2p2¹2¿2Ç2Î2Ó2Ù2ß2ç2í2ô2û2333%303N3T3Z3`3f3l3s3z33ˆ33–33¥3­3µ3Á3Ê3Ï3Õ3ß3è3ó3ÿ34444%4;4B4‹4‘4š4¡4¬4²4Æ4Û4æ4þ45!5^5c5„5‰5¨5H6M6_6}6‘6—6 777*7w7|7Á7ä7ñ7ý7888=8E8P8V8\8b8h8n8t8z8€8œ8â89      $   Ü0è0ì01 1t1x12 2@2\2`2h2t2 0     0                                                                                                                                                  
\ No newline at end of file
diff --git a/core/vendor/twig/twig/CHANGELOG b/core/vendor/twig/twig/CHANGELOG
deleted file mode 100644
index 7e33437..0000000
--- a/core/vendor/twig/twig/CHANGELOG
+++ /dev/null
@@ -1,786 +0,0 @@
-* 1.22.1 (2015-09-15)
-
- * fixed regression in template_from_string
-
-* 1.22.0 (2015-09-13)
-
- * made Twig_Test_IntegrationTestCase more flexible
- * added an option to force PHP bytecode invalidation when writing a compiled template into the cache
- * fixed the profiler duration for the root node
- * changed template cache names to take into account enabled extensions
- * deprecated Twig_Environment::clearCacheFiles(), Twig_Environment::getCacheFilename(),
-   Twig_Environment::writeCacheFile(), and Twig_Environment::getTemplateClassPrefix()
- * added a way to override the filesystem template cache system
- * added a way to get the original template source from Twig_Template
-
-* 1.21.2 (2015-09-09)
-
- * fixed variable names for the deprecation triggering code
- * fixed escaping strategy detection based on filename
- * added Traversable support for replace, merge, and sort
- * deprecated support for character by character replacement for the "replace" filter
-
-* 1.21.1 (2015-08-26)
-
- * fixed regression when using the deprecated Twig_Test_* classes
-
-* 1.21.0 (2015-08-24)
-
- * added deprecation notices for deprecated features
- * added a deprecation "framework" for filters/functions/tests and test fixtures
-
-* 1.20.0 (2015-08-12)
-
- * forbid access to the Twig environment from templates and internal parts of Twig_Template
- * fixed limited RCEs when in sandbox mode
- * deprecated Twig_Template::getEnvironment()
- * deprecated the _self variable for usage outside of the from and import tags
- * added Twig_BaseNodeVisitor to ease the compatibility of node visitors 
-   between 1.x and 2.x
-
-* 1.19.0 (2015-07-31)
-
- * fixed wrong error message when including an undefined template in a child template
- * added support for variadic filters, functions, and tests
- * added support for extra positional arguments in macros
- * added ignore_missing flag to the source function
- * fixed batch filter with zero items
- * deprecated Twig_Environment::clearTemplateCache()
- * fixed sandbox disabling when using the include function
-
-* 1.18.2 (2015-06-06)
-
- * fixed template/line guessing in exceptions for nested templates
- * optimized the number of inodes and the size of realpath cache when using the cache
-
-* 1.18.1 (2015-04-19)
-
- * fixed memory leaks in the C extension
- * deprecated Twig_Loader_String
- * fixed the slice filter when used with a SimpleXMLElement object
- * fixed filesystem loader when trying to load non-files (like directories)
-
-* 1.18.0 (2015-01-25)
-
- * fixed some error messages where the line was wrong (unknown variables or argument names)
- * added a new way to customize the main Module node (via empty nodes)
- * added Twig_Environment::createTemplate() to create a template from a string
- * added a profiler
- * fixed filesystem loader cache when different file paths are used for the same template
-
-* 1.17.0 (2015-01-14)
-
- * added a 'filename' autoescaping strategy, which dynamically chooses the
-   autoescaping strategy for a template based on template file extension.
-
-* 1.16.3 (2014-12-25)
-
- * fixed regression for dynamic parent templates
- * fixed cache management with statcache
- * fixed a regression in the slice filter
-
-* 1.16.2 (2014-10-17)
-
- * fixed timezone on dates as strings
- * fixed 2-words test names when a custom node class is not used
- * fixed macros when using an argument named like a PHP super global (like GET or POST)
- * fixed date_modify when working with DateTimeImmutable
- * optimized for loops
- * fixed multi-byte characters handling in the split filter
- * fixed a regression in the in operator
- * fixed a regression in the slice filter
-
-* 1.16.1 (2014-10-10)
-
- * improved error reporting in a sandboxed template
- * fixed missing error file/line information under certain circumstances
- * fixed wrong error line number in some error messages
- * fixed the in operator to use strict comparisons
- * sped up the slice filter
- * fixed for mb function overload mb_substr acting different
- * fixed the attribute() function when passing a variable for the arguments
-
-* 1.16.0 (2014-07-05)
-
- * changed url_encode to always encode according to RFC 3986
- * fixed inheritance in a 'use'-hierarchy
- * removed the __toString policy check when the sandbox is disabled
- * fixed recursively calling blocks in templates with inheritance
-
-* 1.15.1 (2014-02-13)
-
- * fixed the conversion of the special '0000-00-00 00:00' date
- * added an error message when trying to import an undefined block from a trait
- * fixed a C extension crash when accessing defined but uninitialized property.
-
-* 1.15.0 (2013-12-06)
-
- * made ignoreStrictCheck in Template::getAttribute() works with __call() methods throwing BadMethodCallException
- * added min and max functions
- * added the round filter
- * fixed a bug that prevented the optimizers to be enabled/disabled selectively
- * fixed first and last filters for UTF-8 strings
- * added a source function to include the content of a template without rendering it
- * fixed the C extension sandbox behavior when get or set is prepend to method name
-
-* 1.14.2 (2013-10-30)
-
- * fixed error filename/line when an error occurs in an included file
- * allowed operators that contain whitespaces to have more than one whitespace
- * allowed tests to be made of 1 or 2 words (like "same as" or "divisible by")
-
-* 1.14.1 (2013-10-15)
-
- * made it possible to use named operators as variables
- * fixed the possibility to have a variable named 'matches'
- * added support for PHP 5.5 DateTimeInterface
-
-* 1.14.0 (2013-10-03)
-
- * fixed usage of the html_attr escaping strategy to avoid double-escaping with the html strategy
- * added new operators: ends with, starts with, and matches
- * fixed some compatibility issues with HHVM
- * added a way to add custom escaping strategies
- * fixed the C extension compilation on Windows
- * fixed the batch filter when using a fill argument with an exact match of elements to batch
- * fixed the filesystem loader cache when a template name exists in several namespaces
- * fixed template_from_string when the template includes or extends other ones
- * fixed a crash of the C extension on an edge case
-
-* 1.13.2 (2013-08-03)
-
- * fixed the error line number for an error occurs in and embedded template
- * fixed crashes of the C extension on some edge cases
-
-* 1.13.1 (2013-06-06)
-
- * added the possibility to ignore the filesystem constructor argument in Twig_Loader_Filesystem
- * fixed Twig_Loader_Chain::exists() for a loader which implements Twig_ExistsLoaderInterface
- * adjusted backtrace call to reduce memory usage when an error occurs
- * added support for object instances as the second argument of the constant test
- * fixed the include function when used in an assignment
-
-* 1.13.0 (2013-05-10)
-
- * fixed getting a numeric-like item on a variable ('09' for instance)
- * fixed getting a boolean or float key on an array, so it is consistent with PHP's array access:
-   `{{ array[false] }}` behaves the same as `echo $array[false];` (equals `$array[0]`)
- * made the escape filter 20% faster for happy path (escaping string for html with UTF-8)
- * changed â˜ƒ to Â§ in tests
- * enforced usage of named arguments after positional ones
-
-* 1.12.3 (2013-04-08)
-
- * fixed a security issue in the filesystem loader where it was possible to include a template one
-   level above the configured path
- * fixed fatal error that should be an exception when adding a filter/function/test too late
- * added a batch filter
- * added support for encoding an array as query string in the url_encode filter
-
-* 1.12.2 (2013-02-09)
-
- * fixed the timezone used by the date filter and function when the given date contains a timezone (like 2010-01-28T15:00:00+02:00)
- * fixed globals when getGlobals is called early on
- * added the first and last filter
-
-* 1.12.1 (2013-01-15)
-
- * added support for object instances as the second argument of the constant function
- * relaxed globals management to avoid a BC break
- * added support for {{ some_string[:2] }}
-
-* 1.12.0 (2013-01-08)
-
- * added verbatim as an alias for the raw tag to avoid confusion with the raw filter
- * fixed registration of tests and functions as anonymous functions
- * fixed globals management
-
-* 1.12.0-RC1 (2012-12-29)
-
- * added an include function (does the same as the include tag but in a more flexible way)
- * added the ability to use any PHP callable to define filters, functions, and tests
- * added a syntax error when using a loop variable that is not defined
- * added the ability to set default values for macro arguments
- * added support for named arguments for filters, tests, and functions
- * moved filters/functions/tests syntax errors to the parser
- * added support for extended ternary operator syntaxes
-
-* 1.11.1 (2012-11-11)
-
- * fixed debug info line numbering (was off by 2)
- * fixed escaping when calling a macro inside another one (regression introduced in 1.9.1)
- * optimized variable access on PHP 5.4
- * fixed a crash of the C extension when an exception was thrown from a macro called without being imported (using _self.XXX)
-
-* 1.11.0 (2012-11-07)
-
- * fixed macro compilation when a variable name is a PHP reserved keyword
- * changed the date filter behavior to always apply the default timezone, except if false is passed as the timezone
- * fixed bitwise operator precedences
- * added the template_from_string function
- * fixed default timezone usage for the date function
- * optimized the way Twig exceptions are managed (to make them faster)
- * added Twig_ExistsLoaderInterface (implementing this interface in your loader make the chain loader much faster)
-
-* 1.10.3 (2012-10-19)
-
- * fixed wrong template location in some error messages
- * reverted a BC break introduced in 1.10.2
- * added a split filter
-
-* 1.10.2 (2012-10-15)
-
- * fixed macro calls on PHP 5.4
-
-* 1.10.1 (2012-10-15)
-
- * made a speed optimization to macro calls when imported via the "import" tag
- * fixed C extension compilation on Windows
- * fixed a segfault in the C extension when using DateTime objects
-
-* 1.10.0 (2012-09-28)
-
- * extracted functional tests framework to make it reusable for third-party extensions
- * added namespaced templates support in Twig_Loader_Filesystem
- * added Twig_Loader_Filesystem::prependPath()
- * fixed an error when a token parser pass a closure as a test to the subparse() method
-
-* 1.9.2 (2012-08-25)
-
- * fixed the in operator for objects that contain circular references
- * fixed the C extension when accessing a public property of an object implementing the \ArrayAccess interface
-
-* 1.9.1 (2012-07-22)
-
- * optimized macro calls when auto-escaping is on
- * fixed wrong parent class for Twig_Function_Node
- * made Twig_Loader_Chain more explicit about problems
-
-* 1.9.0 (2012-07-13)
-
- * made the parsing independent of the template loaders
- * fixed exception trace when an error occurs when rendering a child template
- * added escaping strategies for CSS, URL, and HTML attributes
- * fixed nested embed tag calls
- * added the date_modify filter
-
-* 1.8.3 (2012-06-17)
-
- * fixed paths in the filesystem loader when passing a path that ends with a slash or a backslash
- * fixed escaping when a project defines a function named html or js
- * fixed chmod mode to apply the umask correctly
-
-* 1.8.2 (2012-05-30)
-
- * added the abs filter
- * fixed a regression when using a number in template attributes
- * fixed compiler when mbstring.func_overload is set to 2
- * fixed DateTimeZone support in date filter
-
-* 1.8.1 (2012-05-17)
-
- * fixed a regression when dealing with SimpleXMLElement instances in templates
- * fixed "is_safe" value for the "dump" function when "html_errors" is not defined in php.ini
- * switched to use mbstring whenever possible instead of iconv (you might need to update your encoding as mbstring and iconv encoding names sometimes differ)
-
-* 1.8.0 (2012-05-08)
-
- * enforced interface when adding tests, filters, functions, and node visitors from extensions
- * fixed a side-effect of the date filter where the timezone might be changed
- * simplified usage of the autoescape tag; the only (optional) argument is now the escaping strategy or false (with a BC layer)
- * added a way to dynamically change the auto-escaping strategy according to the template "filename"
- * changed the autoescape option to also accept a supported escaping strategy (for BC, true is equivalent to html)
- * added an embed tag
-
-* 1.7.0 (2012-04-24)
-
- * fixed a PHP warning when using CIFS
- * fixed template line number in some exceptions
- * added an iterable test
- * added an error when defining two blocks with the same name in a template
- * added the preserves_safety option for filters
- * fixed a PHP notice when trying to access a key on a non-object/array variable
- * enhanced error reporting when the template file is an instance of SplFileInfo
- * added Twig_Environment::mergeGlobals()
- * added compilation checks to avoid misuses of the sandbox tag
- * fixed filesystem loader freshness logic for high traffic websites
- * fixed random function when charset is null
-
-* 1.6.5 (2012-04-11)
-
- * fixed a regression when a template only extends another one without defining any blocks
-
-* 1.6.4 (2012-04-02)
-
- * fixed PHP notice in Twig_Error::guessTemplateLine() introduced in 1.6.3
- * fixed performance when compiling large files
- * optimized parent template creation when the template does not use dynamic inheritance
-
-* 1.6.3 (2012-03-22)
-
- * fixed usage of Z_ADDREF_P for PHP 5.2 in the C extension
- * fixed compilation of numeric values used in templates when using a locale where the decimal separator is not a dot
- * made the strategy used to guess the real template file name and line number in exception messages much faster and more accurate
-
-* 1.6.2 (2012-03-18)
-
- * fixed sandbox mode when used with inheritance
- * added preserveKeys support for the slice filter
- * fixed the date filter when a DateTime instance is passed with a specific timezone
- * added a trim filter
-
-* 1.6.1 (2012-02-29)
-
- * fixed Twig C extension
- * removed the creation of Twig_Markup instances when not needed
- * added a way to set the default global timezone for dates
- * fixed the slice filter on strings when the length is not specified
- * fixed the creation of the cache directory in case of a race condition
-
-* 1.6.0 (2012-02-04)
-
- * fixed raw blocks when used with the whitespace trim option
- * made a speed optimization to macro calls when imported via the "from" tag
- * fixed globals, parsers, visitors, filters, tests, and functions management in Twig_Environment when a new one or new extension is added
- * fixed the attribute function when passing arguments
- * added slice notation support for the [] operator (syntactic sugar for the slice operator)
- * added a slice filter
- * added string support for the reverse filter
- * fixed the empty test and the length filter for Twig_Markup instances
- * added a date function to ease date comparison
- * fixed unary operators precedence
- * added recursive parsing support in the parser
- * added string and integer handling for the random function
-
-* 1.5.1 (2012-01-05)
-
- * fixed a regression when parsing strings
-
-* 1.5.0 (2012-01-04)
-
- * added Traversable objects support for the join filter
-
-* 1.5.0-RC2 (2011-12-30)
-
- * added a way to set the default global date interval format
- * fixed the date filter for DateInterval instances (setTimezone() does not exist for them)
- * refactored Twig_Template::display() to ease its extension
- * added a number_format filter
-
-* 1.5.0-RC1 (2011-12-26)
-
- * removed the need to quote hash keys
- * allowed hash keys to be any expression
- * added a do tag
- * added a flush tag
- * added support for dynamically named filters and functions
- * added a dump function to help debugging templates
- * added a nl2br filter
- * added a random function
- * added a way to change the default format for the date filter
- * fixed the lexer when an operator ending with a letter ends a line
- * added string interpolation support
- * enhanced exceptions for unknown filters, functions, tests, and tags
-
-* 1.4.0 (2011-12-07)
-
- * fixed lexer when using big numbers (> PHP_INT_MAX)
- * added missing preserveKeys argument to the reverse filter
- * fixed macros containing filter tag calls
-
-* 1.4.0-RC2 (2011-11-27)
-
- * removed usage of Reflection in Twig_Template::getAttribute()
- * added a C extension that can optionally replace Twig_Template::getAttribute()
- * added negative timestamp support to the date filter
-
-* 1.4.0-RC1 (2011-11-20)
-
- * optimized variable access when using PHP 5.4
- * changed the precedence of the .. operator to be more consistent with languages that implements such a feature like Ruby
- * added an Exception to Twig_Loader_Array::isFresh() method when the template does not exist to be consistent with other loaders
- * added Twig_Function_Node to allow more complex functions to have their own Node class
- * added Twig_Filter_Node to allow more complex filters to have their own Node class
- * added Twig_Test_Node to allow more complex tests to have their own Node class
- * added a better error message when a template is empty but contain a BOM
- * fixed "in" operator for empty strings
- * fixed the "defined" test and the "default" filter (now works with more than one call (foo.bar.foo) and for both values of the strict_variables option)
- * changed the way extensions are loaded (addFilter/addFunction/addGlobal/addTest/addNodeVisitor/addTokenParser/addExtension can now be called in any order)
- * added Twig_Environment::display()
- * made the escape filter smarter when the encoding is not supported by PHP
- * added a convert_encoding filter
- * moved all node manipulations outside the compile() Node method
- * made several speed optimizations
-
-* 1.3.0 (2011-10-08)
-
-no changes
-
-* 1.3.0-RC1 (2011-10-04)
-
- * added an optimization for the parent() function
- * added cache reloading when auto_reload is true and an extension has been modified
- * added the possibility to force the escaping of a string already marked as safe (instance of Twig_Markup)
- * allowed empty templates to be used as traits
- * added traits support for the "parent" function
-
-* 1.2.0 (2011-09-13)
-
-no changes
-
-* 1.2.0-RC1 (2011-09-10)
-
- * enhanced the exception when a tag remains unclosed
- * added support for empty Countable objects for the "empty" test
- * fixed algorithm that determines if a template using inheritance is valid (no output between block definitions)
- * added better support for encoding problems when escaping a string (available as of PHP 5.4)
- * added a way to ignore a missing template when using the "include" tag ({% include "foo" ignore missing %})
- * added support for an array of templates to the "include" and "extends" tags ({% include ['foo', 'bar'] %})
- * added support for bitwise operators in expressions
- * added the "attribute" function to allow getting dynamic attributes on variables
- * added Twig_Loader_Chain
- * added Twig_Loader_Array::setTemplate()
- * added an optimization for the set tag when used to capture a large chunk of static text
- * changed name regex to match PHP one "[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" (works for blocks, tags, functions, filters, and macros)
- * removed the possibility to use the "extends" tag from a block
- * added "if" modifier support to "for" loops
-
-* 1.1.2 (2011-07-30)
-
- * fixed json_encode filter on PHP 5.2
- * fixed regression introduced in 1.1.1 ({{ block(foo|lower) }})
- * fixed inheritance when using conditional parents
- * fixed compilation of templates when the body of a child template is not empty
- * fixed output when a macro throws an exception
- * fixed a parsing problem when a large chunk of text is enclosed in a comment tag
- * added PHPDoc for all Token parsers and Core extension functions
-
-* 1.1.1 (2011-07-17)
-
- * added a performance optimization in the Optimizer (also helps to lower the number of nested level calls)
- * made some performance improvement for some edge cases
-
-* 1.1.0 (2011-06-28)
-
- * fixed json_encode filter
-
-* 1.1.0-RC3 (2011-06-24)
-
- * fixed method case-sensitivity when using the sandbox mode
- * added timezone support for the date filter
- * fixed possible security problems with NUL bytes
-
-* 1.1.0-RC2 (2011-06-16)
-
- * added an exception when the template passed to "use" is not a string
- * made 'a.b is defined' not throw an exception if a is not defined (in strict mode)
- * added {% line \d+ %} directive
-
-* 1.1.0-RC1 (2011-05-28)
-
-Flush your cache after upgrading.
-
- * fixed date filter when using a timestamp
- * fixed the defined test for some cases
- * fixed a parsing problem when a large chunk of text is enclosed in a raw tag
- * added support for horizontal reuse of template blocks (see docs for more information)
- * added whitespace control modifier to all tags (see docs for more information)
- * added null as an alias for none (the null test is also an alias for the none test now)
- * made TRUE, FALSE, NONE equivalent to their lowercase counterparts
- * wrapped all compilation and runtime exceptions with Twig_Error_Runtime and added logic to guess the template name and line
- * moved display() method to Twig_Template (generated templates should now use doDisplay() instead)
-
-* 1.0.0 (2011-03-27)
-
- * fixed output when using mbstring
- * fixed duplicate call of methods when using the sandbox
- * made the charset configurable for the escape filter
-
-* 1.0.0-RC2 (2011-02-21)
-
- * changed the way {% set %} works when capturing (the content is now marked as safe)
- * added support for macro name in the endmacro tag
- * make Twig_Error compatible with PHP 5.3.0 >
- * fixed an infinite loop on some Windows configurations
- * fixed the "length" filter for numbers
- * fixed Template::getAttribute() as properties in PHP are case sensitive
- * removed coupling between Twig_Node and Twig_Template
- * fixed the ternary operator precedence rule
-
-* 1.0.0-RC1 (2011-01-09)
-
-Backward incompatibilities:
-
- * the "items" filter, which has been deprecated for quite a long time now, has been removed
- * the "range" filter has been converted to a function: 0|range(10) -> range(0, 10)
- * the "constant" filter has been converted to a function: {{ some_date|date('DATE_W3C'|constant) }} -> {{ some_date|date(constant('DATE_W3C')) }}
- * the "cycle" filter has been converted to a function: {{ ['odd', 'even']|cycle(i) }} -> {{ cycle(['odd', 'even'], i) }}
- * the "for" tag does not support "joined by" anymore
- * the "autoescape" first argument is now "true"/"false" (instead of "on"/"off")
- * the "parent" tag has been replaced by a "parent" function ({{ parent() }} instead of {% parent %})
- * the "display" tag has been replaced by a "block" function ({{ block('title') }} instead of {% display title %})
- * removed the grammar and simple token parser (moved to the Twig Extensions repository)
-
-Changes:
-
- * added "needs_context" option for filters and functions (the context is then passed as a first argument)
- * added global variables support
- * made macros return their value instead of echoing directly (fixes calling a macro in sandbox mode)
- * added the "from" tag to import macros as functions
- * added support for functions (a function is just syntactic sugar for a getAttribute() call)
- * made macros callable when sandbox mode is enabled
- * added an exception when a macro uses a reserved name
- * the "default" filter now uses the "empty" test instead of just checking for null
- * added the "empty" test
-
-* 0.9.10 (2010-12-16)
-
-Backward incompatibilities:
-
- * The Escaper extension is enabled by default, which means that all displayed
-   variables are now automatically escaped. You can revert to the previous
-   behavior by removing the extension via $env->removeExtension('escaper')
-   or just set the 'autoescape' option to 'false'.
- * removed the "without loop" attribute for the "for" tag (not needed anymore
-   as the Optimizer take care of that for most cases)
- * arrays and hashes have now a different syntax
-     * arrays keep the same syntax with square brackets: [1, 2]
-     * hashes now use curly braces (["a": "b"] should now be written as {"a": "b"})
-     * support for "arrays with keys" and "hashes without keys" is not supported anymore ([1, "foo": "bar"] or {"foo": "bar", 1})
- * the i18n extension is now part of the Twig Extensions repository
-
-Changes:
-
- * added the merge filter
- * removed 'is_escaper' option for filters (a left over from the previous version) -- you must use 'is_safe' now instead
- * fixed usage of operators as method names (like is, in, and not)
- * changed the order of execution for node visitors
- * fixed default() filter behavior when used with strict_variables set to on
- * fixed filesystem loader compatibility with PHAR files
- * enhanced error messages when an unexpected token is parsed in an expression
- * fixed filename not being added to syntax error messages
- * added the autoescape option to enable/disable autoescaping
- * removed the newline after a comment (mimics PHP behavior)
- * added a syntax error exception when parent block is used on a template that does not extend another one
- * made the Escaper extension enabled by default
- * fixed sandbox extension when used with auto output escaping
- * fixed escaper when wrapping a Twig_Node_Print (the original class must be preserved)
- * added an Optimizer extension (enabled by default; optimizes "for" loops and "raw" filters)
- * added priority to node visitors
-
-* 0.9.9 (2010-11-28)
-
-Backward incompatibilities:
- * the self special variable has been renamed to _self
- * the odd and even filters are now tests:
-     {{ foo|odd }} must now be written {{ foo is odd }}
- * the "safe" filter has been renamed to "raw"
- * in Node classes,
-        sub-nodes are now accessed via getNode() (instead of property access)
-        attributes via getAttribute() (instead of array access)
- * the urlencode filter had been renamed to url_encode
- * the include tag now merges the passed variables with the current context by default
-   (the old behavior is still possible by adding the "only" keyword)
- * moved Exceptions to Twig_Error_* (Twig_SyntaxError/Twig_RuntimeError are now Twig_Error_Syntax/Twig_Error_Runtime)
- * removed support for {{ 1 < i < 3 }} (use {{ i > 1 and i < 3 }} instead)
- * the "in" filter has been removed ({{ a|in(b) }} should now be written {{ a in b }})
-
-Changes:
- * added file and line to Twig_Error_Runtime exceptions thrown from Twig_Template
- * changed trans tag to accept any variable for the plural count
- * fixed sandbox mode (__toString() method check was not enforced if called implicitly from complex statements)
- * added the ** (power) operator
- * changed the algorithm used for parsing expressions
- * added the spaceless tag
- * removed trim_blocks option
- * added support for is*() methods for attributes (foo.bar now looks for foo->getBar() or foo->isBar())
- * changed all exceptions to extend Twig_Error
- * fixed unary expressions ({{ not(1 or 0) }})
- * fixed child templates (with an extend tag) that uses one or more imports
- * added support for {{ 1 not in [2, 3] }} (more readable than the current {{ not (1 in [2, 3]) }})
- * escaping has been rewritten
- * the implementation of template inheritance has been rewritten
-   (blocks can now be called individually and still work with inheritance)
- * fixed error handling for if tag when a syntax error occurs within a subparse process
- * added a way to implement custom logic for resolving token parsers given a tag name
- * fixed js escaper to be stricter (now uses a whilelist-based js escaper)
- * added the following filers: "constant", "trans", "replace", "json_encode"
- * added a "constant" test
- * fixed objects with __toString() not being autoescaped
- * fixed subscript expressions when calling __call() (methods now keep the case)
- * added "test" feature (accessible via the "is" operator)
- * removed the debug tag (should be done in an extension)
- * fixed trans tag when no vars are used in plural form
- * fixed race condition when writing template cache
- * added the special _charset variable to reference the current charset
- * added the special _context variable to reference the current context
- * renamed self to _self (to avoid conflict)
- * fixed Twig_Template::getAttribute() for protected properties
-
-* 0.9.8 (2010-06-28)
-
-Backward incompatibilities:
- * the trans tag plural count is now attached to the plural tag:
-    old: `{% trans count %}...{% plural %}...{% endtrans %}`
-    new: `{% trans %}...{% plural count %}...{% endtrans %}`
-
- * added a way to translate strings coming from a variable ({% trans var %})
- * fixed trans tag when used with the Escaper extension
- * fixed default cache umask
- * removed Twig_Template instances from the debug tag output
- * fixed objects with __isset() defined
- * fixed set tag when used with a capture
- * fixed type hinting for Twig_Environment::addFilter() method
-
-* 0.9.7 (2010-06-12)
-
-Backward incompatibilities:
- * changed 'as' to '=' for the set tag ({% set title as "Title" %} must now be {% set title = "Title" %})
- * removed the sandboxed attribute of the include tag (use the new sandbox tag instead)
- * refactored the Node system (if you have custom nodes, you will have to update them to use the new API)
-
- * added self as a special variable that refers to the current template (useful for importing macros from the current template)
- * added Twig_Template instance support to the include tag
- * added support for dynamic and conditional inheritance ({% extends some_var %} and {% extends standalone ? "minimum" : "base" %})
- * added a grammar sub-framework to ease the creation of custom tags
- * fixed the for tag for large arrays (some loop variables are now only available for arrays and objects that implement the Countable interface)
- * removed the Twig_Resource::resolveMissingFilter() method
- * fixed the filter tag which did not apply filtering to included files
- * added a bunch of unit tests
- * added a bunch of phpdoc
- * added a sandbox tag in the sandbox extension
- * changed the date filter to support any date format supported by DateTime
- * added strict_variable setting to throw an exception when an invalid variable is used in a template (disabled by default)
- * added the lexer, parser, and compiler as arguments to the Twig_Environment constructor
- * changed the cache option to only accepts an explicit path to a cache directory or false
- * added a way to add token parsers, filters, and visitors without creating an extension
- * added three interfaces: Twig_NodeInterface, Twig_TokenParserInterface, and Twig_FilterInterface
- * changed the generated code to match the new coding standards
- * fixed sandbox mode (__toString() method check was not enforced if called implicitly from a simple statement like {{ article }})
- * added an exception when a child template has a non-empty body (as it is always ignored when rendering)
-
-* 0.9.6 (2010-05-12)
-
- * fixed variables defined outside a loop and for which the value changes in a for loop
- * fixed the test suite for PHP 5.2 and older versions of PHPUnit
- * added support for __call() in expression resolution
- * fixed node visiting for macros (macros are now visited by visitors as any other node)
- * fixed nested block definitions with a parent call (rarely useful but nonetheless supported now)
- * added the cycle filter
- * fixed the Lexer when mbstring.func_overload is used with an mbstring.internal_encoding different from ASCII
- * added a long-syntax for the set tag ({% set foo %}...{% endset %})
- * unit tests are now powered by PHPUnit
- * added support for gettext via the `i18n` extension
- * fixed twig_capitalize_string_filter() and fixed twig_length_filter() when used with UTF-8 values
- * added a more useful exception if an if tag is not closed properly
- * added support for escaping strategy in the autoescape tag
- * fixed lexer when a template has a big chunk of text between/in a block
-
-* 0.9.5 (2010-01-20)
-
-As for any new release, don't forget to remove all cached templates after
-upgrading.
-
-If you have defined custom filters, you MUST upgrade them for this release. To
-upgrade, replace "array" with "new Twig_Filter_Function", and replace the
-environment constant by the "needs_environment" option:
-
-  // before
-  'even'   => array('twig_is_even_filter', false),
-  'escape' => array('twig_escape_filter', true),
-
-  // after
-  'even'   => new Twig_Filter_Function('twig_is_even_filter'),
-  'escape' => new Twig_Filter_Function('twig_escape_filter', array('needs_environment' => true)),
-
-If you have created NodeTransformer classes, you will need to upgrade them to
-the new interface (please note that the interface is not yet considered
-stable).
-
- * fixed list nodes that did not extend the Twig_NodeListInterface
- * added the "without loop" option to the for tag (it disables the generation of the loop variable)
- * refactored node transformers to node visitors
- * fixed automatic-escaping for blocks
- * added a way to specify variables to pass to an included template
- * changed the automatic-escaping rules to be more sensible and more configurable in custom filters (the documentation lists all the rules)
- * improved the filter system to allow object methods to be used as filters
- * changed the Array and String loaders to actually make use of the cache mechanism
- * included the default filter function definitions in the extension class files directly (Core, Escaper)
- * added the // operator (like the floor() PHP function)
- * added the .. operator (as a syntactic sugar for the range filter when the step is 1)
- * added the in operator (as a syntactic sugar for the in filter)
- * added the following filters in the Core extension: in, range
- * added support for arrays (same behavior as in PHP, a mix between lists and dictionaries, arrays and hashes)
- * enhanced some error messages to provide better feedback in case of parsing errors
-
-* 0.9.4 (2009-12-02)
-
-If you have custom loaders, you MUST upgrade them for this release: The
-Twig_Loader base class has been removed, and the Twig_LoaderInterface has also
-been changed (see the source code for more information or the documentation).
-
- * added support for DateTime instances for the date filter
- * fixed loop.last when the array only has one item
- * made it possible to insert newlines in tag and variable blocks
- * fixed a bug when a literal '\n' were present in a template text
- * fixed bug when the filename of a template contains */
- * refactored loaders
-
-* 0.9.3 (2009-11-11)
-
-This release is NOT backward compatible with the previous releases.
-
-  The loaders do not take the cache and autoReload arguments anymore. Instead,
-  the Twig_Environment class has two new options: cache and auto_reload.
-  Upgrading your code means changing this kind of code:
-
-      $loader = new Twig_Loader_Filesystem('/path/to/templates', '/path/to/compilation_cache', true);
-      $twig = new Twig_Environment($loader);
-
-  to something like this:
-
-      $loader = new Twig_Loader_Filesystem('/path/to/templates');
-      $twig = new Twig_Environment($loader, array(
-        'cache' => '/path/to/compilation_cache',
-        'auto_reload' => true,
-      ));
-
- * deprecated the "items" filter as it is not needed anymore
- * made cache and auto_reload options of Twig_Environment instead of arguments of Twig_Loader
- * optimized template loading speed
- * removed output when an error occurs in a template and render() is used
- * made major speed improvements for loops (up to 300% on even the smallest loops)
- * added properties as part of the sandbox mode
- * added public properties support (obj.item can now be the item property on the obj object)
- * extended set tag to support expression as value ({% set foo as 'foo' ~ 'bar' %} )
- * fixed bug when \ was used in HTML
-
-* 0.9.2 (2009-10-29)
-
- * made some speed optimizations
- * changed the cache extension to .php
- * added a js escaping strategy
- * added support for short block tag
- * changed the filter tag to allow chained filters
- * made lexer more flexible as you can now change the default delimiters
- * added set tag
- * changed default directory permission when cache dir does not exist (more secure)
- * added macro support
- * changed filters first optional argument to be a Twig_Environment instance instead of a Twig_Template instance
- * made Twig_Autoloader::autoload() a static method
- * avoid writing template file if an error occurs
- * added $ escaping when outputting raw strings
- * enhanced some error messages to ease debugging
- * fixed empty cache files when the template contains an error
-
-* 0.9.1 (2009-10-14)
-
-  * fixed a bug in PHP 5.2.6
-  * fixed numbers with one than one decimal
-  * added support for method calls with arguments ({{ foo.bar('a', 43) }})
-  * made small speed optimizations
-  * made minor tweaks to allow better extensibility and flexibility
-
-* 0.9.0 (2009-10-12)
-
- * Initial release
diff --git a/core/vendor/twig/twig/ext/twig/php_twig.h b/core/vendor/twig/twig/ext/twig/php_twig.h
deleted file mode 100644
index 50f5b45..0000000
--- a/core/vendor/twig/twig/ext/twig/php_twig.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-   +----------------------------------------------------------------------+
-   | Twig Extension                                                       |
-   +----------------------------------------------------------------------+
-   | Copyright (c) 2011 Derick Rethans                                    |
-   +----------------------------------------------------------------------+
-   | Redistribution and use in source and binary forms, with or without   |
-   | modification, are permitted provided that the conditions mentioned   |
-   | in the accompanying LICENSE file are met (BSD-3-Clause).             |
-   +----------------------------------------------------------------------+
-   | Author: Derick Rethans <derick@derickrethans.nl>                     |
-   +----------------------------------------------------------------------+
- */
-
-#ifndef PHP_TWIG_H
-#define PHP_TWIG_H
-
-#define PHP_TWIG_VERSION "1.22.1"
-
-#include "php.h"
-
-extern zend_module_entry twig_module_entry;
-#define phpext_twig_ptr &twig_module_entry
-#ifndef PHP_WIN32
-zend_module_entry *get_module(void);
-#endif
-
-#ifdef ZTS
-#include "TSRM.h"
-#endif
-
-PHP_FUNCTION(twig_template_get_attributes);
-PHP_RSHUTDOWN_FUNCTION(twig);
-
-#endif
diff --git a/core/vendor/twig/twig/lib/Twig/Cache/Filesystem.php b/core/vendor/twig/twig/lib/Twig/Cache/Filesystem.php
deleted file mode 100644
index c33fa90..0000000
--- a/core/vendor/twig/twig/lib/Twig/Cache/Filesystem.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2015 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implements a cache on the filesystem.
- *
- * @author Andrew Tch <andrew@noop.lv>
- */
-class Twig_Cache_Filesystem implements Twig_CacheInterface
-{
-    const FORCE_BYTECODE_INVALIDATION = 1;
-
-    private $directory;
-    private $invalidateBytecode;
-
-    /**
-     * @param $directory string The root cache directory
-     * @param $options   int    A set of options
-     */
-    public function __construct($directory, $options = 0)
-    {
-        $this->directory = $directory;
-        $this->options = $options;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function generateKey($name, $className)
-    {
-        $hash = hash('sha256', $className);
-
-        return $this->directory.'/'.$hash[0].'/'.$hash[1].'/'.$hash.'.php';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($key)
-    {
-        return is_file($key);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function load($key)
-    {
-        require_once $key;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($key, $content)
-    {
-        $dir = dirname($key);
-        if (!is_dir($dir)) {
-            if (false === @mkdir($dir, 0777, true)) {
-                clearstatcache(false, $dir);
-                if (!is_dir($dir)) {
-                    throw new RuntimeException(sprintf('Unable to create the cache directory (%s).', $dir));
-                }
-            }
-        } elseif (!is_writable($dir)) {
-            throw new RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
-        }
-
-        $tmpFile = tempnam($dir, basename($key));
-        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
-            @chmod($key, 0666 & ~umask());
-
-            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
-                // Compile cached file into bytecode cache
-                if (function_exists('opcache_invalidate')) {
-                    opcache_invalidate($key, true);
-                } elseif (function_exists('apc_compile_file')) {
-                    apc_compile_file($key);
-                }
-            }
-
-            return;
-        }
-
-        throw new RuntimeException(sprintf('Failed to write cache file "%s".', $key));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTimestamp($key)
-    {
-        return filemtime($key);
-    }
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Cache/Null.php b/core/vendor/twig/twig/lib/Twig/Cache/Null.php
deleted file mode 100644
index 918e4ce..0000000
--- a/core/vendor/twig/twig/lib/Twig/Cache/Null.php
+++ /dev/null
@@ -1,58 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2015 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Implements a no-cache strategy.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Cache_Null implements Twig_CacheInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function generateKey($name, $className)
-    {
-        return '';
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function has($key)
-    {
-        return false;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function write($key, $content)
-    {
-        eval('?>'.$content);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function load($key)
-    {
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTimestamp($key)
-    {
-        // never called as has() always returns false
-        return 0;
-    }
-}
diff --git a/core/vendor/twig/twig/lib/Twig/CacheInterface.php b/core/vendor/twig/twig/lib/Twig/CacheInterface.php
deleted file mode 100644
index fedd366..0000000
--- a/core/vendor/twig/twig/lib/Twig/CacheInterface.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2015 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Interface implemented by cache classes.
- *
- * It is highly recommended to always store templates on the filesystem to
- * benefit from the PHP opcode cache. This interface is mostly useful if you
- * need to implement a custom strategy for storing templates on the filesystem.
- *
- * @author Andrew Tch <andrew@noop.lv>
- */
-interface Twig_CacheInterface
-{
-    /**
-     * Generates a cache key for the given template class name.
-     *
-     * @param string $name      The template name
-     * @param string $className The template class name
-     *
-     * @return string
-     */
-    public function generateKey($name, $className);
-
-    /**
-     * Checks if the cache key exists.
-     *
-     * @param string $key The cache key
-     *
-     * @return bool true if the cache key exists, false otherwise
-     */
-    public function has($key);
-
-    /**
-     * Writes the compiled template to cache.
-     *
-     * @param string $key     The cache key
-     * @param string $content The template representation as a PHP class
-     */
-    public function write($key, $content);
-
-    /**
-     * Loads a template from the cache.
-     *
-     * @param string $key The cache key
-     */
-    public function load($key);
-
-    /**
-     * Returns the modification timestamp of a key.
-     *
-     * @param string $key The cache key
-     *
-     * @return int
-     */
-    public function getTimestamp($key);
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Environment.php b/core/vendor/twig/twig/lib/Twig/Environment.php
deleted file mode 100644
index cd167bd..0000000
--- a/core/vendor/twig/twig/lib/Twig/Environment.php
+++ /dev/null
@@ -1,1339 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Stores the Twig configuration.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Environment
-{
-    const VERSION = '1.22.1';
-
-    protected $charset;
-    protected $loader;
-    protected $debug;
-    protected $autoReload;
-    protected $cache;
-    protected $lexer;
-    protected $parser;
-    protected $compiler;
-    protected $baseTemplateClass;
-    protected $extensions;
-    protected $parsers;
-    protected $visitors;
-    protected $filters;
-    protected $tests;
-    protected $functions;
-    protected $globals;
-    protected $runtimeInitialized = false;
-    protected $extensionInitialized = false;
-    protected $loadedTemplates;
-    protected $strictVariables;
-    protected $unaryOperators;
-    protected $binaryOperators;
-    protected $templateClassPrefix = '__TwigTemplate_';
-    protected $functionCallbacks = array();
-    protected $filterCallbacks = array();
-    protected $staging;
-
-    private $originalCache;
-    private $bcWriteCacheFile = false;
-    private $bcGetCacheFilename = false;
-
-    /**
-     * Constructor.
-     *
-     * Available options:
-     *
-     *  * debug: When set to true, it automatically set "auto_reload" to true as
-     *           well (default to false).
-     *
-     *  * charset: The charset used by the templates (default to UTF-8).
-     *
-     *  * base_template_class: The base template class to use for generated
-     *                         templates (default to Twig_Template).
-     *
-     *  * cache: An absolute path where to store the compiled templates,
-     *           a Twig_Cache_Interface implementation,
-     *           or false to disable compilation cache (default).
-     *
-     *  * auto_reload: Whether to reload the template if the original source changed.
-     *                 If you don't provide the auto_reload option, it will be
-     *                 determined automatically based on the debug value.
-     *
-     *  * strict_variables: Whether to ignore invalid variables in templates
-     *                      (default to false).
-     *
-     *  * autoescape: Whether to enable auto-escaping (default to html):
-     *                  * false: disable auto-escaping
-     *                  * true: equivalent to html
-     *                  * html, js: set the autoescaping to one of the supported strategies
-     *                  * filename: set the autoescaping strategy based on the template filename extension
-     *                  * PHP callback: a PHP callback that returns an escaping strategy based on the template "filename"
-     *
-     *  * optimizations: A flag that indicates which optimizations to apply
-     *                   (default to -1 which means that all optimizations are enabled;
-     *                   set it to 0 to disable).
-     *
-     * @param Twig_LoaderInterface $loader  A Twig_LoaderInterface instance
-     * @param array                $options An array of options
-     */
-    public function __construct(Twig_LoaderInterface $loader = null, $options = array())
-    {
-        if (null !== $loader) {
-            $this->setLoader($loader);
-        } else {
-            @trigger_error('Not passing a Twig_LoaderInterface as the first constructor argument of Twig_Environment is deprecated.', E_USER_DEPRECATED);
-        }
-
-        $options = array_merge(array(
-            'debug' => false,
-            'charset' => 'UTF-8',
-            'base_template_class' => 'Twig_Template',
-            'strict_variables' => false,
-            'autoescape' => 'html',
-            'cache' => false,
-            'auto_reload' => null,
-            'optimizations' => -1,
-        ), $options);
-
-        $this->debug = (bool) $options['debug'];
-        $this->charset = strtoupper($options['charset']);
-        $this->baseTemplateClass = $options['base_template_class'];
-        $this->autoReload = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
-        $this->strictVariables = (bool) $options['strict_variables'];
-        $this->setCache($options['cache']);
-
-        $this->addExtension(new Twig_Extension_Core());
-        $this->addExtension(new Twig_Extension_Escaper($options['autoescape']));
-        $this->addExtension(new Twig_Extension_Optimizer($options['optimizations']));
-        $this->staging = new Twig_Extension_Staging();
-
-        // For BC
-        if (is_string($this->originalCache)) {
-            $r = new ReflectionMethod($this, 'writeCacheFile');
-            if ($r->getDeclaringClass()->getName() !== __CLASS__) {
-                @trigger_error('The Twig_Environment::writeCacheFile method is deprecated and will be removed in Twig 2.0.', E_USER_DEPRECATED);
-
-                $this->bcWriteCacheFile = true;
-            }
-
-            $r = new ReflectionMethod($this, 'getCacheFilename');
-            if ($r->getDeclaringClass()->getName() !== __CLASS__) {
-                @trigger_error('The Twig_Environment::getCacheFilename method is deprecated and will be removed in Twig 2.0.', E_USER_DEPRECATED);
-
-                $this->bcGetCacheFilename = true;
-            }
-        }
-    }
-
-    /**
-     * Gets the base template class for compiled templates.
-     *
-     * @return string The base template class name
-     */
-    public function getBaseTemplateClass()
-    {
-        return $this->baseTemplateClass;
-    }
-
-    /**
-     * Sets the base template class for compiled templates.
-     *
-     * @param string $class The base template class name
-     */
-    public function setBaseTemplateClass($class)
-    {
-        $this->baseTemplateClass = $class;
-    }
-
-    /**
-     * Enables debugging mode.
-     */
-    public function enableDebug()
-    {
-        $this->debug = true;
-    }
-
-    /**
-     * Disables debugging mode.
-     */
-    public function disableDebug()
-    {
-        $this->debug = false;
-    }
-
-    /**
-     * Checks if debug mode is enabled.
-     *
-     * @return bool true if debug mode is enabled, false otherwise
-     */
-    public function isDebug()
-    {
-        return $this->debug;
-    }
-
-    /**
-     * Enables the auto_reload option.
-     */
-    public function enableAutoReload()
-    {
-        $this->autoReload = true;
-    }
-
-    /**
-     * Disables the auto_reload option.
-     */
-    public function disableAutoReload()
-    {
-        $this->autoReload = false;
-    }
-
-    /**
-     * Checks if the auto_reload option is enabled.
-     *
-     * @return bool true if auto_reload is enabled, false otherwise
-     */
-    public function isAutoReload()
-    {
-        return $this->autoReload;
-    }
-
-    /**
-     * Enables the strict_variables option.
-     */
-    public function enableStrictVariables()
-    {
-        $this->strictVariables = true;
-    }
-
-    /**
-     * Disables the strict_variables option.
-     */
-    public function disableStrictVariables()
-    {
-        $this->strictVariables = false;
-    }
-
-    /**
-     * Checks if the strict_variables option is enabled.
-     *
-     * @return bool true if strict_variables is enabled, false otherwise
-     */
-    public function isStrictVariables()
-    {
-        return $this->strictVariables;
-    }
-
-    /**
-     * Gets the current cache implementation.
-     *
-     * @param bool $original Whether to return the original cache option or the real cache instance
-     *
-     * @return Twig_CacheInterface|string|false A Twig_CacheInterface implementation,
-     *                                          an absolute path to the compiled templates,
-     *                                          or false to disable cache
-     */
-    public function getCache($original = true)
-    {
-        return $original ? $this->originalCache : $this->cache;
-    }
-
-    /**
-     * Sets the current cache implementation.
-     *
-     * @param Twig_CacheInterface|string|false $cache A Twig_CacheInterface implementation,
-     *                                                an absolute path to the compiled templates,
-     *                                                or false to disable cache
-     */
-    public function setCache($cache)
-    {
-        if (is_string($cache)) {
-            $this->originalCache = $cache;
-            $this->cache = new Twig_Cache_Filesystem($cache);
-        } elseif (false === $cache) {
-            $this->originalCache = $cache;
-            $this->cache = new Twig_Cache_Null();
-        } elseif ($cache instanceof Twig_CacheInterface) {
-            $this->originalCache = $this->cache = $cache;
-        } else {
-            throw new LogicException(sprintf('Cache can only be a string, false, or a Twig_CacheInterface implementation.'));
-        }
-    }
-
-    /**
-     * Gets the cache filename for a given template.
-     *
-     * @param string $name The template name
-     *
-     * @return string|false The cache file name or false when caching is disabled
-     *
-     * @deprecated since 1.22 (to be removed in 2.0)
-     */
-    public function getCacheFilename($name)
-    {
-        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
-
-        $key = $this->cache->generateKey($name, $this->getTemplateClass($name));
-
-        return !$key ? false : $key;
-    }
-
-    /**
-     * Gets the template class associated with the given string.
-     *
-     * @param string $name  The name for which to calculate the template class name
-     * @param int    $index The index if it is an embedded template
-     *
-     * @return string The template class name
-     */
-    public function getTemplateClass($name, $index = null)
-    {
-        $key = $this->getLoader()->getCacheKey($name).'__'.implode('__', array_keys($this->extensions));
-
-        return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '_'.$index);
-    }
-
-    /**
-     * Gets the template class prefix.
-     *
-     * @return string The template class prefix
-     *
-     * @deprecated since 1.22 (to be removed in 2.0)
-     */
-    public function getTemplateClassPrefix()
-    {
-        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
-
-        return $this->templateClassPrefix;
-    }
-
-    /**
-     * Renders a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     *
-     * @return string The rendered template
-     *
-     * @throws Twig_Error_Loader  When the template cannot be found
-     * @throws Twig_Error_Syntax  When an error occurred during compilation
-     * @throws Twig_Error_Runtime When an error occurred during rendering
-     */
-    public function render($name, array $context = array())
-    {
-        return $this->loadTemplate($name)->render($context);
-    }
-
-    /**
-     * Displays a template.
-     *
-     * @param string $name    The template name
-     * @param array  $context An array of parameters to pass to the template
-     *
-     * @throws Twig_Error_Loader  When the template cannot be found
-     * @throws Twig_Error_Syntax  When an error occurred during compilation
-     * @throws Twig_Error_Runtime When an error occurred during rendering
-     */
-    public function display($name, array $context = array())
-    {
-        $this->loadTemplate($name)->display($context);
-    }
-
-    /**
-     * Loads a template by name.
-     *
-     * @param string $name  The template name
-     * @param int    $index The index if it is an embedded template
-     *
-     * @return Twig_TemplateInterface A template instance representing the given template name
-     *
-     * @throws Twig_Error_Loader When the template cannot be found
-     * @throws Twig_Error_Syntax When an error occurred during compilation
-     */
-    public function loadTemplate($name, $index = null)
-    {
-        $cls = $this->getTemplateClass($name, $index);
-
-        if (isset($this->loadedTemplates[$cls])) {
-            return $this->loadedTemplates[$cls];
-        }
-
-        if (!class_exists($cls, false)) {
-            if ($this->bcGetCacheFilename) {
-                $key = $this->getCacheFilename($name);
-            } else {
-                $key = $this->cache->generateKey($name, $cls);
-            }
-
-            if (!$this->cache->has($key) || ($this->isAutoReload() && !$this->isTemplateFresh($name, $this->cache->getTimestamp($key)))) {
-                if ($this->bcWriteCacheFile) {
-                    $this->writeCacheFile($key, $this->compileSource($this->getLoader()->getSource($name), $name));
-                } else {
-                    $this->cache->write($key, $this->compileSource($this->getLoader()->getSource($name), $name));
-                }
-            }
-
-            $this->cache->load($key);
-        }
-
-        if (!$this->runtimeInitialized) {
-            $this->initRuntime();
-        }
-
-        return $this->loadedTemplates[$cls] = new $cls($this);
-    }
-
-    /**
-     * Creates a template from source.
-     *
-     * This method should not be used as a generic way to load templates.
-     *
-     * @param string $template The template name
-     *
-     * @return Twig_Template A template instance representing the given template name
-     *
-     * @throws Twig_Error_Loader When the template cannot be found
-     * @throws Twig_Error_Syntax When an error occurred during compilation
-     */
-    public function createTemplate($template)
-    {
-        $name = sprintf('__string_template__%s', hash('sha256', uniqid(mt_rand(), true), false));
-
-        $loader = new Twig_Loader_Chain(array(
-            new Twig_Loader_Array(array($name => $template)),
-            $current = $this->getLoader(),
-        ));
-
-        $this->setLoader($loader);
-        try {
-            $template = $this->loadTemplate($name);
-        } catch (Exception $e) {
-            $this->setLoader($current);
-
-            throw $e;
-        }
-        $this->setLoader($current);
-
-        return $template;
-    }
-
-    /**
-     * Returns true if the template is still fresh.
-     *
-     * Besides checking the loader for freshness information,
-     * this method also checks if the enabled extensions have
-     * not changed.
-     *
-     * @param string $name The template name
-     * @param int    $time The last modification time of the cached template
-     *
-     * @return bool true if the template is fresh, false otherwise
-     */
-    public function isTemplateFresh($name, $time)
-    {
-        foreach ($this->extensions as $extension) {
-            $r = new ReflectionObject($extension);
-            if (filemtime($r->getFileName()) > $time) {
-                return false;
-            }
-        }
-
-        return $this->getLoader()->isFresh($name, $time);
-    }
-
-    /**
-     * Tries to load a template consecutively from an array.
-     *
-     * Similar to loadTemplate() but it also accepts Twig_TemplateInterface instances and an array
-     * of templates where each is tried to be loaded.
-     *
-     * @param string|Twig_Template|array $names A template or an array of templates to try consecutively
-     *
-     * @return Twig_Template
-     *
-     * @throws Twig_Error_Loader When none of the templates can be found
-     * @throws Twig_Error_Syntax When an error occurred during compilation
-     */
-    public function resolveTemplate($names)
-    {
-        if (!is_array($names)) {
-            $names = array($names);
-        }
-
-        foreach ($names as $name) {
-            if ($name instanceof Twig_Template) {
-                return $name;
-            }
-
-            try {
-                return $this->loadTemplate($name);
-            } catch (Twig_Error_Loader $e) {
-            }
-        }
-
-        if (1 === count($names)) {
-            throw $e;
-        }
-
-        throw new Twig_Error_Loader(sprintf('Unable to find one of the following templates: "%s".', implode('", "', $names)));
-    }
-
-    /**
-     * Clears the internal template cache.
-     *
-     * @deprecated since 1.18.3 (to be removed in 2.0)
-     */
-    public function clearTemplateCache()
-    {
-        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
-
-        $this->loadedTemplates = array();
-    }
-
-    /**
-     * Clears the template cache files on the filesystem.
-     *
-     * @deprecated since 1.22 (to be removed in 2.0)
-     */
-    public function clearCacheFiles()
-    {
-        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
-
-        if (is_string($this->originalCache)) {
-            foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->originalCache), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
-                if ($file->isFile()) {
-                    @unlink($file->getPathname());
-                }
-            }
-        }
-    }
-
-    /**
-     * Gets the Lexer instance.
-     *
-     * @return Twig_LexerInterface A Twig_LexerInterface instance
-     */
-    public function getLexer()
-    {
-        if (null === $this->lexer) {
-            $this->lexer = new Twig_Lexer($this);
-        }
-
-        return $this->lexer;
-    }
-
-    /**
-     * Sets the Lexer instance.
-     *
-     * @param Twig_LexerInterface $lexer A Twig_LexerInterface instance
-     */
-    public function setLexer(Twig_LexerInterface $lexer)
-    {
-        $this->lexer = $lexer;
-    }
-
-    /**
-     * Tokenizes a source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return Twig_TokenStream A Twig_TokenStream instance
-     *
-     * @throws Twig_Error_Syntax When the code is syntactically wrong
-     */
-    public function tokenize($source, $name = null)
-    {
-        return $this->getLexer()->tokenize($source, $name);
-    }
-
-    /**
-     * Gets the Parser instance.
-     *
-     * @return Twig_ParserInterface A Twig_ParserInterface instance
-     */
-    public function getParser()
-    {
-        if (null === $this->parser) {
-            $this->parser = new Twig_Parser($this);
-        }
-
-        return $this->parser;
-    }
-
-    /**
-     * Sets the Parser instance.
-     *
-     * @param Twig_ParserInterface $parser A Twig_ParserInterface instance
-     */
-    public function setParser(Twig_ParserInterface $parser)
-    {
-        $this->parser = $parser;
-    }
-
-    /**
-     * Converts a token stream to a node tree.
-     *
-     * @param Twig_TokenStream $stream A token stream instance
-     *
-     * @return Twig_Node_Module A node tree
-     *
-     * @throws Twig_Error_Syntax When the token stream is syntactically or semantically wrong
-     */
-    public function parse(Twig_TokenStream $stream)
-    {
-        return $this->getParser()->parse($stream);
-    }
-
-    /**
-     * Gets the Compiler instance.
-     *
-     * @return Twig_CompilerInterface A Twig_CompilerInterface instance
-     */
-    public function getCompiler()
-    {
-        if (null === $this->compiler) {
-            $this->compiler = new Twig_Compiler($this);
-        }
-
-        return $this->compiler;
-    }
-
-    /**
-     * Sets the Compiler instance.
-     *
-     * @param Twig_CompilerInterface $compiler A Twig_CompilerInterface instance
-     */
-    public function setCompiler(Twig_CompilerInterface $compiler)
-    {
-        $this->compiler = $compiler;
-    }
-
-    /**
-     * Compiles a node and returns the PHP code.
-     *
-     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
-     *
-     * @return string The compiled PHP source code
-     */
-    public function compile(Twig_NodeInterface $node)
-    {
-        return $this->getCompiler()->compile($node)->getSource();
-    }
-
-    /**
-     * Compiles a template source code.
-     *
-     * @param string $source The template source code
-     * @param string $name   The template name
-     *
-     * @return string The compiled PHP source code
-     *
-     * @throws Twig_Error_Syntax When there was an error during tokenizing, parsing or compiling
-     */
-    public function compileSource($source, $name = null)
-    {
-        try {
-            $compiled = $this->compile($this->parse($this->tokenize($source, $name)), $source);
-
-            if (isset($source[0])) {
-                $compiled .= '/* '.str_replace(array('*/', "\r\n", "\r", "\n"), array('*//* ', "\n", "\n", "*/\n/* "), $source)."*/\n";
-            }
-
-            return $compiled;
-        } catch (Twig_Error $e) {
-            $e->setTemplateFile($name);
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Syntax(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $name, $e);
-        }
-    }
-
-    /**
-     * Sets the Loader instance.
-     *
-     * @param Twig_LoaderInterface $loader A Twig_LoaderInterface instance
-     */
-    public function setLoader(Twig_LoaderInterface $loader)
-    {
-        $this->loader = $loader;
-    }
-
-    /**
-     * Gets the Loader instance.
-     *
-     * @return Twig_LoaderInterface A Twig_LoaderInterface instance
-     */
-    public function getLoader()
-    {
-        if (null === $this->loader) {
-            throw new LogicException('You must set a loader first.');
-        }
-
-        return $this->loader;
-    }
-
-    /**
-     * Sets the default template charset.
-     *
-     * @param string $charset The default charset
-     */
-    public function setCharset($charset)
-    {
-        $this->charset = strtoupper($charset);
-    }
-
-    /**
-     * Gets the default template charset.
-     *
-     * @return string The default charset
-     */
-    public function getCharset()
-    {
-        return $this->charset;
-    }
-
-    /**
-     * Initializes the runtime environment.
-     */
-    public function initRuntime()
-    {
-        $this->runtimeInitialized = true;
-
-        foreach ($this->getExtensions() as $extension) {
-            $extension->initRuntime($this);
-        }
-    }
-
-    /**
-     * Returns true if the given extension is registered.
-     *
-     * @param string $name The extension name
-     *
-     * @return bool Whether the extension is registered or not
-     */
-    public function hasExtension($name)
-    {
-        return isset($this->extensions[$name]);
-    }
-
-    /**
-     * Gets an extension by name.
-     *
-     * @param string $name The extension name
-     *
-     * @return Twig_ExtensionInterface A Twig_ExtensionInterface instance
-     */
-    public function getExtension($name)
-    {
-        if (!isset($this->extensions[$name])) {
-            throw new Twig_Error_Runtime(sprintf('The "%s" extension is not enabled.', $name));
-        }
-
-        return $this->extensions[$name];
-    }
-
-    /**
-     * Registers an extension.
-     *
-     * @param Twig_ExtensionInterface $extension A Twig_ExtensionInterface instance
-     */
-    public function addExtension(Twig_ExtensionInterface $extension)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
-        }
-
-        $this->extensions[$extension->getName()] = $extension;
-    }
-
-    /**
-     * Removes an extension by name.
-     *
-     * This method is deprecated and you should not use it.
-     *
-     * @param string $name The extension name
-     *
-     * @deprecated since 1.12 (to be removed in 2.0)
-     */
-    public function removeExtension($name)
-    {
-        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
-
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
-        }
-
-        unset($this->extensions[$name]);
-    }
-
-    /**
-     * Registers an array of extensions.
-     *
-     * @param array $extensions An array of extensions
-     */
-    public function setExtensions(array $extensions)
-    {
-        foreach ($extensions as $extension) {
-            $this->addExtension($extension);
-        }
-    }
-
-    /**
-     * Returns all registered extensions.
-     *
-     * @return array An array of extensions
-     */
-    public function getExtensions()
-    {
-        return $this->extensions;
-    }
-
-    /**
-     * Registers a Token Parser.
-     *
-     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
-     */
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a token parser as extensions have already been initialized.');
-        }
-
-        $this->staging->addTokenParser($parser);
-    }
-
-    /**
-     * Gets the registered Token Parsers.
-     *
-     * @return Twig_TokenParserBrokerInterface A broker containing token parsers
-     */
-    public function getTokenParsers()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->parsers;
-    }
-
-    /**
-     * Gets registered tags.
-     *
-     * Be warned that this method cannot return tags defined by Twig_TokenParserBrokerInterface classes.
-     *
-     * @return Twig_TokenParserInterface[] An array of Twig_TokenParserInterface instances
-     */
-    public function getTags()
-    {
-        $tags = array();
-        foreach ($this->getTokenParsers()->getParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $tags[$parser->getTag()] = $parser;
-            }
-        }
-
-        return $tags;
-    }
-
-    /**
-     * Registers a Node Visitor.
-     *
-     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
-     */
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        if ($this->extensionInitialized) {
-            throw new LogicException('Unable to add a node visitor as extensions have already been initialized.');
-        }
-
-        $this->staging->addNodeVisitor($visitor);
-    }
-
-    /**
-     * Gets the registered Node Visitors.
-     *
-     * @return Twig_NodeVisitorInterface[] An array of Twig_NodeVisitorInterface instances
-     */
-    public function getNodeVisitors()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->visitors;
-    }
-
-    /**
-     * Registers a Filter.
-     *
-     * @param string|Twig_SimpleFilter               $name   The filter name or a Twig_SimpleFilter instance
-     * @param Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance
-     */
-    public function addFilter($name, $filter = null)
-    {
-        if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
-            throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
-        }
-
-        if ($name instanceof Twig_SimpleFilter) {
-            $filter = $name;
-            $name = $filter->getName();
-        } else {
-            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleFilter" instead when defining filter "%s".', __METHOD__, $name), E_USER_DEPRECATED);
-        }
-
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
-        }
-
-        $this->staging->addFilter($name, $filter);
-    }
-
-    /**
-     * Get a filter by name.
-     *
-     * Subclasses may override this method and load filters differently;
-     * so no list of filters is available.
-     *
-     * @param string $name The filter name
-     *
-     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exist
-     */
-    public function getFilter($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->filters[$name])) {
-            return $this->filters[$name];
-        }
-
-        foreach ($this->filters as $pattern => $filter) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $filter->setArguments($matches);
-
-                    return $filter;
-                }
-            }
-        }
-
-        foreach ($this->filterCallbacks as $callback) {
-            if (false !== $filter = call_user_func($callback, $name)) {
-                return $filter;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFilterCallback($callable)
-    {
-        $this->filterCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets the registered Filters.
-     *
-     * Be warned that this method cannot return filters defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FilterInterface[] An array of Twig_FilterInterface instances
-     *
-     * @see registerUndefinedFilterCallback
-     */
-    public function getFilters()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->filters;
-    }
-
-    /**
-     * Registers a Test.
-     *
-     * @param string|Twig_SimpleTest             $name The test name or a Twig_SimpleTest instance
-     * @param Twig_TestInterface|Twig_SimpleTest $test A Twig_TestInterface instance or a Twig_SimpleTest instance
-     */
-    public function addTest($name, $test = null)
-    {
-        if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
-            throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
-        }
-
-        if ($name instanceof Twig_SimpleTest) {
-            $test = $name;
-            $name = $test->getName();
-        } else {
-            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleTest" instead when defining test "%s".', __METHOD__, $name), E_USER_DEPRECATED);
-        }
-
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
-        }
-
-        $this->staging->addTest($name, $test);
-    }
-
-    /**
-     * Gets the registered Tests.
-     *
-     * @return Twig_TestInterface[] An array of Twig_TestInterface instances
-     */
-    public function getTests()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->tests;
-    }
-
-    /**
-     * Gets a test by name.
-     *
-     * @param string $name The test name
-     *
-     * @return Twig_Test|false A Twig_Test instance or false if the test does not exist
-     */
-    public function getTest($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->tests[$name])) {
-            return $this->tests[$name];
-        }
-
-        return false;
-    }
-
-    /**
-     * Registers a Function.
-     *
-     * @param string|Twig_SimpleFunction                 $name     The function name or a Twig_SimpleFunction instance
-     * @param Twig_FunctionInterface|Twig_SimpleFunction $function A Twig_FunctionInterface instance or a Twig_SimpleFunction instance
-     */
-    public function addFunction($name, $function = null)
-    {
-        if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
-            throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
-        }
-
-        if ($name instanceof Twig_SimpleFunction) {
-            $function = $name;
-            $name = $function->getName();
-        } else {
-            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleFunction" instead when defining function "%s".', __METHOD__, $name), E_USER_DEPRECATED);
-        }
-
-        if ($this->extensionInitialized) {
-            throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
-        }
-
-        $this->staging->addFunction($name, $function);
-    }
-
-    /**
-     * Get a function by name.
-     *
-     * Subclasses may override this method and load functions differently;
-     * so no list of functions is available.
-     *
-     * @param string $name function name
-     *
-     * @return Twig_Function|false A Twig_Function instance or false if the function does not exist
-     */
-    public function getFunction($name)
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        if (isset($this->functions[$name])) {
-            return $this->functions[$name];
-        }
-
-        foreach ($this->functions as $pattern => $function) {
-            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
-
-            if ($count) {
-                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
-                    array_shift($matches);
-                    $function->setArguments($matches);
-
-                    return $function;
-                }
-            }
-        }
-
-        foreach ($this->functionCallbacks as $callback) {
-            if (false !== $function = call_user_func($callback, $name)) {
-                return $function;
-            }
-        }
-
-        return false;
-    }
-
-    public function registerUndefinedFunctionCallback($callable)
-    {
-        $this->functionCallbacks[] = $callable;
-    }
-
-    /**
-     * Gets registered functions.
-     *
-     * Be warned that this method cannot return functions defined with registerUndefinedFunctionCallback.
-     *
-     * @return Twig_FunctionInterface[] An array of Twig_FunctionInterface instances
-     *
-     * @see registerUndefinedFunctionCallback
-     */
-    public function getFunctions()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->functions;
-    }
-
-    /**
-     * Registers a Global.
-     *
-     * New globals can be added before compiling or rendering a template;
-     * but after, you can only update existing globals.
-     *
-     * @param string $name  The global name
-     * @param mixed  $value The global value
-     */
-    public function addGlobal($name, $value)
-    {
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            if (null === $this->globals) {
-                $this->globals = $this->initGlobals();
-            }
-
-            if (!array_key_exists($name, $this->globals)) {
-                // The deprecation notice must be turned into the following exception in Twig 2.0
-                @trigger_error(sprintf('Registering global variable "%s" at runtime or when the extensions have already been initialized is deprecated.', $name), E_USER_DEPRECATED);
-                //throw new LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
-            }
-        }
-
-        if ($this->extensionInitialized || $this->runtimeInitialized) {
-            // update the value
-            $this->globals[$name] = $value;
-        } else {
-            $this->staging->addGlobal($name, $value);
-        }
-    }
-
-    /**
-     * Gets the registered Globals.
-     *
-     * @return array An array of globals
-     */
-    public function getGlobals()
-    {
-        if (!$this->runtimeInitialized && !$this->extensionInitialized) {
-            return $this->initGlobals();
-        }
-
-        if (null === $this->globals) {
-            $this->globals = $this->initGlobals();
-        }
-
-        return $this->globals;
-    }
-
-    /**
-     * Merges a context with the defined globals.
-     *
-     * @param array $context An array representing the context
-     *
-     * @return array The context merged with the globals
-     */
-    public function mergeGlobals(array $context)
-    {
-        // we don't use array_merge as the context being generally
-        // bigger than globals, this code is faster.
-        foreach ($this->getGlobals() as $key => $value) {
-            if (!array_key_exists($key, $context)) {
-                $context[$key] = $value;
-            }
-        }
-
-        return $context;
-    }
-
-    /**
-     * Gets the registered unary Operators.
-     *
-     * @return array An array of unary operators
-     */
-    public function getUnaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->unaryOperators;
-    }
-
-    /**
-     * Gets the registered binary Operators.
-     *
-     * @return array An array of binary operators
-     */
-    public function getBinaryOperators()
-    {
-        if (!$this->extensionInitialized) {
-            $this->initExtensions();
-        }
-
-        return $this->binaryOperators;
-    }
-
-    public function computeAlternatives($name, $items)
-    {
-        $alternatives = array();
-        foreach ($items as $item) {
-            $lev = levenshtein($name, $item);
-            if ($lev <= strlen($name) / 3 || false !== strpos($item, $name)) {
-                $alternatives[$item] = $lev;
-            }
-        }
-        asort($alternatives);
-
-        return array_keys($alternatives);
-    }
-
-    protected function initGlobals()
-    {
-        $globals = array();
-        foreach ($this->extensions as $extension) {
-            $extGlob = $extension->getGlobals();
-            if (!is_array($extGlob)) {
-                throw new UnexpectedValueException(sprintf('"%s::getGlobals()" must return an array of globals.', get_class($extension)));
-            }
-
-            $globals[] = $extGlob;
-        }
-
-        $globals[] = $this->staging->getGlobals();
-
-        return call_user_func_array('array_merge', $globals);
-    }
-
-    protected function initExtensions()
-    {
-        if ($this->extensionInitialized) {
-            return;
-        }
-
-        $this->extensionInitialized = true;
-        $this->parsers = new Twig_TokenParserBroker(array(), array(), false);
-        $this->filters = array();
-        $this->functions = array();
-        $this->tests = array();
-        $this->visitors = array();
-        $this->unaryOperators = array();
-        $this->binaryOperators = array();
-
-        foreach ($this->extensions as $extension) {
-            $this->initExtension($extension);
-        }
-        $this->initExtension($this->staging);
-    }
-
-    protected function initExtension(Twig_ExtensionInterface $extension)
-    {
-        // filters
-        foreach ($extension->getFilters() as $name => $filter) {
-            if ($filter instanceof Twig_SimpleFilter) {
-                $name = $filter->getName();
-            } else {
-                @trigger_error(sprintf('Using an instance of "%s" for filter "%s" is deprecated. Use Twig_SimpleFilter instead.', get_class($filter), $name), E_USER_DEPRECATED);
-            }
-
-            $this->filters[$name] = $filter;
-        }
-
-        // functions
-        foreach ($extension->getFunctions() as $name => $function) {
-            if ($function instanceof Twig_SimpleFunction) {
-                $name = $function->getName();
-            } else {
-                @trigger_error(sprintf('Using an instance of "%s" for function "%s" is deprecated. Use Twig_SimpleFunction instead.', get_class($function), $name), E_USER_DEPRECATED);
-            }
-
-            $this->functions[$name] = $function;
-        }
-
-        // tests
-        foreach ($extension->getTests() as $name => $test) {
-            if ($test instanceof Twig_SimpleTest) {
-                $name = $test->getName();
-            } else {
-                @trigger_error(sprintf('Using an instance of "%s" for test "%s" is deprecated. Use Twig_SimpleTest instead.', get_class($test), $name), E_USER_DEPRECATED);
-            }
-
-            $this->tests[$name] = $test;
-        }
-
-        // token parsers
-        foreach ($extension->getTokenParsers() as $parser) {
-            if ($parser instanceof Twig_TokenParserInterface) {
-                $this->parsers->addTokenParser($parser);
-            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
-                @trigger_error('Registering a Twig_TokenParserBrokerInterface instance is deprecated.', E_USER_DEPRECATED);
-
-                $this->parsers->addTokenParserBroker($parser);
-            } else {
-                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
-            }
-        }
-
-        // node visitors
-        foreach ($extension->getNodeVisitors() as $visitor) {
-            $this->visitors[] = $visitor;
-        }
-
-        // operators
-        if ($operators = $extension->getOperators()) {
-            if (2 !== count($operators)) {
-                throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.', get_class($extension)));
-            }
-
-            $this->unaryOperators = array_merge($this->unaryOperators, $operators[0]);
-            $this->binaryOperators = array_merge($this->binaryOperators, $operators[1]);
-        }
-    }
-
-    /**
-     * @deprecated since 1.22 (to be removed in 2.0)
-     */
-    protected function writeCacheFile($file, $content)
-    {
-        $this->cache->write($file, $content);
-    }
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Core.php b/core/vendor/twig/twig/lib/Twig/Extension/Core.php
deleted file mode 100644
index 3716f02..0000000
--- a/core/vendor/twig/twig/lib/Twig/Extension/Core.php
+++ /dev/null
@@ -1,1565 +0,0 @@
-<?php
-
-if (!defined('ENT_SUBSTITUTE')) {
-    // use 0 as hhvm does not support several flags yet
-    define('ENT_SUBSTITUTE', 0);
-}
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-class Twig_Extension_Core extends Twig_Extension
-{
-    protected $dateFormats = array('F j, Y H:i', '%d days');
-    protected $numberFormat = array(0, '.', ',');
-    protected $timezone = null;
-    protected $escapers = array();
-
-    /**
-     * Defines a new escaper to be used via the escape filter.
-     *
-     * @param string   $strategy The strategy name that should be used as a strategy in the escape call
-     * @param callable $callable A valid PHP callable
-     */
-    public function setEscaper($strategy, $callable)
-    {
-        $this->escapers[$strategy] = $callable;
-    }
-
-    /**
-     * Gets all defined escapers.
-     *
-     * @return array An array of escapers
-     */
-    public function getEscapers()
-    {
-        return $this->escapers;
-    }
-
-    /**
-     * Sets the default format to be used by the date filter.
-     *
-     * @param string $format             The default date format string
-     * @param string $dateIntervalFormat The default date interval format string
-     */
-    public function setDateFormat($format = null, $dateIntervalFormat = null)
-    {
-        if (null !== $format) {
-            $this->dateFormats[0] = $format;
-        }
-
-        if (null !== $dateIntervalFormat) {
-            $this->dateFormats[1] = $dateIntervalFormat;
-        }
-    }
-
-    /**
-     * Gets the default format to be used by the date filter.
-     *
-     * @return array The default date format string and the default date interval format string
-     */
-    public function getDateFormat()
-    {
-        return $this->dateFormats;
-    }
-
-    /**
-     * Sets the default timezone to be used by the date filter.
-     *
-     * @param DateTimeZone|string $timezone The default timezone string or a DateTimeZone object
-     */
-    public function setTimezone($timezone)
-    {
-        $this->timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone);
-    }
-
-    /**
-     * Gets the default timezone to be used by the date filter.
-     *
-     * @return DateTimeZone The default timezone currently in use
-     */
-    public function getTimezone()
-    {
-        if (null === $this->timezone) {
-            $this->timezone = new DateTimeZone(date_default_timezone_get());
-        }
-
-        return $this->timezone;
-    }
-
-    /**
-     * Sets the default format to be used by the number_format filter.
-     *
-     * @param int    $decimal      The number of decimal places to use.
-     * @param string $decimalPoint The character(s) to use for the decimal point.
-     * @param string $thousandSep  The character(s) to use for the thousands separator.
-     */
-    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
-    {
-        $this->numberFormat = array($decimal, $decimalPoint, $thousandSep);
-    }
-
-    /**
-     * Get the default format used by the number_format filter.
-     *
-     * @return array The arguments for number_format()
-     */
-    public function getNumberFormat()
-    {
-        return $this->numberFormat;
-    }
-
-    /**
-     * Returns the token parser instance to add to the existing list.
-     *
-     * @return Twig_TokenParser[] An array of Twig_TokenParser instances
-     */
-    public function getTokenParsers()
-    {
-        return array(
-            new Twig_TokenParser_For(),
-            new Twig_TokenParser_If(),
-            new Twig_TokenParser_Extends(),
-            new Twig_TokenParser_Include(),
-            new Twig_TokenParser_Block(),
-            new Twig_TokenParser_Use(),
-            new Twig_TokenParser_Filter(),
-            new Twig_TokenParser_Macro(),
-            new Twig_TokenParser_Import(),
-            new Twig_TokenParser_From(),
-            new Twig_TokenParser_Set(),
-            new Twig_TokenParser_Spaceless(),
-            new Twig_TokenParser_Flush(),
-            new Twig_TokenParser_Do(),
-            new Twig_TokenParser_Embed(),
-        );
-    }
-
-    /**
-     * Returns a list of filters to add to the existing list.
-     *
-     * @return array An array of filters
-     */
-    public function getFilters()
-    {
-        $filters = array(
-            // formatting filters
-            new Twig_SimpleFilter('date', 'twig_date_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('date_modify', 'twig_date_modify_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('format', 'sprintf'),
-            new Twig_SimpleFilter('replace', 'twig_replace_filter'),
-            new Twig_SimpleFilter('number_format', 'twig_number_format_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('abs', 'abs'),
-            new Twig_SimpleFilter('round', 'twig_round'),
-
-            // encoding
-            new Twig_SimpleFilter('url_encode', 'twig_urlencode_filter'),
-            new Twig_SimpleFilter('json_encode', 'twig_jsonencode_filter'),
-            new Twig_SimpleFilter('convert_encoding', 'twig_convert_encoding'),
-
-            // string filters
-            new Twig_SimpleFilter('title', 'twig_title_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('capitalize', 'twig_capitalize_string_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('upper', 'strtoupper'),
-            new Twig_SimpleFilter('lower', 'strtolower'),
-            new Twig_SimpleFilter('striptags', 'strip_tags'),
-            new Twig_SimpleFilter('trim', 'trim'),
-            new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
-
-            // array helpers
-            new Twig_SimpleFilter('join', 'twig_join_filter'),
-            new Twig_SimpleFilter('split', 'twig_split_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('sort', 'twig_sort_filter'),
-            new Twig_SimpleFilter('merge', 'twig_array_merge'),
-            new Twig_SimpleFilter('batch', 'twig_array_batch'),
-
-            // string/array filters
-            new Twig_SimpleFilter('reverse', 'twig_reverse_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('length', 'twig_length_filter', array('needs_environment' => true)),
-            new Twig_SimpleFilter('slice', 'twig_slice', array('needs_environment' => true)),
-            new Twig_SimpleFilter('first', 'twig_first', array('needs_environment' => true)),
-            new Twig_SimpleFilter('last', 'twig_last', array('needs_environment' => true)),
-
-            // iteration and runtime
-            new Twig_SimpleFilter('default', '_twig_default_filter', array('node_class' => 'Twig_Node_Expression_Filter_Default')),
-            new Twig_SimpleFilter('keys', 'twig_get_array_keys_filter'),
-
-            // escaping
-            new Twig_SimpleFilter('escape', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-            new Twig_SimpleFilter('e', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
-        );
-
-        if (function_exists('mb_get_info')) {
-            $filters[] = new Twig_SimpleFilter('upper', 'twig_upper_filter', array('needs_environment' => true));
-            $filters[] = new Twig_SimpleFilter('lower', 'twig_lower_filter', array('needs_environment' => true));
-        }
-
-        return $filters;
-    }
-
-    /**
-     * Returns a list of global functions to add to the existing list.
-     *
-     * @return array An array of global functions
-     */
-    public function getFunctions()
-    {
-        return array(
-            new Twig_SimpleFunction('max', 'max'),
-            new Twig_SimpleFunction('min', 'min'),
-            new Twig_SimpleFunction('range', 'range'),
-            new Twig_SimpleFunction('constant', 'twig_constant'),
-            new Twig_SimpleFunction('cycle', 'twig_cycle'),
-            new Twig_SimpleFunction('random', 'twig_random', array('needs_environment' => true)),
-            new Twig_SimpleFunction('date', 'twig_date_converter', array('needs_environment' => true)),
-            new Twig_SimpleFunction('include', 'twig_include', array('needs_environment' => true, 'needs_context' => true, 'is_safe' => array('all'))),
-            new Twig_SimpleFunction('source', 'twig_source', array('needs_environment' => true, 'is_safe' => array('all'))),
-        );
-    }
-
-    /**
-     * Returns a list of tests to add to the existing list.
-     *
-     * @return array An array of tests
-     */
-    public function getTests()
-    {
-        return array(
-            new Twig_SimpleTest('even', null, array('node_class' => 'Twig_Node_Expression_Test_Even')),
-            new Twig_SimpleTest('odd', null, array('node_class' => 'Twig_Node_Expression_Test_Odd')),
-            new Twig_SimpleTest('defined', null, array('node_class' => 'Twig_Node_Expression_Test_Defined')),
-            new Twig_SimpleTest('sameas', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas', 'deprecated' => true, 'alternative' => 'same as')),
-            new Twig_SimpleTest('same as', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas')),
-            new Twig_SimpleTest('none', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('null', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
-            new Twig_SimpleTest('divisibleby', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby', 'deprecated' => true, 'alternative' => 'divisible by')),
-            new Twig_SimpleTest('divisible by', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby')),
-            new Twig_SimpleTest('constant', null, array('node_class' => 'Twig_Node_Expression_Test_Constant')),
-            new Twig_SimpleTest('empty', 'twig_test_empty'),
-            new Twig_SimpleTest('iterable', 'twig_test_iterable'),
-        );
-    }
-
-    /**
-     * Returns a list of operators to add to the existing list.
-     *
-     * @return array An array of operators
-     */
-    public function getOperators()
-    {
-        return array(
-            array(
-                'not' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
-                '-' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Neg'),
-                '+' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Pos'),
-            ),
-            array(
-                'or' => array('precedence' => 10, 'class' => 'Twig_Node_Expression_Binary_Or', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'and' => array('precedence' => 15, 'class' => 'Twig_Node_Expression_Binary_And', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-or' => array('precedence' => 16, 'class' => 'Twig_Node_Expression_Binary_BitwiseOr', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-xor' => array('precedence' => 17, 'class' => 'Twig_Node_Expression_Binary_BitwiseXor', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'b-and' => array('precedence' => 18, 'class' => 'Twig_Node_Expression_Binary_BitwiseAnd', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '==' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Equal', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '!=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Less', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Greater', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '>=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_GreaterEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '<=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_LessEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'not in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotIn', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_In', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'matches' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Matches', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'starts with' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_StartsWith', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'ends with' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_EndsWith', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '..' => array('precedence' => 25, 'class' => 'Twig_Node_Expression_Binary_Range', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '+' => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Add', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '-' => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Sub', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '~' => array('precedence' => 40, 'class' => 'Twig_Node_Expression_Binary_Concat', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '*' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mul', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '/' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Div', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '//' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_FloorDiv', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '%' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mod', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is' => array('precedence' => 100, 'callable' => array($this, 'parseTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                'is not' => array('precedence' => 100, 'callable' => array($this, 'parseNotTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
-                '**' => array('precedence' => 200, 'class' => 'Twig_Node_Expression_Binary_Power', 'associativity' => Twig_ExpressionParser::OPERATOR_RIGHT),
-            ),
-        );
-    }
-
-    public function parseNotTestExpression(Twig_Parser $parser, Twig_NodeInterface $node)
-    {
-        return new Twig_Node_Expression_Unary_Not($this->parseTestExpression($parser, $node), $parser->getCurrentToken()->getLine());
-    }
-
-    public function parseTestExpression(Twig_Parser $parser, Twig_NodeInterface $node)
-    {
-        $stream = $parser->getStream();
-        list($name, $test) = $this->getTest($parser, $node->getLine());
-
-        if ($test instanceof Twig_SimpleTest && $test->isDeprecated()) {
-            $message = sprintf('Twig Test "%s" is deprecated', $name);
-            if ($test->getAlternative()) {
-                $message .= sprintf('. Use "%s" instead', $test->getAlternative());
-            }
-            $message .= sprintf(' in %s at line %d.', $stream->getFilename(), $stream->getCurrent()->getLine());
-
-            @trigger_error($message, E_USER_DEPRECATED);
-        }
-
-        $class = $this->getTestNodeClass($parser, $test);
-        $arguments = null;
-        if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
-            $arguments = $parser->getExpressionParser()->parseArguments(true);
-        }
-
-        return new $class($node, $name, $arguments, $parser->getCurrentToken()->getLine());
-    }
-
-    protected function getTest(Twig_Parser $parser, $line)
-    {
-        $stream = $parser->getStream();
-        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
-        $env = $parser->getEnvironment();
-
-        if ($test = $env->getTest($name)) {
-            return array($name, $test);
-        }
-
-        if ($stream->test(Twig_Token::NAME_TYPE)) {
-            // try 2-words tests
-            $name = $name.' '.$parser->getCurrentToken()->getValue();
-
-            if ($test = $env->getTest($name)) {
-                $parser->getStream()->next();
-
-                return array($name, $test);
-            }
-        }
-
-        $message = sprintf('The test "%s" does not exist', $name);
-        if ($alternatives = $env->computeAlternatives($name, array_keys($env->getTests()))) {
-            $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
-        }
-
-        throw new Twig_Error_Syntax($message, $line, $parser->getFilename());
-    }
-
-    protected function getTestNodeClass(Twig_Parser $parser, $test)
-    {
-        if ($test instanceof Twig_SimpleTest) {
-            return $test->getNodeClass();
-        }
-
-        return $test instanceof Twig_Test_Node ? $test->getClass() : 'Twig_Node_Expression_Test';
-    }
-
-    /**
-     * Returns the name of the extension.
-     *
-     * @return string The extension name
-     */
-    public function getName()
-    {
-        return 'core';
-    }
-}
-
-/**
- * Cycles over a value.
- *
- * @param ArrayAccess|array $values   An array or an ArrayAccess instance
- * @param int               $position The cycle position
- *
- * @return string The next value in the cycle
- */
-function twig_cycle($values, $position)
-{
-    if (!is_array($values) && !$values instanceof ArrayAccess) {
-        return $values;
-    }
-
-    return $values[$position % count($values)];
-}
-
-/**
- * Returns a random value depending on the supplied parameter type:
- * - a random item from a Traversable or array
- * - a random character from a string
- * - a random integer between 0 and the integer parameter.
- *
- * @param Twig_Environment             $env    A Twig_Environment instance
- * @param Traversable|array|int|string $values The values to pick a random item from
- *
- * @throws Twig_Error_Runtime When $values is an empty array (does not apply to an empty string which is returned as is).
- *
- * @return mixed A random value from the given sequence
- */
-function twig_random(Twig_Environment $env, $values = null)
-{
-    if (null === $values) {
-        return mt_rand();
-    }
-
-    if (is_int($values) || is_float($values)) {
-        return $values < 0 ? mt_rand($values, 0) : mt_rand(0, $values);
-    }
-
-    if ($values instanceof Traversable) {
-        $values = iterator_to_array($values);
-    } elseif (is_string($values)) {
-        if ('' === $values) {
-            return '';
-        }
-        if (null !== $charset = $env->getCharset()) {
-            if ('UTF-8' != $charset) {
-                $values = twig_convert_encoding($values, 'UTF-8', $charset);
-            }
-
-            // unicode version of str_split()
-            // split at all positions, but not after the start and not before the end
-            $values = preg_split('/(?<!^)(?!$)/u', $values);
-
-            if ('UTF-8' != $charset) {
-                foreach ($values as $i => $value) {
-                    $values[$i] = twig_convert_encoding($value, $charset, 'UTF-8');
-                }
-            }
-        } else {
-            return $values[mt_rand(0, strlen($values) - 1)];
-        }
-    }
-
-    if (!is_array($values)) {
-        return $values;
-    }
-
-    if (0 === count($values)) {
-        throw new Twig_Error_Runtime('The random function cannot pick from an empty array.');
-    }
-
-    return $values[array_rand($values, 1)];
-}
-
-/**
- * Converts a date to the given format.
- *
- * <pre>
- *   {{ post.published_at|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment                               $env      A Twig_Environment instance
- * @param DateTime|DateTimeInterface|DateInterval|string $date     A date
- * @param string|null                                    $format   The target format, null to use the default
- * @param DateTimeZone|string|null|false                 $timezone The target timezone, null to use the default, false to leave unchanged
- *
- * @return string The formatted date
- */
-function twig_date_format_filter(Twig_Environment $env, $date, $format = null, $timezone = null)
-{
-    if (null === $format) {
-        $formats = $env->getExtension('core')->getDateFormat();
-        $format = $date instanceof DateInterval ? $formats[1] : $formats[0];
-    }
-
-    if ($date instanceof DateInterval) {
-        return $date->format($format);
-    }
-
-    return twig_date_converter($env, $date, $timezone)->format($format);
-}
-
-/**
- * Returns a new date object modified.
- *
- * <pre>
- *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
- * </pre>
- *
- * @param Twig_Environment $env      A Twig_Environment instance
- * @param DateTime|string  $date     A date
- * @param string           $modifier A modifier string
- *
- * @return DateTime A new date object
- */
-function twig_date_modify_filter(Twig_Environment $env, $date, $modifier)
-{
-    $date = twig_date_converter($env, $date, false);
-    $resultDate = $date->modify($modifier);
-
-    // This is a hack to ensure PHP 5.2 support and support for DateTimeImmutable
-    // DateTime::modify does not return the modified DateTime object < 5.3.0
-    // and DateTimeImmutable does not modify $date.
-    return null === $resultDate ? $date : $resultDate;
-}
-
-/**
- * Converts an input to a DateTime instance.
- *
- * <pre>
- *    {% if date(user.created_at) < date('+2days') %}
- *      {# do something #}
- *    {% endif %}
- * </pre>
- *
- * @param Twig_Environment                       $env      A Twig_Environment instance
- * @param DateTime|DateTimeInterface|string|null $date     A date
- * @param DateTimeZone|string|null|false         $timezone The target timezone, null to use the default, false to leave unchanged
- *
- * @return DateTime A DateTime instance
- */
-function twig_date_converter(Twig_Environment $env, $date = null, $timezone = null)
-{
-    // determine the timezone
-    if (false !== $timezone) {
-        if (null === $timezone) {
-            $timezone = $env->getExtension('core')->getTimezone();
-        } elseif (!$timezone instanceof DateTimeZone) {
-            $timezone = new DateTimeZone($timezone);
-        }
-    }
-
-    // immutable dates
-    if ($date instanceof DateTimeImmutable) {
-        return false !== $timezone ? $date->setTimezone($timezone) : $date;
-    }
-
-    if ($date instanceof DateTime || $date instanceof DateTimeInterface) {
-        $date = clone $date;
-        if (false !== $timezone) {
-            $date->setTimezone($timezone);
-        }
-
-        return $date;
-    }
-
-    if (null === $date || 'now' === $date) {
-        return new DateTime($date, false !== $timezone ? $timezone : $env->getExtension('core')->getTimezone());
-    }
-
-    $asString = (string) $date;
-    if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
-        $date = new DateTime('@'.$date);
-    } else {
-        $date = new DateTime($date, $env->getExtension('core')->getTimezone());
-    }
-
-    if (false !== $timezone) {
-        $date->setTimezone($timezone);
-    }
-
-    return $date;
-}
-
-/**
- * Replaces strings within a string.
- *
- * @param string            $str  String to replace in
- * @param array|Traversable $from Replace values
- * @param string|null       $to   Replace to, deprecated (@see http://php.net/manual/en/function.strtr.php)
- *
- * @return string
- */
-function twig_replace_filter($str, $from, $to = null)
-{
-    if ($from instanceof Traversable) {
-        $from = iterator_to_array($from);
-    } elseif (is_string($from) && is_string($to)) {
-        @trigger_error('Using "replace" with character by character replacement is deprecated and will be removed in Twig 2.0', E_USER_DEPRECATED);
-
-        return strtr($str, $from, $to);
-    } elseif (!is_array($from)) {
-        throw new Twig_Error_Runtime(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);
-}
-
-/**
- * Rounds a number.
- *
- * @param int|float $value     The value to round
- * @param int|float $precision The rounding precision
- * @param string    $method    The method to use for rounding
- *
- * @return int|float The rounded number
- */
-function twig_round($value, $precision = 0, $method = 'common')
-{
-    if ('common' == $method) {
-        return round($value, $precision);
-    }
-
-    if ('ceil' != $method && 'floor' != $method) {
-        throw new Twig_Error_Runtime('The round filter only supports the "common", "ceil", and "floor" methods.');
-    }
-
-    return $method($value * pow(10, $precision)) / pow(10, $precision);
-}
-
-/**
- * Number format filter.
- *
- * All of the formatting options can be left null, in that case the defaults will
- * be used.  Supplying any of the parameters will override the defaults set in the
- * environment object.
- *
- * @param Twig_Environment $env          A Twig_Environment instance
- * @param mixed            $number       A float/int/string of the number to format
- * @param int              $decimal      The number of decimal points to display.
- * @param string           $decimalPoint The character(s) to use for the decimal point.
- * @param string           $thousandSep  The character(s) to use for the thousands separator.
- *
- * @return string The formatted number
- */
-function twig_number_format_filter(Twig_Environment $env, $number, $decimal = null, $decimalPoint = null, $thousandSep = null)
-{
-    $defaults = $env->getExtension('core')->getNumberFormat();
-    if (null === $decimal) {
-        $decimal = $defaults[0];
-    }
-
-    if (null === $decimalPoint) {
-        $decimalPoint = $defaults[1];
-    }
-
-    if (null === $thousandSep) {
-        $thousandSep = $defaults[2];
-    }
-
-    return number_format((float) $number, $decimal, $decimalPoint, $thousandSep);
-}
-
-/**
- * URL encodes (RFC 3986) a string as a path segment or an array as a query string.
- *
- * @param string|array $url A URL or an array of query parameters
- *
- * @return string The URL encoded value
- */
-function twig_urlencode_filter($url)
-{
-    if (is_array($url)) {
-        if (defined('PHP_QUERY_RFC3986')) {
-            return http_build_query($url, '', '&', PHP_QUERY_RFC3986);
-        }
-
-        return http_build_query($url, '', '&');
-    }
-
-    return rawurlencode($url);
-}
-
-if (PHP_VERSION_ID < 50300) {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed $value   The value to encode.
-     * @param int   $options Not used on PHP 5.2.x
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value);
-    }
-} else {
-    /**
-     * JSON encodes a variable.
-     *
-     * @param mixed $value   The value to encode.
-     * @param int   $options Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
-     *
-     * @return mixed The JSON encoded value
-     */
-    function twig_jsonencode_filter($value, $options = 0)
-    {
-        if ($value instanceof Twig_Markup) {
-            $value = (string) $value;
-        } elseif (is_array($value)) {
-            array_walk_recursive($value, '_twig_markup2string');
-        }
-
-        return json_encode($value, $options);
-    }
-}
-
-function _twig_markup2string(&$value)
-{
-    if ($value instanceof Twig_Markup) {
-        $value = (string) $value;
-    }
-}
-
-/**
- * Merges an array with another one.
- *
- * <pre>
- *  {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
- *
- *  {% set items = items|merge({ 'peugeot': 'car' }) %}
- *
- *  {# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
- * </pre>
- *
- * @param array|Traversable $arr1 An array
- * @param array|Traversable $arr2 An array
- *
- * @return array The merged array
- */
-function twig_array_merge($arr1, $arr2)
-{
-    if ($arr1 instanceof Traversable) {
-        $arr1 = iterator_to_array($arr1);
-    } elseif (!is_array($arr1)) {
-        throw new Twig_Error_Runtime(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)) {
-        throw new Twig_Error_Runtime(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as second argument.', gettype($arr2)));
-    }
-
-    return array_merge($arr1, $arr2);
-}
-
-/**
- * Slices a variable.
- *
- * @param Twig_Environment $env          A Twig_Environment instance
- * @param mixed            $item         A variable
- * @param int              $start        Start of the slice
- * @param int              $length       Size of the slice
- * @param bool             $preserveKeys Whether to preserve key or not (when the input is an array)
- *
- * @return mixed The sliced variable
- */
-function twig_slice(Twig_Environment $env, $item, $start, $length = null, $preserveKeys = false)
-{
-    if ($item instanceof Traversable) {
-        if ($item instanceof IteratorAggregate) {
-            $item = $item->getIterator();
-        }
-
-        if ($start >= 0 && $length >= 0 && $item instanceof Iterator) {
-            try {
-                return iterator_to_array(new LimitIterator($item, $start, $length === null ? -1 : $length), $preserveKeys);
-            } catch (OutOfBoundsException $exception) {
-                return array();
-            }
-        }
-
-        $item = iterator_to_array($item, $preserveKeys);
-    }
-
-    if (is_array($item)) {
-        return array_slice($item, $start, $length, $preserveKeys);
-    }
-
-    $item = (string) $item;
-
-    if (function_exists('mb_get_info') && null !== $charset = $env->getCharset()) {
-        return (string) mb_substr($item, $start, null === $length ? mb_strlen($item, $charset) - $start : $length, $charset);
-    }
-
-    return (string) (null === $length ? substr($item, $start) : substr($item, $start, $length));
-}
-
-/**
- * Returns the first element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The first element of the item
- */
-function twig_first(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, 0, 1, false);
-
-    return is_string($elements) ? $elements : current($elements);
-}
-
-/**
- * Returns the last element of the item.
- *
- * @param Twig_Environment $env  A Twig_Environment instance
- * @param mixed            $item A variable
- *
- * @return mixed The last element of the item
- */
-function twig_last(Twig_Environment $env, $item)
-{
-    $elements = twig_slice($env, $item, -1, 1, false);
-
-    return is_string($elements) ? $elements : current($elements);
-}
-
-/**
- * Joins the values to a string.
- *
- * The separator between elements is an empty string per default, you can define it with the optional parameter.
- *
- * <pre>
- *  {{ [1, 2, 3]|join('|') }}
- *  {# returns 1|2|3 #}
- *
- *  {{ [1, 2, 3]|join }}
- *  {# returns 123 #}
- * </pre>
- *
- * @param array  $value An array
- * @param string $glue  The separator
- *
- * @return string The concatenated string
- */
-function twig_join_filter($value, $glue = '')
-{
-    if ($value instanceof Traversable) {
-        $value = iterator_to_array($value, false);
-    }
-
-    return implode($glue, (array) $value);
-}
-
-/**
- * Splits the string into an array.
- *
- * <pre>
- *  {{ "one,two,three"|split(',') }}
- *  {# returns [one, two, three] #}
- *
- *  {{ "one,two,three,four,five"|split(',', 3) }}
- *  {# returns [one, two, "three,four,five"] #}
- *
- *  {{ "123"|split('') }}
- *  {# returns [1, 2, 3] #}
- *
- *  {{ "aabbcc"|split('', 2) }}
- *  {# returns [aa, bb, cc] #}
- * </pre>
- *
- * @param string $value     A string
- * @param string $delimiter The delimiter
- * @param int    $limit     The limit
- *
- * @return array The split string as an array
- */
-function twig_split_filter(Twig_Environment $env, $value, $delimiter, $limit = null)
-{
-    if (!empty($delimiter)) {
-        return null === $limit ? explode($delimiter, $value) : explode($delimiter, $value, $limit);
-    }
-
-    if (!function_exists('mb_get_info') || null === $charset = $env->getCharset()) {
-        return str_split($value, null === $limit ? 1 : $limit);
-    }
-
-    if ($limit <= 1) {
-        return preg_split('/(?<!^)(?!$)/u', $value);
-    }
-
-    $length = mb_strlen($value, $charset);
-    if ($length < $limit) {
-        return array($value);
-    }
-
-    $r = array();
-    for ($i = 0; $i < $length; $i += $limit) {
-        $r[] = mb_substr($value, $i, $limit, $charset);
-    }
-
-    return $r;
-}
-
-// The '_default' filter is used internally to avoid using the ternary operator
-// which costs a lot for big contexts (before PHP 5.4). So, on average,
-// a function call is cheaper.
-function _twig_default_filter($value, $default = '')
-{
-    if (twig_test_empty($value)) {
-        return $default;
-    }
-
-    return $value;
-}
-
-/**
- * Returns the keys for the given array.
- *
- * It is useful when you want to iterate over the keys of an array:
- *
- * <pre>
- *  {% for key in array|keys %}
- *      {# ... #}
- *  {% endfor %}
- * </pre>
- *
- * @param array $array An array
- *
- * @return array The keys
- */
-function twig_get_array_keys_filter($array)
-{
-    if ($array instanceof Traversable) {
-        return array_keys(iterator_to_array($array));
-    }
-
-    if (!is_array($array)) {
-        return array();
-    }
-
-    return array_keys($array);
-}
-
-/**
- * Reverses a variable.
- *
- * @param Twig_Environment         $env          A Twig_Environment instance
- * @param array|Traversable|string $item         An array, a Traversable instance, or a string
- * @param bool                     $preserveKeys Whether to preserve key or not
- *
- * @return mixed The reversed input
- */
-function twig_reverse_filter(Twig_Environment $env, $item, $preserveKeys = false)
-{
-    if ($item instanceof Traversable) {
-        return array_reverse(iterator_to_array($item), $preserveKeys);
-    }
-
-    if (is_array($item)) {
-        return array_reverse($item, $preserveKeys);
-    }
-
-    if (null !== $charset = $env->getCharset()) {
-        $string = (string) $item;
-
-        if ('UTF-8' != $charset) {
-            $item = twig_convert_encoding($string, 'UTF-8', $charset);
-        }
-
-        preg_match_all('/./us', $item, $matches);
-
-        $string = implode('', array_reverse($matches[0]));
-
-        if ('UTF-8' != $charset) {
-            $string = twig_convert_encoding($string, $charset, 'UTF-8');
-        }
-
-        return $string;
-    }
-
-    return strrev((string) $item);
-}
-
-/**
- * Sorts an array.
- *
- * @param array|Traversable $array
- *
- * @return array
- */
-function twig_sort_filter($array)
-{
-    if ($array instanceof Traversable) {
-        $array = iterator_to_array($array);
-    } elseif (!is_array($array)) {
-        throw new Twig_Error_Runtime(sprintf('The sort filter only works with arrays or "Traversable", got "%s".', gettype($array)));
-    }
-
-    asort($array);
-
-    return $array;
-}
-
-/* used internally */
-function twig_in_filter($value, $compare)
-{
-    if (is_array($compare)) {
-        return in_array($value, $compare, is_object($value) || is_resource($value));
-    } elseif (is_string($compare) && (is_string($value) || is_int($value) || is_float($value))) {
-        return '' === $value || false !== strpos($compare, (string) $value);
-    } elseif ($compare instanceof Traversable) {
-        return in_array($value, iterator_to_array($compare, false), is_object($value) || is_resource($value));
-    }
-
-    return false;
-}
-
-/**
- * Escapes a string.
- *
- * @param Twig_Environment $env        A Twig_Environment instance
- * @param string           $string     The value to be escaped
- * @param string           $strategy   The escaping strategy
- * @param string           $charset    The charset
- * @param bool             $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
- *
- * @return string
- */
-function twig_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
-{
-    if ($autoescape && $string instanceof Twig_Markup) {
-        return $string;
-    }
-
-    if (!is_string($string)) {
-        if (is_object($string) && method_exists($string, '__toString')) {
-            $string = (string) $string;
-        } else {
-            return $string;
-        }
-    }
-
-    if (null === $charset) {
-        $charset = $env->getCharset();
-    }
-
-    switch ($strategy) {
-        case 'html':
-            // see http://php.net/htmlspecialchars
-
-            // Using a static variable to avoid initializing the array
-            // each time the function is called. Moving the declaration on the
-            // top of the function slow downs other escaping strategies.
-            static $htmlspecialcharsCharsets;
-
-            if (null === $htmlspecialcharsCharsets) {
-                if (defined('HHVM_VERSION')) {
-                    $htmlspecialcharsCharsets = array('utf-8' => true, 'UTF-8' => true);
-                } else {
-                    $htmlspecialcharsCharsets = array(
-                        'ISO-8859-1' => true, 'ISO8859-1' => true,
-                        'ISO-8859-15' => true, 'ISO8859-15' => true,
-                        'utf-8' => true, 'UTF-8' => true,
-                        'CP866' => true, 'IBM866' => true, '866' => true,
-                        'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true,
-                        '1251' => true,
-                        'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true,
-                        'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true,
-                        'BIG5' => true, '950' => true,
-                        'GB2312' => true, '936' => true,
-                        'BIG5-HKSCS' => true,
-                        'SHIFT_JIS' => true, 'SJIS' => true, '932' => true,
-                        'EUC-JP' => true, 'EUCJP' => true,
-                        'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true,
-                    );
-                }
-            }
-
-            if (isset($htmlspecialcharsCharsets[$charset])) {
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) {
-                // cache the lowercase variant for future iterations
-                $htmlspecialcharsCharsets[$charset] = true;
-
-                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
-            }
-
-            $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
-
-            return twig_convert_encoding($string, $charset, 'UTF-8');
-
-        case 'js':
-            // escape all non-alphanumeric characters
-            // into their \xHH or \uHHHH representations
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'css':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'html_attr':
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, 'UTF-8', $charset);
-            }
-
-            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
-                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
-            }
-
-            $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);
-
-            if ('UTF-8' != $charset) {
-                $string = twig_convert_encoding($string, $charset, 'UTF-8');
-            }
-
-            return $string;
-
-        case 'url':
-            if (PHP_VERSION_ID < 50300) {
-                return str_replace('%7E', '~', rawurlencode($string));
-            }
-
-            return rawurlencode($string);
-
-        default:
-            static $escapers;
-
-            if (null === $escapers) {
-                $escapers = $env->getExtension('core')->getEscapers();
-            }
-
-            if (isset($escapers[$strategy])) {
-                return call_user_func($escapers[$strategy], $env, $string, $charset);
-            }
-
-            $validStrategies = implode(', ', array_merge(array('html', 'js', 'url', 'css', 'html_attr'), array_keys($escapers)));
-
-            throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: %s).', $strategy, $validStrategies));
-    }
-}
-
-/* used internally */
-function twig_escape_filter_is_safe(Twig_Node $filterArgs)
-{
-    foreach ($filterArgs as $arg) {
-        if ($arg instanceof Twig_Node_Expression_Constant) {
-            return array($arg->getAttribute('value'));
-        }
-
-        return array();
-    }
-
-    return array('html');
-}
-
-if (function_exists('mb_convert_encoding')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return mb_convert_encoding($string, $to, $from);
-    }
-} elseif (function_exists('iconv')) {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        return iconv($from, $to, $string);
-    }
-} else {
-    function twig_convert_encoding($string, $to, $from)
-    {
-        throw new Twig_Error_Runtime('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
-    }
-}
-
-function _twig_escape_js_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        return '\\x'.strtoupper(substr('00'.bin2hex($char), -2));
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\u'.strtoupper(substr('0000'.bin2hex($char), -4));
-}
-
-function _twig_escape_css_callback($matches)
-{
-    $char = $matches[0];
-
-    // \xHH
-    if (!isset($char[1])) {
-        $hex = ltrim(strtoupper(bin2hex($char)), '0');
-        if (0 === strlen($hex)) {
-            $hex = '0';
-        }
-
-        return '\\'.$hex.' ';
-    }
-
-    // \uHHHH
-    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
-
-    return '\\'.ltrim(strtoupper(bin2hex($char)), '0').' ';
-}
-
-/**
- * This function is adapted from code coming from Zend Framework.
- *
- * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-function _twig_escape_html_attr_callback($matches)
-{
-    /*
-     * While HTML supports far more named entities, the lowest common denominator
-     * has become HTML5's XML Serialisation which is restricted to the those named
-     * entities that XML supports. Using HTML entities would result in this error:
-     *     XML Parsing Error: undefined entity
-     */
-    static $entityMap = array(
-        34 => 'quot', /* quotation mark */
-        38 => 'amp',  /* ampersand */
-        60 => 'lt',   /* less-than sign */
-        62 => 'gt',   /* greater-than sign */
-    );
-
-    $chr = $matches[0];
-    $ord = ord($chr);
-
-    /*
-     * The following replaces characters undefined in HTML with the
-     * hex entity for the Unicode replacement character.
-     */
-    if (($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r") || ($ord >= 0x7f && $ord <= 0x9f)) {
-        return '&#xFFFD;';
-    }
-
-    /*
-     * Check if the current character to escape has a name entity we should
-     * replace it with while grabbing the hex value of the character.
-     */
-    if (strlen($chr) == 1) {
-        $hex = strtoupper(substr('00'.bin2hex($chr), -2));
-    } else {
-        $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8');
-        $hex = strtoupper(substr('0000'.bin2hex($chr), -4));
-    }
-
-    $int = hexdec($hex);
-    if (array_key_exists($int, $entityMap)) {
-        return sprintf('&%s;', $entityMap[$int]);
-    }
-
-    /*
-     * Per OWASP recommendations, we'll use hex entities for any other
-     * characters where a named entity does not exist.
-     */
-    return sprintf('&#x%s;', $hex);
-}
-
-// add multibyte extensions if possible
-if (function_exists('mb_get_info')) {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return int The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? mb_strlen($thing, $env->getCharset()) : count($thing);
-    }
-
-    /**
-     * Converts a string to uppercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The uppercased string
-     */
-    function twig_upper_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtoupper($string, $charset);
-        }
-
-        return strtoupper($string);
-    }
-
-    /**
-     * Converts a string to lowercase.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The lowercased string
-     */
-    function twig_lower_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_strtolower($string, $charset);
-        }
-
-        return strtolower($string);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== ($charset = $env->getCharset())) {
-            return mb_convert_case($string, MB_CASE_TITLE, $charset);
-        }
-
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        if (null !== $charset = $env->getCharset()) {
-            return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset).mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset);
-        }
-
-        return ucfirst(strtolower($string));
-    }
-}
-// and byte fallback
-else {
-    /**
-     * Returns the length of a variable.
-     *
-     * @param Twig_Environment $env   A Twig_Environment instance
-     * @param mixed            $thing A variable
-     *
-     * @return int The length of the value
-     */
-    function twig_length_filter(Twig_Environment $env, $thing)
-    {
-        return is_scalar($thing) ? strlen($thing) : count($thing);
-    }
-
-    /**
-     * Returns a titlecased string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The titlecased string
-     */
-    function twig_title_string_filter(Twig_Environment $env, $string)
-    {
-        return ucwords(strtolower($string));
-    }
-
-    /**
-     * Returns a capitalized string.
-     *
-     * @param Twig_Environment $env    A Twig_Environment instance
-     * @param string           $string A string
-     *
-     * @return string The capitalized string
-     */
-    function twig_capitalize_string_filter(Twig_Environment $env, $string)
-    {
-        return ucfirst(strtolower($string));
-    }
-}
-
-/* used internally */
-function twig_ensure_traversable($seq)
-{
-    if ($seq instanceof Traversable || is_array($seq)) {
-        return $seq;
-    }
-
-    return array();
-}
-
-/**
- * Checks if a variable is empty.
- *
- * <pre>
- * {# evaluates to true if the foo variable is null, false, or the empty string #}
- * {% if foo is empty %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return bool true if the value is empty, false otherwise
- */
-function twig_test_empty($value)
-{
-    if ($value instanceof Countable) {
-        return 0 == count($value);
-    }
-
-    return '' === $value || false === $value || null === $value || array() === $value;
-}
-
-/**
- * Checks if a variable is traversable.
- *
- * <pre>
- * {# evaluates to true if the foo variable is an array or a traversable object #}
- * {% if foo is traversable %}
- *     {# ... #}
- * {% endif %}
- * </pre>
- *
- * @param mixed $value A variable
- *
- * @return bool true if the value is traversable
- */
-function twig_test_iterable($value)
-{
-    return $value instanceof Traversable || is_array($value);
-}
-
-/**
- * Renders a template.
- *
- * @param Twig_Environment $env
- * @param array            $context
- * @param string|array     $template      The template to render or an array of templates to try consecutively
- * @param array            $variables     The variables to pass to the template
- * @param bool             $withContext
- * @param bool             $ignoreMissing Whether to ignore missing templates or not
- * @param bool             $sandboxed     Whether to sandbox the template or not
- *
- * @return string The rendered template
- */
-function twig_include(Twig_Environment $env, $context, $template, $variables = array(), $withContext = true, $ignoreMissing = false, $sandboxed = false)
-{
-    $alreadySandboxed = false;
-    $sandbox = null;
-    if ($withContext) {
-        $variables = array_merge($context, $variables);
-    }
-
-    if ($isSandboxed = $sandboxed && $env->hasExtension('sandbox')) {
-        $sandbox = $env->getExtension('sandbox');
-        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
-            $sandbox->enableSandbox();
-        }
-    }
-
-    $result = null;
-    try {
-        $result = $env->resolveTemplate($template)->render($variables);
-    } catch (Twig_Error_Loader $e) {
-        if (!$ignoreMissing) {
-            if ($isSandboxed && !$alreadySandboxed) {
-                $sandbox->disableSandbox();
-            }
-
-            throw $e;
-        }
-    }
-
-    if ($isSandboxed && !$alreadySandboxed) {
-        $sandbox->disableSandbox();
-    }
-
-    return $result;
-}
-
-/**
- * Returns a template content without rendering it.
- *
- * @param string $name          The template name
- * @param bool   $ignoreMissing Whether to ignore missing templates or not
- *
- * @return string The template source
- */
-function twig_source(Twig_Environment $env, $name, $ignoreMissing = false)
-{
-    try {
-        return $env->getLoader()->getSource($name);
-    } catch (Twig_Error_Loader $e) {
-        if (!$ignoreMissing) {
-            throw $e;
-        }
-    }
-}
-
-/**
- * Provides the ability to get constants from instances as well as class/global constants.
- *
- * @param string      $constant The name of the constant
- * @param null|object $object   The object to get the constant from
- *
- * @return string
- */
-function twig_constant($constant, $object = null)
-{
-    if (null !== $object) {
-        $constant = get_class($object).'::'.$constant;
-    }
-
-    return constant($constant);
-}
-
-/**
- * Batches item.
- *
- * @param array $items An array of items
- * @param int   $size  The size of the batch
- * @param mixed $fill  A value used to fill missing items
- *
- * @return array
- */
-function twig_array_batch($items, $size, $fill = null)
-{
-    if ($items instanceof Traversable) {
-        $items = iterator_to_array($items, false);
-    }
-
-    $size = ceil($size);
-
-    $result = array_chunk($items, $size, true);
-
-    if (null !== $fill && !empty($result)) {
-        $last = count($result) - 1;
-        if ($fillCount = $size - count($result[$last])) {
-            $result[$last] = array_merge(
-                $result[$last],
-                array_fill(0, $fillCount, $fill)
-            );
-        }
-    }
-
-    return $result;
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Staging.php b/core/vendor/twig/twig/lib/Twig/Extension/Staging.php
deleted file mode 100644
index 8ab0f45..0000000
--- a/core/vendor/twig/twig/lib/Twig/Extension/Staging.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2012 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Internal class.
- *
- * This class is used by Twig_Environment as a staging area and must not be used directly.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Extension_Staging extends Twig_Extension
-{
-    protected $functions = array();
-    protected $filters = array();
-    protected $visitors = array();
-    protected $tokenParsers = array();
-    protected $globals = array();
-    protected $tests = array();
-
-    public function addFunction($name, $function)
-    {
-        $this->functions[$name] = $function;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFunctions()
-    {
-        return $this->functions;
-    }
-
-    public function addFilter($name, $filter)
-    {
-        $this->filters[$name] = $filter;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getFilters()
-    {
-        return $this->filters;
-    }
-
-    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
-    {
-        $this->visitors[] = $visitor;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getNodeVisitors()
-    {
-        return $this->visitors;
-    }
-
-    public function addTokenParser(Twig_TokenParserInterface $parser)
-    {
-        $this->tokenParsers[] = $parser;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTokenParsers()
-    {
-        return $this->tokenParsers;
-    }
-
-    public function addGlobal($name, $value)
-    {
-        $this->globals[$name] = $value;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getGlobals()
-    {
-        return $this->globals;
-    }
-
-    public function addTest($name, $test)
-    {
-        $this->tests[$name] = $test;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getTests()
-    {
-        return $this->tests;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getName()
-    {
-        return 'staging';
-    }
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Loader/String.php b/core/vendor/twig/twig/lib/Twig/Loader/String.php
deleted file mode 100644
index 9bfd856..0000000
--- a/core/vendor/twig/twig/lib/Twig/Loader/String.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-@trigger_error('The Twig_Loader_String class is deprecated since version 1.18.1 and will be removed in 2.0. Use Twig_Loader_Array instead or Twig_Environment::createTemplate().', E_USER_DEPRECATED);
-
-/**
- * Loads a template from a string.
- *
- * This loader should NEVER be used. It only exists for Twig internal purposes.
- *
- * When using this loader with a cache mechanism, you should know that a new cache
- * key is generated each time a template content "changes" (the cache key being the
- * source code of the template). If you don't want to see your cache grows out of
- * control, you need to take care of clearing the old cache file by yourself.
- *
- * @deprecated since 1.18.1 (to be removed in 2.0)
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-class Twig_Loader_String implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
-{
-    /**
-     * {@inheritdoc}
-     */
-    public function getSource($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function exists($name)
-    {
-        return true;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function getCacheKey($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function isFresh($name, $time)
-    {
-        return true;
-    }
-}
diff --git a/core/vendor/twig/twig/lib/Twig/Template.php b/core/vendor/twig/twig/lib/Twig/Template.php
deleted file mode 100644
index 36d4162..0000000
--- a/core/vendor/twig/twig/lib/Twig/Template.php
+++ /dev/null
@@ -1,596 +0,0 @@
-<?php
-
-/*
- * This file is part of Twig.
- *
- * (c) 2009 Fabien Potencier
- * (c) 2009 Armin Ronacher
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Default base class for compiled templates.
- *
- * @author Fabien Potencier <fabien@symfony.com>
- */
-abstract class Twig_Template implements Twig_TemplateInterface
-{
-    protected static $cache = array();
-
-    protected $parent;
-    protected $parents = array();
-    protected $env;
-    protected $blocks = array();
-    protected $traits = array();
-
-    /**
-     * Constructor.
-     *
-     * @param Twig_Environment $env A Twig_Environment instance
-     */
-    public function __construct(Twig_Environment $env)
-    {
-        $this->env = $env;
-    }
-
-    /**
-     * Returns the template name.
-     *
-     * @return string The template name
-     */
-    abstract public function getTemplateName();
-
-    /**
-     * @deprecated since 1.20 (to be removed in 2.0)
-     */
-    public function getEnvironment()
-    {
-        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.20 and will be removed in 2.0.', E_USER_DEPRECATED);
-
-        return $this->env;
-    }
-
-    /**
-     * Returns the parent template.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param array $context
-     *
-     * @return Twig_TemplateInterface|false The parent template or false if there is no parent
-     */
-    public function getParent(array $context)
-    {
-        if (null !== $this->parent) {
-            return $this->parent;
-        }
-
-        try {
-            $parent = $this->doGetParent($context);
-
-            if (false === $parent) {
-                return false;
-            }
-
-            if ($parent instanceof self) {
-                return $this->parents[$parent->getTemplateName()] = $parent;
-            }
-
-            if (!isset($this->parents[$parent])) {
-                $this->parents[$parent] = $this->loadTemplate($parent);
-            }
-        } catch (Twig_Error_Loader $e) {
-            $e->setTemplateFile(null);
-            $e->guess();
-
-            throw $e;
-        }
-
-        return $this->parents[$parent];
-    }
-
-    protected function doGetParent(array $context)
-    {
-        return false;
-    }
-
-    public function isTraitable()
-    {
-        return true;
-    }
-
-    /**
-     * Displays a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to display from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     */
-    public function displayParentBlock($name, array $context, array $blocks = array())
-    {
-        $name = (string) $name;
-
-        if (isset($this->traits[$name])) {
-            $this->traits[$name][0]->displayBlock($name, $context, $blocks, false);
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, $blocks, false);
-        } else {
-            throw new Twig_Error_Runtime(sprintf('The template has no parent and no traits defining the "%s" block', $name), -1, $this->getTemplateName());
-        }
-    }
-
-    /**
-     * Displays a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name      The block name to display
-     * @param array  $context   The context
-     * @param array  $blocks    The current set of blocks
-     * @param bool   $useBlocks Whether to use the current set of blocks
-     */
-    public function displayBlock($name, array $context, array $blocks = array(), $useBlocks = true)
-    {
-        $name = (string) $name;
-
-        if ($useBlocks && isset($blocks[$name])) {
-            $template = $blocks[$name][0];
-            $block = $blocks[$name][1];
-        } elseif (isset($this->blocks[$name])) {
-            $template = $this->blocks[$name][0];
-            $block = $this->blocks[$name][1];
-        } else {
-            $template = null;
-            $block = null;
-        }
-
-        if (null !== $template) {
-            // avoid RCEs when sandbox is enabled
-            if (!$template instanceof self) {
-                throw new LogicException('A block must be a method on a Twig_Template instance.');
-            }
-
-            try {
-                $template->$block($context, $blocks);
-            } catch (Twig_Error $e) {
-                if (!$e->getTemplateFile()) {
-                    $e->setTemplateFile($template->getTemplateName());
-                }
-
-                // this is mostly useful for Twig_Error_Loader exceptions
-                // see Twig_Error_Loader
-                if (false === $e->getTemplateLine()) {
-                    $e->setTemplateLine(-1);
-                    $e->guess();
-                }
-
-                throw $e;
-            } catch (Exception $e) {
-                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
-            }
-        } elseif (false !== $parent = $this->getParent($context)) {
-            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
-        }
-    }
-
-    /**
-     * Renders a parent block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name    The block name to render from the parent
-     * @param array  $context The context
-     * @param array  $blocks  The current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderParentBlock($name, array $context, array $blocks = array())
-    {
-        ob_start();
-        $this->displayParentBlock($name, $context, $blocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Renders a block.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @param string $name      The block name to render
-     * @param array  $context   The context
-     * @param array  $blocks    The current set of blocks
-     * @param bool   $useBlocks Whether to use the current set of blocks
-     *
-     * @return string The rendered block
-     */
-    public function renderBlock($name, array $context, array $blocks = array(), $useBlocks = true)
-    {
-        ob_start();
-        $this->displayBlock($name, $context, $blocks, $useBlocks);
-
-        return ob_get_clean();
-    }
-
-    /**
-     * Returns whether a block exists or not.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method does only return blocks defined in the current template
-     * or defined in "used" traits.
-     *
-     * It does not return blocks from parent templates as the parent
-     * template name can be dynamic, which is only known based on the
-     * current context.
-     *
-     * @param string $name The block name
-     *
-     * @return bool true if the block exists, false otherwise
-     */
-    public function hasBlock($name)
-    {
-        return isset($this->blocks[(string) $name]);
-    }
-
-    /**
-     * Returns all block names.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of block names
-     *
-     * @see hasBlock
-     */
-    public function getBlockNames()
-    {
-        return array_keys($this->blocks);
-    }
-
-    protected function loadTemplate($template, $templateName = null, $line = null, $index = null)
-    {
-        try {
-            if (is_array($template)) {
-                return $this->env->resolveTemplate($template);
-            }
-
-            if ($template instanceof self) {
-                return $template;
-            }
-
-            return $this->env->loadTemplate($template, $index);
-        } catch (Twig_Error $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($templateName ? $templateName : $this->getTemplateName());
-            }
-
-            if ($e->getTemplateLine()) {
-                throw $e;
-            }
-
-            if (!$line) {
-                $e->guess();
-            } else {
-                $e->setTemplateLine($line);
-            }
-
-            throw $e;
-        }
-    }
-
-    /**
-     * Returns all blocks.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * @return array An array of blocks
-     *
-     * @see hasBlock
-     */
-    public function getBlocks()
-    {
-        return $this->blocks;
-    }
-
-    /**
-     * Returns the template source code.
-     *
-     * @return string|null The template source code or null if it is not available
-     */
-    public function getSource()
-    {
-        $reflector = new ReflectionClass($this);
-        $file = $reflector->getFileName();
-
-        if (!file_exists($file)) {
-            return;
-        }
-
-        $source = file($file, FILE_IGNORE_NEW_LINES);
-        array_splice($source, 0, $reflector->getEndLine());
-
-        $i = 0;
-        while (isset($source[$i]) && '/* */' === substr_replace($source[$i], '', 3, -2)) {
-            $source[$i] = str_replace('*//* ', '*/', substr($source[$i], 3, -2));
-            ++$i;
-        }
-        array_splice($source, $i);
-
-        return implode("\n", $source);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function display(array $context, array $blocks = array())
-    {
-        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function render(array $context)
-    {
-        $level = ob_get_level();
-        ob_start();
-        try {
-            $this->display($context);
-        } catch (Exception $e) {
-            while (ob_get_level() > $level) {
-                ob_end_clean();
-            }
-
-            throw $e;
-        }
-
-        return ob_get_clean();
-    }
-
-    protected function displayWithErrorHandling(array $context, array $blocks = array())
-    {
-        try {
-            $this->doDisplay($context, $blocks);
-        } catch (Twig_Error $e) {
-            if (!$e->getTemplateFile()) {
-                $e->setTemplateFile($this->getTemplateName());
-            }
-
-            // this is mostly useful for Twig_Error_Loader exceptions
-            // see Twig_Error_Loader
-            if (false === $e->getTemplateLine()) {
-                $e->setTemplateLine(-1);
-                $e->guess();
-            }
-
-            throw $e;
-        } catch (Exception $e) {
-            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
-        }
-    }
-
-    /**
-     * Auto-generated method to display the template with the given context.
-     *
-     * @param array $context An array of parameters to pass to the template
-     * @param array $blocks  An array of blocks to pass to the template
-     */
-    abstract protected function doDisplay(array $context, array $blocks = array());
-
-    /**
-     * Returns a variable from the context.
-     *
-     * This method is for internal use only and should never be called
-     * directly.
-     *
-     * This method should not be overridden in a sub-class as this is an
-     * implementation detail that has been introduced to optimize variable
-     * access for versions of PHP before 5.4. This is not a way to override
-     * the way to get a variable value.
-     *
-     * @param array  $context           The context
-     * @param string $item              The variable to return from the context
-     * @param bool   $ignoreStrictCheck Whether to ignore the strict variable check or not
-     *
-     * @return mixed The content of the context variable
-     *
-     * @throws Twig_Error_Runtime if the variable does not exist and Twig is running in strict mode
-     */
-    final protected function getContext($context, $item, $ignoreStrictCheck = false)
-    {
-        if (!array_key_exists($item, $context)) {
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Variable "%s" does not exist', $item), -1, $this->getTemplateName());
-        }
-
-        return $context[$item];
-    }
-
-    /**
-     * Returns the attribute value for a given array/object.
-     *
-     * @param mixed  $object            The object or array from where to get the item
-     * @param mixed  $item              The item to get from the array or object
-     * @param array  $arguments         An array of arguments to pass if the item is an object method
-     * @param string $type              The type of attribute (@see Twig_Template constants)
-     * @param bool   $isDefinedTest     Whether this is only a defined check
-     * @param bool   $ignoreStrictCheck Whether to ignore the strict attribute check or not
-     *
-     * @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
-     *
-     * @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
-     */
-    protected function getAttribute($object, $item, array $arguments = array(), $type = self::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
-    {
-        // array
-        if (self::METHOD_CALL !== $type) {
-            $arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
-
-            if ((is_array($object) && array_key_exists($arrayItem, $object))
-                || ($object instanceof ArrayAccess && isset($object[$arrayItem]))
-            ) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                return $object[$arrayItem];
-            }
-
-            if (self::ARRAY_CALL === $type || !is_object($object)) {
-                if ($isDefinedTest) {
-                    return false;
-                }
-
-                if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                    return;
-                }
-
-                if ($object instanceof ArrayAccess) {
-                    $message = sprintf('Key "%s" in object with ArrayAccess of class "%s" does not exist', $arrayItem, get_class($object));
-                } elseif (is_object($object)) {
-                    $message = sprintf('Impossible to access a key "%s" on an object of class "%s" that does not implement ArrayAccess interface', $item, get_class($object));
-                } elseif (is_array($object)) {
-                    if (empty($object)) {
-                        $message = sprintf('Key "%s" does not exist as the array is empty', $arrayItem);
-                    } else {
-                        $message = sprintf('Key "%s" for array with keys "%s" does not exist', $arrayItem, implode(', ', array_keys($object)));
-                    }
-                } elseif (self::ARRAY_CALL === $type) {
-                    if (null === $object) {
-                        $message = sprintf('Impossible to access a key ("%s") on a null variable', $item);
-                    } else {
-                        $message = sprintf('Impossible to access a key ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
-                    }
-                } elseif (null === $object) {
-                    $message = sprintf('Impossible to access an attribute ("%s") on a null variable', $item);
-                } else {
-                    $message = sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
-                }
-
-                throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
-            }
-        }
-
-        if (!is_object($object)) {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return;
-            }
-
-            if (null === $object) {
-                $message = sprintf('Impossible to invoke a method ("%s") on a null variable', $item);
-            } else {
-                $message = sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
-            }
-
-            throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
-        }
-
-        // object property
-        if (self::METHOD_CALL !== $type && !$object instanceof self) { // Twig_Template does not have public properties, and we don't want to allow access to internal ones
-            if (isset($object->$item) || array_key_exists((string) $item, $object)) {
-                if ($isDefinedTest) {
-                    return true;
-                }
-
-                if ($this->env->hasExtension('sandbox')) {
-                    $this->env->getExtension('sandbox')->checkPropertyAllowed($object, $item);
-                }
-
-                return $object->$item;
-            }
-        }
-
-        $class = get_class($object);
-
-        // object method
-        if (!isset(self::$cache[$class]['methods'])) {
-            // get_class_methods returns all methods accessible in the scope, but we only want public ones to be accessible in templates
-            if ($object instanceof self) {
-                $ref = new ReflectionClass($class);
-                $methods = array();
-
-                foreach ($ref->getMethods(ReflectionMethod::IS_PUBLIC) as $refMethod) {
-                    $methodName = strtolower($refMethod->name);
-
-                    // Accessing the environment from templates is forbidden to prevent untrusted changes to the environment
-                    if ('getenvironment' !== $methodName) {
-                        $methods[$methodName] = true;
-                    }
-                }
-
-                self::$cache[$class]['methods'] = $methods;
-            } else {
-                self::$cache[$class]['methods'] = array_change_key_case(array_flip(get_class_methods($object)));
-            }
-        }
-
-        $call = false;
-        $lcItem = strtolower($item);
-        if (isset(self::$cache[$class]['methods'][$lcItem])) {
-            $method = (string) $item;
-        } elseif (isset(self::$cache[$class]['methods']['get'.$lcItem])) {
-            $method = 'get'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['is'.$lcItem])) {
-            $method = 'is'.$item;
-        } elseif (isset(self::$cache[$class]['methods']['__call'])) {
-            $method = (string) $item;
-            $call = true;
-        } else {
-            if ($isDefinedTest) {
-                return false;
-            }
-
-            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
-                return;
-            }
-
-            throw new Twig_Error_Runtime(sprintf('Method "%s" for object "%s" does not exist', $item, get_class($object)), -1, $this->getTemplateName());
-        }
-
-        if ($isDefinedTest) {
-            return true;
-        }
-
-        if ($this->env->hasExtension('sandbox')) {
-            $this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
-        }
-
-        // Some objects throw exceptions when they have __call, and the method we try
-        // to call is not supported. If ignoreStrictCheck is true, we should return null.
-        try {
-            $ret = call_user_func_array(array($object, $method), $arguments);
-        } catch (BadMethodCallException $e) {
-            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
-                return;
-            }
-            throw $e;
-        }
-
-        // useful when calling a template method from a template
-        // this is not supported but unfortunately heavily used in the Symfony profiler
-        if ($object instanceof Twig_TemplateInterface) {
-            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
-        }
-
-        return $ret;
-    }
-}
diff --git a/core/vendor/web.config b/core/vendor/web.config
deleted file mode 100644
index 2e065e2..0000000
--- a/core/vendor/web.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<configuration>
-  <system.webServer>
-    <authorization>
-      <deny users="*">
-    </authorization>
-  </system.webServer>
-</configuration>
diff --git a/core/vendor/zendframework/zend-stdlib/CHANGELOG.md b/core/vendor/zendframework/zend-stdlib/CHANGELOG.md
deleted file mode 100644
index d594cc4..0000000
--- a/core/vendor/zendframework/zend-stdlib/CHANGELOG.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# Changelog
-
-All notable changes to this project will be documented in this file, in reverse chronological order by release.
-
-## 2.6.0 - 2015-07-21
-
-### Added
-
-- [#13](https://github.com/zendframework/zend-stdlib/pull/13) adds
-  `Zend\Stdlib\Hydrator\Iterator`, which provides mechanisms for hydrating
-  objects when iterating a traversable. This allows creating generic collection
-  resultsets; the original idea was pulled from
-  [PhlyMongo](https://github.com/phly/PhlyMongo), where it was used to hydrate
-  collections retrieved from MongoDB.
-
-### Deprecated
-
-- Nothing.
-
-### Removed
-
-- Nothing.
-
-### Fixed
-
-- Nothing.
-
-## 2.5.2 - 2015-07-21
-
-### Added
-
-- Nothing.
-
-### Deprecated
-
-- Nothing.
-
-### Removed
-
-- Nothing.
-
-### Fixed
-
-- [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
-  count incrementation during insert in PriorityList, ensuring that incrementation only
-  occurs when the item inserted was not previously present in the list.
-
-## 2.4.4 - 2015-07-21
-
-### Added
-
-- Nothing.
-
-### Deprecated
-
-- Nothing.
-
-### Removed
-
-- Nothing.
-
-### Fixed
-
-- [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
-  count incrementation during insert in PriorityList, ensuring that incrementation only
-  occurs when the item inserted was not previously present in the list.
diff --git a/core/vendor/zendframework/zend-stdlib/CONTRIBUTING.md b/core/vendor/zendframework/zend-stdlib/CONTRIBUTING.md
deleted file mode 100644
index b87ecf0..0000000
--- a/core/vendor/zendframework/zend-stdlib/CONTRIBUTING.md
+++ /dev/null
@@ -1,229 +0,0 @@
-# CONTRIBUTING
-
-## RESOURCES
-
-If you wish to contribute to Zend Framework, please be sure to
-read/subscribe to the following resources:
-
- -  [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
- -  [Contributor's Guide](http://framework.zend.com/participate/contributor-guide)
- -  ZF Contributor's mailing list:
-    Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
-    Subscribe: zf-contributors-subscribe@lists.zend.com
- -  ZF Contributor's IRC channel:
-    #zftalk.dev on Freenode.net
-
-If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-stdlib/issues/new).
-
-## Reporting Potential Security Issues
-
-If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
-issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
-We will work with you to verify the vulnerability and patch it as soon as possible.
-
-When reporting issues, please provide the following information:
-
-- Component(s) affected
-- A description indicating how to reproduce the issue
-- A summary of the security vulnerability and impact
-
-We request that you contact us via the email address above and give the project
-contributors a chance to resolve the vulnerability and issue a new release prior
-to any public exposure; this helps protect users and provides them with a chance
-to upgrade and/or update in order to protect their applications.
-
-For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
-
-## RUNNING TESTS
-
-> ### Note: testing versions prior to 2.4
->
-> This component originates with Zend Framework 2. During the lifetime of ZF2,
-> testing infrastructure migrated from PHPUnit 3 to PHPUnit 4. In most cases, no
-> changes were necessary. However, due to the migration, tests may not run on
-> versions < 2.4. As such, you may need to change the PHPUnit dependency if
-> attempting a fix on such a version.
-
-To run tests:
-
-- Clone the repository:
-
-  ```console
-  $ git clone git@github.com:zendframework/zend-stdlib.git
-  $ cd
-  ```
-
-- Install dependencies via composer:
-
-  ```console
-  $ curl -sS https://getcomposer.org/installer | php --
-  $ ./composer.phar install
-  ```
-
-  If you don't have `curl` installed, you can also download `composer.phar` from https://getcomposer.org/
-
-- Run the tests via `phpunit` and the provided PHPUnit config, like in this example:
-
-  ```console
-  $ ./vendor/bin/phpunit
-  ```
-
-You can turn on conditional tests with the phpunit.xml file.
-To do so:
-
- -  Copy `phpunit.xml.dist` file to `phpunit.xml`
- -  Edit `phpunit.xml` to enable any specific functionality you
-    want to test, as well as to provide test values to utilize.
-
-## Running Coding Standards Checks
-
-This component uses [php-cs-fixer](http://cs.sensiolabs.org/) for coding
-standards checks, and provides configuration for our selected checks.
-`php-cs-fixer` is installed by default via Composer.
-
-To run checks only:
-
-```console
-$ ./vendor/bin/php-cs-fixer fix . -v --diff --dry-run --config-file=.php_cs
-```
-
-To have `php-cs-fixer` attempt to fix problems for you, omit the `--dry-run`
-flag:
-
-```console
-$ ./vendor/bin/php-cs-fixer fix . -v --diff --config-file=.php_cs
-```
-
-If you allow php-cs-fixer to fix CS issues, please re-run the tests to ensure
-they pass, and make sure you add and commit the changes after verification.
-
-## Recommended Workflow for Contributions
-
-Your first step is to establish a public repository from which we can
-pull your work into the master repository. We recommend using
-[GitHub](https://github.com), as that is where the component is already hosted.
-
-1. Setup a [GitHub account](http://github.com/), if you haven't yet
-2. Fork the repository (http://github.com/zendframework/zend-stdlib)
-3. Clone the canonical repository locally and enter it.
-
-   ```console
-   $ git clone git://github.com:zendframework/zend-stdlib.git
-   $ cd zend-stdlib
-   ```
-
-4. Add a remote to your fork; substitute your GitHub username in the command
-   below.
-
-   ```console
-   $ git remote add {username} git@github.com:{username}/zend-stdlib.git
-   $ git fetch {username}
-   ```
-
-### Keeping Up-to-Date
-
-Periodically, you should update your fork or personal repository to
-match the canonical ZF repository. Assuming you have setup your local repository
-per the instructions above, you can do the following:
-
-
-```console
-$ git checkout master
-$ git fetch origin
-$ git rebase origin/master
-# OPTIONALLY, to keep your remote up-to-date -
-$ git push {username} master:master
-```
-
-If you're tracking other branches -- for example, the "develop" branch, where
-new feature development occurs -- you'll want to do the same operations for that
-branch; simply substitute  "develop" for "master".
-
-### Working on a patch
-
-We recommend you do each new feature or bugfix in a new branch. This simplifies
-the task of code review as well as the task of merging your changes into the
-canonical repository.
-
-A typical workflow will then consist of the following:
-
-1. Create a new local branch based off either your master or develop branch.
-2. Switch to your new local branch. (This step can be combined with the
-   previous step with the use of `git checkout -b`.)
-3. Do some work, commit, repeat as necessary.
-4. Push the local branch to your remote repository.
-5. Send a pull request.
-
-The mechanics of this process are actually quite trivial. Below, we will
-create a branch for fixing an issue in the tracker.
-
-```console
-$ git checkout -b hotfix/9295
-Switched to a new branch 'hotfix/9295'
-```
-
-... do some work ...
-
-
-```console
-$ git commit
-```
-
-... write your log message ...
-
-
-```console
-$ git push {username} hotfix/9295:hotfix/9295
-Counting objects: 38, done.
-Delta compression using up to 2 threads.
-Compression objects: 100% (18/18), done.
-Writing objects: 100% (20/20), 8.19KiB, done.
-Total 20 (delta 12), reused 0 (delta 0)
-To ssh://git@github.com/{username}/zend-stdlib.git
-   b5583aa..4f51698  HEAD -> master
-```
-
-To send a pull request, you have two options.
-
-If using GitHub, you can do the pull request from there. Navigate to
-your repository, select the branch you just created, and then select the
-"Pull Request" button in the upper right. Select the user/organization
-"zendframework" as the recipient.
-
-If using your own repository - or even if using GitHub - you can use `git
-format-patch` to create a patchset for us to apply; in fact, this is
-**recommended** for security-related patches. If you use `format-patch`, please
-send the patches as attachments to:
-
--  zf-devteam@zend.com for patches without security implications
--  zf-security@zend.com for security patches
-
-#### What branch to issue the pull request against?
-
-Which branch should you issue a pull request against?
-
-- For fixes against the stable release, issue the pull request against the
-  "master" branch.
-- For new features, or fixes that introduce new elements to the public API (such
-  as new public methods or properties), issue the pull request against the
-  "develop" branch.
-
-### Branch Cleanup
-
-As you might imagine, if you are a frequent contributor, you'll start to
-get a ton of branches both locally and on your remote.
-
-Once you know that your changes have been accepted to the master
-repository, we suggest doing some cleanup of these branches.
-
--  Local branch cleanup
-
-   ```console
-   $ git branch -d <branchname>
-   ```
-
--  Remote branch removal
-
-   ```console
-   $ git push {username} :<branchname>
-   ```
diff --git a/core/vendor/zendframework/zend-stdlib/README.md b/core/vendor/zendframework/zend-stdlib/README.md
deleted file mode 100644
index 9633b2c..0000000
--- a/core/vendor/zendframework/zend-stdlib/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# zend-stdlib
-
-[![Build Status](https://secure.travis-ci.org/zendframework/zend-stdlib.svg?branch=master)](https://secure.travis-ci.org/zendframework/zend-stdlib)
-[![Coverage Status](https://coveralls.io/repos/zendframework/zend-stdlib/badge.svg?branch=master)](https://coveralls.io/r/zendframework/zend-stdlib?branch=master)
-
-`Zend\Stdlib` is a set of components that implements general purpose utility
-class for different scopes like:
-
-- array utilities functions;
-- hydrators;
-- json serializable interfaces;
-- general messaging systems;
-- string wrappers;
-- etc.
-
--
-- File issues at https://github.com/zendframework/zend-stdlib/issues
-- Documentation is at http://framework.zend.com/manual/current/en/index.html#zend-stdlib
diff --git a/core/vendor/zendframework/zend-stdlib/composer.json b/core/vendor/zendframework/zend-stdlib/composer.json
deleted file mode 100644
index 056ce3f..0000000
--- a/core/vendor/zendframework/zend-stdlib/composer.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
-    "name": "zendframework/zend-stdlib",
-    "description": " ",
-    "license": "BSD-3-Clause",
-    "keywords": [
-        "zf2",
-        "stdlib"
-    ],
-    "homepage": "https://github.com/zendframework/zend-stdlib",
-    "autoload": {
-        "psr-4": {
-            "Zend\\Stdlib\\": "src/"
-        }
-    },
-    "require": {
-        "php": ">=5.5"
-    },
-    "require-dev": {
-        "zendframework/zend-config": "~2.5",
-        "zendframework/zend-eventmanager": "~2.5",
-        "zendframework/zend-inputfilter": "~2.5",
-        "zendframework/zend-serializer": "~2.5",
-        "zendframework/zend-servicemanager": "~2.5",
-        "zendframework/zend-filter": "~2.5",
-        "fabpot/php-cs-fixer": "1.7.*",
-        "phpunit/PHPUnit": "~4.0"
-    },
-    "suggest": {
-        "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-        "zendframework/zend-serializer": "Zend\\Serializer component",
-        "zendframework/zend-servicemanager": "To support hydrator plugin manager usage",
-        "zendframework/zend-filter": "To support naming strategy hydrator usage"
-    },
-    "minimum-stability": "dev",
-    "prefer-stable": true,
-    "extra": {
-        "branch-alias": {
-            "dev-master": "2.6-dev",
-            "dev-develop": "2.7-dev"
-        }
-    },
-    "autoload-dev": {
-        "psr-4": {
-            "ZendTest\\Stdlib\\": "test/"
-        }
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php b/core/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
deleted file mode 100644
index 297d557..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Extractor;
-
-interface ExtractionInterface
-{
-    /**
-     * Extract values from an object
-     *
-     * @param  object $object
-     * @return array
-     */
-    public function extract($object);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
deleted file mode 100644
index 338ed80..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
+++ /dev/null
@@ -1,287 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use ArrayObject;
-use Zend\Stdlib\Exception;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
-use Zend\Stdlib\Hydrator\Strategy\StrategyInterface;
-
-abstract class AbstractHydrator implements
-    HydratorInterface,
-    StrategyEnabledInterface,
-    FilterEnabledInterface,
-    NamingStrategyEnabledInterface
-{
-    /**
-     * The list with strategies that this hydrator has.
-     *
-     * @var ArrayObject
-     */
-    protected $strategies;
-
-    /**
-     * An instance of NamingStrategyInterface
-     *
-     * @var NamingStrategyInterface
-     */
-    protected $namingStrategy;
-
-    /**
-     * Composite to filter the methods, that need to be hydrated
-     *
-     * @var Filter\FilterComposite
-     */
-    protected $filterComposite;
-
-    /**
-     * Initializes a new instance of this class.
-     */
-    public function __construct()
-    {
-        $this->strategies = new ArrayObject();
-        $this->filterComposite = new FilterComposite();
-    }
-
-    /**
-     * Gets the strategy with the given name.
-     *
-     * @param string $name The name of the strategy to get.
-     *
-     * @throws \Zend\Stdlib\Exception\InvalidArgumentException
-     * @return StrategyInterface
-     */
-    public function getStrategy($name)
-    {
-        if (isset($this->strategies[$name])) {
-            return $this->strategies[$name];
-        }
-
-        if (!isset($this->strategies['*'])) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                '%s: no strategy by name of "%s", and no wildcard strategy present',
-                __METHOD__,
-                $name
-            ));
-        }
-
-        return $this->strategies['*'];
-    }
-
-    /**
-     * Checks if the strategy with the given name exists.
-     *
-     * @param string $name The name of the strategy to check for.
-     * @return bool
-     */
-    public function hasStrategy($name)
-    {
-        return array_key_exists($name, $this->strategies)
-               || array_key_exists('*', $this->strategies);
-    }
-
-    /**
-     * Adds the given strategy under the given name.
-     *
-     * @param string $name The name of the strategy to register.
-     * @param StrategyInterface $strategy The strategy to register.
-     * @return HydratorInterface
-     */
-    public function addStrategy($name, StrategyInterface $strategy)
-    {
-        $this->strategies[$name] = $strategy;
-        return $this;
-    }
-
-    /**
-     * Removes the strategy with the given name.
-     *
-     * @param string $name The name of the strategy to remove.
-     * @return HydratorInterface
-     */
-    public function removeStrategy($name)
-    {
-        unset($this->strategies[$name]);
-        return $this;
-    }
-
-    /**
-     * Converts a value for extraction. If no strategy exists the plain value is returned.
-     *
-     * @param  string $name  The name of the strategy to use.
-     * @param  mixed  $value  The value that should be converted.
-     * @param  mixed  $object The object is optionally provided as context.
-     * @return mixed
-     */
-    public function extractValue($name, $value, $object = null)
-    {
-        if ($this->hasStrategy($name)) {
-            $strategy = $this->getStrategy($name);
-            $value = $strategy->extract($value, $object);
-        }
-        return $value;
-    }
-
-    /**
-     * Converts a value for hydration. If no strategy exists the plain value is returned.
-     *
-     * @param string $name The name of the strategy to use.
-     * @param mixed $value The value that should be converted.
-     * @param array $data The whole data is optionally provided as context.
-     * @return mixed
-     */
-    public function hydrateValue($name, $value, $data = null)
-    {
-        if ($this->hasStrategy($name)) {
-            $strategy = $this->getStrategy($name);
-            $value = $strategy->hydrate($value, $data);
-        }
-        return $value;
-    }
-
-    /**
-     * Convert a name for extraction. If no naming strategy exists, the plain value is returned.
-     *
-     * @param string $name    The name to convert.
-     * @param null   $object  The object is optionally provided as context.
-     * @return mixed
-     */
-    public function extractName($name, $object = null)
-    {
-        if ($this->hasNamingStrategy()) {
-            $name = $this->getNamingStrategy()->extract($name, $object);
-        }
-        return $name;
-    }
-
-    /**
-     * Converts a value for hydration. If no naming strategy exists, the plain value is returned.
-     *
-     * @param string $name  The name to convert.
-     * @param array  $data  The whole data is optionally provided as context.
-     * @return mixed
-     */
-    public function hydrateName($name, $data = null)
-    {
-        if ($this->hasNamingStrategy()) {
-            $name = $this->getNamingStrategy()->hydrate($name, $data);
-        }
-        return $name;
-    }
-
-    /**
-     * Get the filter instance
-     *
-     * @return Filter\FilterComposite
-     */
-    public function getFilter()
-    {
-        return $this->filterComposite;
-    }
-
-    /**
-     * Add a new filter to take care of what needs to be hydrated.
-     * To exclude e.g. the method getServiceLocator:
-     *
-     * <code>
-     * $composite->addFilter("servicelocator",
-     *     function ($property) {
-     *         list($class, $method) = explode('::', $property);
-     *         if ($method === 'getServiceLocator') {
-     *             return false;
-     *         }
-     *         return true;
-     *     }, FilterComposite::CONDITION_AND
-     * );
-     * </code>
-     *
-     * @param string $name Index in the composite
-     * @param callable|Filter\FilterInterface $filter
-     * @param int $condition
-     * @return Filter\FilterComposite
-     */
-    public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR)
-    {
-        return $this->filterComposite->addFilter($name, $filter, $condition);
-    }
-
-    /**
-     * Check whether a specific filter exists at key $name or not
-     *
-     * @param string $name Index in the composite
-     * @return bool
-     */
-    public function hasFilter($name)
-    {
-        return $this->filterComposite->hasFilter($name);
-    }
-
-    /**
-     * Remove a filter from the composition.
-     * To not extract "has" methods, you simply need to unregister it
-     *
-     * <code>
-     * $filterComposite->removeFilter('has');
-     * </code>
-     *
-     * @param $name
-     * @return Filter\FilterComposite
-     */
-    public function removeFilter($name)
-    {
-        return $this->filterComposite->removeFilter($name);
-    }
-
-    /**
-     * Adds the given naming strategy
-     *
-     * @param NamingStrategyInterface $strategy The naming to register.
-     * @return self
-     */
-    public function setNamingStrategy(NamingStrategyInterface $strategy)
-    {
-        $this->namingStrategy = $strategy;
-
-        return $this;
-    }
-
-    /**
-     * Gets the naming strategy.
-     *
-     * @return NamingStrategyInterface
-     */
-    public function getNamingStrategy()
-    {
-        return $this->namingStrategy;
-    }
-
-    /**
-     * Checks if a naming strategy exists.
-     *
-     * @return bool
-     */
-    public function hasNamingStrategy()
-    {
-        return isset($this->namingStrategy);
-    }
-
-    /**
-     * Removes the naming strategy
-     *
-     * @return self
-     */
-    public function removeNamingStrategy()
-    {
-        $this->namingStrategy = null;
-
-        return $this;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
deleted file mode 100644
index 6bba864..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Aggregate;
-
-use Zend\EventManager\EventManager;
-use Zend\EventManager\EventManagerAwareInterface;
-use Zend\EventManager\EventManagerInterface;
-use Zend\Stdlib\Hydrator\HydratorInterface;
-
-/**
- * Aggregate hydrator that composes multiple hydrators via events
- */
-class AggregateHydrator implements HydratorInterface, EventManagerAwareInterface
-{
-    const DEFAULT_PRIORITY = 1;
-
-    /**
-     * @var \Zend\EventManager\EventManagerInterface|null
-     */
-    protected $eventManager;
-
-    /**
-     * Attaches the provided hydrator to the list of hydrators to be used while hydrating/extracting data
-     *
-     * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
-     * @param int                                     $priority
-     */
-    public function add(HydratorInterface $hydrator, $priority = self::DEFAULT_PRIORITY)
-    {
-        $this->getEventManager()->attachAggregate(new HydratorListener($hydrator), $priority);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function extract($object)
-    {
-        $event = new ExtractEvent($this, $object);
-
-        $this->getEventManager()->trigger($event);
-
-        return $event->getExtractedData();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function hydrate(array $data, $object)
-    {
-        $event = new HydrateEvent($this, $object, $data);
-
-        $this->getEventManager()->trigger($event);
-
-        return $event->getHydratedObject();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function setEventManager(EventManagerInterface $eventManager)
-    {
-        $eventManager->setIdentifiers([__CLASS__, get_class($this)]);
-
-        $this->eventManager = $eventManager;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function getEventManager()
-    {
-        if (null === $this->eventManager) {
-            $this->setEventManager(new EventManager());
-        }
-
-        return $this->eventManager;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
deleted file mode 100644
index a826710..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
+++ /dev/null
@@ -1,98 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Aggregate;
-
-use Zend\EventManager\Event;
-
-/**
- * Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} extracts
- * data from an object
- */
-class ExtractEvent extends Event
-{
-    const EVENT_EXTRACT = 'extract';
-
-    /**
-     * {@inheritDoc}
-     */
-    protected $name = self::EVENT_EXTRACT;
-
-    /**
-     * @var object
-     */
-    protected $extractionObject;
-
-    /**
-     * @var array
-     */
-    protected $extractedData = [];
-
-    /**
-     * @param object $target
-     * @param object $extractionObject
-     */
-    public function __construct($target, $extractionObject)
-    {
-        $this->target           = $target;
-        $this->extractionObject = $extractionObject;
-    }
-
-    /**
-     * Retrieves the object from which data is extracted
-     *
-     * @return object
-     */
-    public function getExtractionObject()
-    {
-        return $this->extractionObject;
-    }
-
-    /**
-     * @param object $extractionObject
-     *
-     * @return void
-     */
-    public function setExtractionObject($extractionObject)
-    {
-        $this->extractionObject = $extractionObject;
-    }
-
-    /**
-     * Retrieves the data that has been extracted
-     *
-     * @return array
-     */
-    public function getExtractedData()
-    {
-        return $this->extractedData;
-    }
-
-    /**
-     * @param array $extractedData
-     *
-     * @return void
-     */
-    public function setExtractedData(array $extractedData)
-    {
-        $this->extractedData = $extractedData;
-    }
-
-    /**
-     * Merge provided data with the extracted data
-     *
-     * @param array $additionalData
-     *
-     * @return void
-     */
-    public function mergeExtractedData(array $additionalData)
-    {
-        $this->extractedData = array_merge($this->extractedData, $additionalData);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
deleted file mode 100644
index a7c91ee..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Aggregate;
-
-use Zend\EventManager\Event;
-
-/**
- * Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} hydrates
- * data into an object
- */
-class HydrateEvent extends Event
-{
-    const EVENT_HYDRATE = 'hydrate';
-
-    /**
-     * {@inheritDoc}
-     */
-    protected $name = self::EVENT_HYDRATE;
-
-    /**
-     * @var object
-     */
-    protected $hydratedObject;
-
-    /**
-     * @var array
-     */
-    protected $hydrationData;
-
-    /**
-     * @param object $target
-     * @param object $hydratedObject
-     * @param array  $hydrationData
-     */
-    public function __construct($target, $hydratedObject, array $hydrationData)
-    {
-        $this->target         = $target;
-        $this->hydratedObject = $hydratedObject;
-        $this->hydrationData  = $hydrationData;
-    }
-
-    /**
-     * Retrieves the object that is being hydrated
-     *
-     * @return object
-     */
-    public function getHydratedObject()
-    {
-        return $this->hydratedObject;
-    }
-
-    /**
-     * @param object $hydratedObject
-     */
-    public function setHydratedObject($hydratedObject)
-    {
-        $this->hydratedObject = $hydratedObject;
-    }
-
-    /**
-     * Retrieves the data that is being used for hydration
-     *
-     * @return array
-     */
-    public function getHydrationData()
-    {
-        return $this->hydrationData;
-    }
-
-    /**
-     * @param array $hydrationData
-     */
-    public function setHydrationData(array $hydrationData)
-    {
-        $this->hydrationData = $hydrationData;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
deleted file mode 100644
index 84c8c12..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Aggregate;
-
-use Zend\EventManager\AbstractListenerAggregate;
-use Zend\EventManager\EventManagerInterface;
-use Zend\Stdlib\Hydrator\HydratorInterface;
-
-/**
- * Aggregate listener wrapping around a hydrator. Listens
- * to {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_HYDRATE} and
- * {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_EXTRACT}
- */
-class HydratorListener extends AbstractListenerAggregate
-{
-    /**
-     * @var \Zend\Stdlib\Hydrator\HydratorInterface
-     */
-    protected $hydrator;
-
-    /**
-     * @param \Zend\Stdlib\Hydrator\HydratorInterface $hydrator
-     */
-    public function __construct(HydratorInterface $hydrator)
-    {
-        $this->hydrator = $hydrator;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function attach(EventManagerInterface $events, $priority = 1)
-    {
-        $this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, [$this, 'onHydrate'], $priority);
-        $this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, [$this, 'onExtract'], $priority);
-    }
-
-    /**
-     * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent::EVENT_HYDRATE} is triggered
-     *
-     * @param \Zend\Stdlib\Hydrator\Aggregate\HydrateEvent $event
-     *
-     * @return object
-     *
-     * @internal
-     */
-    public function onHydrate(HydrateEvent $event)
-    {
-        $object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
-
-        $event->setHydratedObject($object);
-
-        return $object;
-    }
-
-    /**
-     * Callback to be used when {@see \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent::EVENT_EXTRACT} is triggered
-     *
-     * @param \Zend\Stdlib\Hydrator\Aggregate\ExtractEvent $event
-     *
-     * @return array
-     *
-     * @internal
-     */
-    public function onExtract(ExtractEvent $event)
-    {
-        $data = $this->hydrator->extract($event->getExtractionObject());
-
-        $event->mergeExtractedData($data);
-
-        return $data;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
deleted file mode 100644
index eb75e22..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
+++ /dev/null
@@ -1,83 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Exception;
-
-class ArraySerializable extends AbstractHydrator
-{
-    /**
-     * Extract values from the provided object
-     *
-     * Extracts values via the object's getArrayCopy() method.
-     *
-     * @param  object $object
-     * @return array
-     * @throws Exception\BadMethodCallException for an $object not implementing getArrayCopy()
-     */
-    public function extract($object)
-    {
-        if (!is_callable([$object, 'getArrayCopy'])) {
-            throw new Exception\BadMethodCallException(
-                sprintf('%s expects the provided object to implement getArrayCopy()', __METHOD__)
-            );
-        }
-
-        $data = $object->getArrayCopy();
-        $filter = $this->getFilter();
-
-        foreach ($data as $name => $value) {
-            if (!$filter->filter($name)) {
-                unset($data[$name]);
-                continue;
-            }
-            $extractedName = $this->extractName($name, $object);
-            // replace the original key with extracted, if differ
-            if ($extractedName !== $name) {
-                unset($data[$name]);
-                $name = $extractedName;
-            }
-            $data[$name] = $this->extractValue($name, $value, $object);
-        }
-
-        return $data;
-    }
-
-    /**
-     * Hydrate an object
-     *
-     * Hydrates an object by passing $data to either its exchangeArray() or
-     * populate() method.
-     *
-     * @param  array $data
-     * @param  object $object
-     * @return object
-     * @throws Exception\BadMethodCallException for an $object not implementing exchangeArray() or populate()
-     */
-    public function hydrate(array $data, $object)
-    {
-        $replacement = [];
-        foreach ($data as $key => $value) {
-            $name = $this->hydrateName($key, $data);
-            $replacement[$name] = $this->hydrateValue($name, $value, $data);
-        }
-
-        if (is_callable([$object, 'exchangeArray'])) {
-            $object->exchangeArray($replacement);
-        } elseif (is_callable([$object, 'populate'])) {
-            $object->populate($replacement);
-        } else {
-            throw new Exception\BadMethodCallException(
-                sprintf('%s expects the provided object to implement exchangeArray() or populate()', __METHOD__)
-            );
-        }
-        return $object;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
deleted file mode 100644
index f95b0d1..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
+++ /dev/null
@@ -1,274 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Traversable;
-use Zend\Stdlib\Exception;
-use Zend\Stdlib\ArrayUtils;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\Filter\FilterProviderInterface;
-use Zend\Stdlib\Hydrator\Filter\GetFilter;
-use Zend\Stdlib\Hydrator\Filter\HasFilter;
-use Zend\Stdlib\Hydrator\Filter\IsFilter;
-use Zend\Stdlib\Hydrator\Filter\MethodMatchFilter;
-use Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter;
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
-use Zend\Stdlib\Hydrator\NamingStrategy\UnderscoreNamingStrategy;
-
-class ClassMethods extends AbstractHydrator implements HydratorOptionsInterface
-{
-    /**
-     * Holds the names of the methods used for hydration, indexed by class::property name,
-     * false if the hydration method is not callable/usable for hydration purposes
-     *
-     * @var string[]|bool[]
-     */
-    private $hydrationMethodsCache = [];
-
-    /**
-     * A map of extraction methods to property name to be used during extraction, indexed
-     * by class name and method name
-     *
-     * @var string[][]
-     */
-    private $extractionMethodsCache = [];
-
-    /**
-     * Flag defining whether array keys are underscore-separated (true) or camel case (false)
-     *
-     * @var bool
-     */
-    protected $underscoreSeparatedKeys = true;
-
-    /**
-     * @var \Zend\Stdlib\Hydrator\Filter\FilterInterface
-     */
-    private $callableMethodFilter;
-
-    /**
-     * Define if extract values will use camel case or name with underscore
-     * @param bool|array $underscoreSeparatedKeys
-     */
-    public function __construct($underscoreSeparatedKeys = true)
-    {
-        parent::__construct();
-        $this->setUnderscoreSeparatedKeys($underscoreSeparatedKeys);
-
-        $this->callableMethodFilter = new OptionalParametersFilter();
-
-        $this->filterComposite->addFilter('is', new IsFilter());
-        $this->filterComposite->addFilter('has', new HasFilter());
-        $this->filterComposite->addFilter('get', new GetFilter());
-        $this->filterComposite->addFilter('parameter', new OptionalParametersFilter(), FilterComposite::CONDITION_AND);
-    }
-
-    /**
-     * @param  array|Traversable                 $options
-     * @return ClassMethods
-     * @throws Exception\InvalidArgumentException
-     */
-    public function setOptions($options)
-    {
-        if ($options instanceof Traversable) {
-            $options = ArrayUtils::iteratorToArray($options);
-        } elseif (!is_array($options)) {
-            throw new Exception\InvalidArgumentException(
-                'The options parameter must be an array or a Traversable'
-            );
-        }
-        if (isset($options['underscoreSeparatedKeys'])) {
-            $this->setUnderscoreSeparatedKeys($options['underscoreSeparatedKeys']);
-        }
-
-        return $this;
-    }
-
-    /**
-     * @param  bool      $underscoreSeparatedKeys
-     * @return ClassMethods
-     */
-    public function setUnderscoreSeparatedKeys($underscoreSeparatedKeys)
-    {
-        $this->underscoreSeparatedKeys = (bool) $underscoreSeparatedKeys;
-
-        if ($this->underscoreSeparatedKeys) {
-            $this->setNamingStrategy(new UnderscoreNamingStrategy);
-        } elseif ($this->getNamingStrategy() instanceof UnderscoreNamingStrategy) {
-            $this->removeNamingStrategy();
-        }
-
-        return $this;
-    }
-
-    /**
-     * @return bool
-     */
-    public function getUnderscoreSeparatedKeys()
-    {
-        return $this->underscoreSeparatedKeys;
-    }
-
-    /**
-     * Extract values from an object with class methods
-     *
-     * Extracts the getter/setter of the given $object.
-     *
-     * @param  object                           $object
-     * @return array
-     * @throws Exception\BadMethodCallException for a non-object $object
-     */
-    public function extract($object)
-    {
-        if (!is_object($object)) {
-            throw new Exception\BadMethodCallException(sprintf(
-                '%s expects the provided $object to be a PHP object)',
-                __METHOD__
-            ));
-        }
-
-        $objectClass = get_class($object);
-
-        // reset the hydrator's hydrator's cache for this object, as the filter may be per-instance
-        if ($object instanceof FilterProviderInterface) {
-            $this->extractionMethodsCache[$objectClass] = null;
-        }
-
-        // pass 1 - finding out which properties can be extracted, with which methods (populate hydration cache)
-        if (! isset($this->extractionMethodsCache[$objectClass])) {
-            $this->extractionMethodsCache[$objectClass] = [];
-            $filter                                     = $this->filterComposite;
-            $methods                                    = get_class_methods($object);
-
-            if ($object instanceof FilterProviderInterface) {
-                $filter = new FilterComposite(
-                    [$object->getFilter()],
-                    [new MethodMatchFilter('getFilter')]
-                );
-            }
-
-            foreach ($methods as $method) {
-                $methodFqn = $objectClass . '::' . $method;
-
-                if (! ($filter->filter($methodFqn) && $this->callableMethodFilter->filter($methodFqn))) {
-                    continue;
-                }
-
-                $attribute = $method;
-
-                if (strpos($method, 'get') === 0) {
-                    $attribute = substr($method, 3);
-                    if (!property_exists($object, $attribute)) {
-                        $attribute = lcfirst($attribute);
-                    }
-                }
-
-                $this->extractionMethodsCache[$objectClass][$method] = $attribute;
-            }
-        }
-
-        $values = [];
-
-        // pass 2 - actually extract data
-        foreach ($this->extractionMethodsCache[$objectClass] as $methodName => $attributeName) {
-            $realAttributeName          = $this->extractName($attributeName, $object);
-            $values[$realAttributeName] = $this->extractValue($realAttributeName, $object->$methodName(), $object);
-        }
-
-        return $values;
-    }
-
-    /**
-     * Hydrate an object by populating getter/setter methods
-     *
-     * Hydrates an object by getter/setter methods of the object.
-     *
-     * @param  array                            $data
-     * @param  object                           $object
-     * @return object
-     * @throws Exception\BadMethodCallException for a non-object $object
-     */
-    public function hydrate(array $data, $object)
-    {
-        if (!is_object($object)) {
-            throw new Exception\BadMethodCallException(sprintf(
-                '%s expects the provided $object to be a PHP object)',
-                __METHOD__
-            ));
-        }
-
-        $objectClass = get_class($object);
-
-        foreach ($data as $property => $value) {
-            $propertyFqn = $objectClass . '::$' . $property;
-
-            if (! isset($this->hydrationMethodsCache[$propertyFqn])) {
-                $setterName = 'set' . ucfirst($this->hydrateName($property, $data));
-
-                $this->hydrationMethodsCache[$propertyFqn] = is_callable([$object, $setterName])
-                    ? $setterName
-                    : false;
-            }
-
-            if ($this->hydrationMethodsCache[$propertyFqn]) {
-                $object->{$this->hydrationMethodsCache[$propertyFqn]}($this->hydrateValue($property, $value, $data));
-            }
-        }
-
-        return $object;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR)
-    {
-        $this->resetCaches();
-
-        return parent::addFilter($name, $filter, $condition);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function removeFilter($name)
-    {
-        $this->resetCaches();
-
-        return parent::removeFilter($name);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function setNamingStrategy(NamingStrategyInterface $strategy)
-    {
-        $this->resetCaches();
-
-        return parent::setNamingStrategy($strategy);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function removeNamingStrategy()
-    {
-        $this->resetCaches();
-
-        return parent::removeNamingStrategy();
-    }
-
-    /**
-     * Reset all local hydration/extraction caches
-     */
-    private function resetCaches()
-    {
-        $this->hydrationMethodsCache = $this->extractionMethodsCache = [];
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
deleted file mode 100644
index db234d3..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\ServiceManager\ServiceLocatorInterface;
-
-class DelegatingHydrator implements HydratorInterface
-{
-    /**
-     * @var ServiceLocatorInterface
-     */
-    protected $hydrators;
-
-    /**
-     * Constructor
-     *
-     * @param ServiceLocatorInterface $hydrators
-     */
-    public function __construct(ServiceLocatorInterface $hydrators)
-    {
-        $this->hydrators = $hydrators;
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function hydrate(array $data, $object)
-    {
-        return $this->getHydrator($object)->hydrate($data, $object);
-    }
-
-    /**
-     * {@inheritdoc}
-     */
-    public function extract($object)
-    {
-        return $this->getHydrator($object)->extract($object);
-    }
-
-    /**
-     * Gets hydrator of an object
-     *
-     * @param  object $object
-     * @return HydratorInterface
-     */
-    protected function getHydrator($object)
-    {
-        return $this->hydrators->get(get_class($object));
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
deleted file mode 100644
index c3a0da2..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\ServiceManager\FactoryInterface;
-use Zend\ServiceManager\ServiceLocatorInterface;
-
-class DelegatingHydratorFactory implements FactoryInterface
-{
-    /**
-     * Creates DelegatingHydrator
-     *
-     * @param  ServiceLocatorInterface $serviceLocator
-     * @return DelegatingHydrator
-     */
-    public function createService(ServiceLocatorInterface $serviceLocator)
-    {
-        // Assume that this factory is registered with the HydratorManager,
-        // and just pass it directly on.
-        return new DelegatingHydrator($serviceLocator);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
deleted file mode 100644
index f9d4c56..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-use ArrayObject;
-use Zend\Stdlib\Exception\InvalidArgumentException;
-
-class FilterComposite implements FilterInterface
-{
-    /**
-     * @var ArrayObject
-     */
-    protected $orFilter;
-
-    /**
-     * @var ArrayObject
-     */
-    protected $andFilter;
-
-    /**
-     * Constant to add with "or" conditition
-     */
-    const CONDITION_OR = 1;
-
-    /**
-     * Constant to add with "and" conditition
-     */
-    const CONDITION_AND = 2;
-
-    /**
-     * Define default Filter
-     *
-     * @param  array $orFilter
-     * @param  array $andFilter
-     * @throws InvalidArgumentException
-     */
-    public function __construct($orFilter = [], $andFilter = [])
-    {
-        array_walk(
-            $orFilter,
-            function ($value, $key) {
-                if (!is_callable($value) && !$value instanceof FilterInterface) {
-                    throw new InvalidArgumentException(
-                        'The value of ' . $key . ' should be either a callable or ' .
-                        'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
-                    );
-                }
-            }
-        );
-
-        array_walk(
-            $andFilter,
-            function ($value, $key) {
-                if (!is_callable($value) && !$value instanceof FilterInterface) {
-                    throw new InvalidArgumentException(
-                        'The value of ' . $key . '  should be either a callable or ' .
-                        'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
-                    );
-                }
-            }
-        );
-
-        $this->orFilter = new ArrayObject($orFilter);
-        $this->andFilter = new ArrayObject($andFilter);
-    }
-
-    /**
-     * Add a filter to the composite. Has to be indexed with $name in
-     * order to identify a specific filter.
-     *
-     * This example will exclude all methods from the hydration, that starts with 'getService'
-     * <code>
-     * $composite->addFilter('exclude',
-     *     function ($method) {
-     *         if (preg_match('/^getService/', $method) {
-     *             return false;
-     *         }
-     *         return true;
-     *     }, FilterComposite::CONDITION_AND
-     * );
-     * </code>
-     *
-     * @param  string                   $name
-     * @param  callable|FilterInterface $filter
-     * @param  int                      $condition Can be either FilterComposite::CONDITION_OR or FilterComposite::CONDITION_AND
-     * @throws InvalidArgumentException
-     * @return FilterComposite
-     */
-    public function addFilter($name, $filter, $condition = self::CONDITION_OR)
-    {
-        if (!is_callable($filter) && !($filter instanceof FilterInterface)) {
-            throw new InvalidArgumentException(
-                'The value of ' . $name . ' should be either a callable or ' .
-                'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
-            );
-        }
-
-        if ($condition === self::CONDITION_OR) {
-            $this->orFilter[$name] = $filter;
-        } elseif ($condition === self::CONDITION_AND) {
-            $this->andFilter[$name] = $filter;
-        }
-
-        return $this;
-    }
-
-    /**
-     * Remove a filter from the composition
-     *
-     * @param $name string Identifier for the filter
-     * @return FilterComposite
-     */
-    public function removeFilter($name)
-    {
-        if (isset($this->orFilter[$name])) {
-            unset($this->orFilter[$name]);
-        }
-
-        if (isset($this->andFilter[$name])) {
-            unset($this->andFilter[$name]);
-        }
-
-        return $this;
-    }
-
-    /**
-     * Check if $name has a filter registered
-     *
-     * @param $name string Identifier for the filter
-     * @return bool
-     */
-    public function hasFilter($name)
-    {
-        return isset($this->orFilter[$name]) || isset($this->andFilter[$name]);
-    }
-
-    /**
-     * Filter the composite based on the AND and OR condition
-     * Will return true if one from the "or conditions" and all from
-     * the "and condition" returns true. Otherwise false
-     *
-     * @param $property string Parameter will be e.g. Parent\Namespace\Class::method
-     * @return bool
-     */
-    public function filter($property)
-    {
-        $andCount = count($this->andFilter);
-        $orCount = count($this->orFilter);
-        // return true if no filters are registered
-        if ($orCount === 0 && $andCount === 0) {
-            return true;
-        } elseif ($orCount === 0 && $andCount !== 0) {
-            $returnValue = true;
-        } else {
-            $returnValue = false;
-        }
-
-        // Check if 1 from the or filters return true
-        foreach ($this->orFilter as $filter) {
-            if (is_callable($filter)) {
-                if ($filter($property) === true) {
-                    $returnValue = true;
-                    break;
-                }
-                continue;
-            } else {
-                if ($filter->filter($property) === true) {
-                    $returnValue = true;
-                    break;
-                }
-            }
-        }
-
-        // Check if all of the and condition return true
-        foreach ($this->andFilter as $filter) {
-            if (is_callable($filter)) {
-                if ($filter($property) === false) {
-                    return false;
-                }
-                continue;
-            } else {
-                if ($filter->filter($property) === false) {
-                    return false;
-                }
-            }
-        }
-
-        return $returnValue;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
deleted file mode 100644
index 16df098..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-interface FilterInterface
-{
-    /**
-     * Should return true, if the given filter
-     * does not match
-     *
-     * @param string $property The name of the property
-     * @return bool
-     */
-    public function filter($property);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
deleted file mode 100644
index c2e9788..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-interface FilterProviderInterface
-{
-    /**
-     * Provides a filter for hydration
-     *
-     * @return FilterInterface
-     */
-    public function getFilter();
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
deleted file mode 100644
index b4d898d..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-class GetFilter implements FilterInterface
-{
-    public function filter($property)
-    {
-        $pos = strpos($property, '::');
-        if ($pos !== false) {
-            $pos += 2;
-        } else {
-            $pos = 0;
-        }
-
-        if (substr($property, $pos, 3) === 'get') {
-            return true;
-        }
-        return false;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
deleted file mode 100644
index 0cf57f9..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-class HasFilter implements FilterInterface
-{
-    public function filter($property)
-    {
-        $pos = strpos($property, '::');
-        if ($pos !== false) {
-            $pos += 2;
-        } else {
-            $pos = 0;
-        }
-
-        if (substr($property, $pos, 3) === 'has') {
-            return true;
-        }
-        return false;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
deleted file mode 100644
index 3b6e376..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-class IsFilter implements FilterInterface
-{
-    public function filter($property)
-    {
-        $pos = strpos($property, '::');
-        if ($pos !== false) {
-            $pos += 2;
-        } else {
-            $pos = 0;
-        }
-
-        if (substr($property, $pos, 2) === 'is') {
-            return true;
-        }
-        return false;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
deleted file mode 100644
index 2601a6f..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-class MethodMatchFilter implements FilterInterface
-{
-    /**
-     * The method to exclude
-     * @var string
-     */
-    protected $method = null;
-
-    /**
-     * Either an exclude or an include
-     * @var bool
-     */
-    protected $exclude = null;
-
-    /**
-     * @param string $method The method to exclude or include
-     * @param bool $exclude If the method should be excluded
-     */
-    public function __construct($method, $exclude = true)
-    {
-        $this->method = $method;
-        $this->exclude = $exclude;
-    }
-
-    public function filter($property)
-    {
-        $pos = strpos($property, '::');
-        if ($pos !== false) {
-            $pos += 2;
-        } else {
-            $pos = 0;
-        }
-        if (substr($property, $pos) === $this->method) {
-            return !$this->exclude;
-        }
-        return $this->exclude;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
deleted file mode 100644
index 1254b63..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Filter;
-
-use ReflectionException;
-use ReflectionMethod;
-use Zend\Stdlib\Exception\InvalidArgumentException;
-
-class NumberOfParameterFilter implements FilterInterface
-{
-    /**
-     * The number of parameters beeing accepted
-     * @var int
-     */
-    protected $numberOfParameters = null;
-
-    /**
-     * @param int $numberOfParameters Number of accepted parameters
-     */
-    public function __construct($numberOfParameters = 0)
-    {
-        $this->numberOfParameters = (int) $numberOfParameters;
-    }
-
-    /**
-     * @param string $property the name of the property
-     * @return bool
-     * @throws InvalidArgumentException
-     */
-    public function filter($property)
-    {
-        try {
-            $reflectionMethod = new ReflectionMethod($property);
-        } catch (ReflectionException $exception) {
-            throw new InvalidArgumentException(
-                "Method $property doesn't exist"
-            );
-        }
-
-        return $reflectionMethod->getNumberOfParameters() === $this->numberOfParameters;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
deleted file mode 100644
index 8204e78..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link           http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license        http://framework.zend.com/license/new-bsd New BSD License
- */
-namespace Zend\Stdlib\Hydrator\Filter;
-
-use InvalidArgumentException;
-use ReflectionException;
-use ReflectionMethod;
-use ReflectionParameter;
-
-/**
- * Filter that includes methods which have no parameters or only optional parameters
- */
-class OptionalParametersFilter implements FilterInterface
-{
-    /**
-     * Map of methods already analyzed
-     * by {@see \Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter::filter()},
-     * cached for performance reasons
-     *
-     * @var bool[]
-     */
-    protected static $propertiesCache = [];
-
-    /**
-     * {@inheritDoc}
-     */
-    public function filter($property)
-    {
-        if (isset(static::$propertiesCache[$property])) {
-            return static::$propertiesCache[$property];
-        }
-
-        try {
-            $reflectionMethod = new ReflectionMethod($property);
-        } catch (ReflectionException $exception) {
-            throw new InvalidArgumentException(sprintf('Method %s doesn\'t exist', $property));
-        }
-
-        $mandatoryParameters = array_filter(
-            $reflectionMethod->getParameters(),
-            function (ReflectionParameter $parameter) {
-                return ! $parameter->isOptional();
-            }
-        );
-
-        return static::$propertiesCache[$property] = empty($mandatoryParameters);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
deleted file mode 100644
index 380aade..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Hydrator\Filter\FilterInterface;
-use Zend\Stdlib\Hydrator\Filter\FilterComposite;
-use Zend\Stdlib\Hydrator\Filter\FilterProviderInterface;
-
-interface FilterEnabledInterface extends FilterProviderInterface
-{
-    /**
-     * Add a new filter to take care of what needs to be hydrated.
-     * To exclude e.g. the method getServiceLocator:
-     *
-     * <code>
-     * $composite->addFilter(
-     *     "servicelocator",
-     *     function ($property) {
-     *         list($class, $method) = explode('::', $property);
-     *         if ($method === 'getServiceLocator') {
-     *             return false;
-     *         }
-     *         return true;
-     *     },
-     *     FilterComposite::CONDITION_AND
-     * );
-     * </code>
-     *
-     * @param string $name Index in the composite
-     * @param callable|FilterInterface $filter
-     * @param int $condition
-     * @return FilterComposite
-     */
-    public function addFilter($name, $filter, $condition = FilterComposite::CONDITION_OR);
-
-    /**
-     * Check whether a specific filter exists at key $name or not
-     *
-     * @param string $name Index in the composite
-     * @return bool
-     */
-    public function hasFilter($name);
-
-    /**
-     * Remove a filter from the composition.
-     * To not extract "has" methods, you simply need to unregister it
-     *
-     * <code>
-     * $filterComposite->removeFilter('has');
-     * </code>
-     *
-     * @param $name
-     * @return FilterComposite
-     */
-    public function removeFilter($name);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
deleted file mode 100644
index e7deff4..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-interface HydrationInterface
-{
-    /**
-     * Hydrate $object with the provided $data.
-     *
-     * @param  array $data
-     * @param  object $object
-     * @return object
-     */
-    public function hydrate(array $data, $object);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
deleted file mode 100644
index d64782e..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-interface HydratorAwareInterface
-{
-    /**
-     * Set hydrator
-     *
-     * @param  HydratorInterface $hydrator
-     * @return HydratorAwareInterface
-     */
-    public function setHydrator(HydratorInterface $hydrator);
-
-    /**
-     * Retrieve hydrator
-     *
-     * @return HydratorInterface
-     */
-    public function getHydrator();
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
deleted file mode 100644
index 9c772c2..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-trait HydratorAwareTrait
-{
-    /**
-     * Hydrator instance
-     *
-     * @var HydratorInterface
-     * @access protected
-     */
-    protected $hydrator = null;
-
-    /**
-     * Set hydrator
-     *
-     * @param  HydratorInterface $hydrator
-     * @return self
-     * @access public
-     */
-    public function setHydrator(HydratorInterface $hydrator)
-    {
-        $this->hydrator = $hydrator;
-
-        return $this;
-    }
-
-    /**
-     * Retrieve hydrator
-     *
-     * @param void
-     * @return null|HydratorInterface
-     * @access public
-     */
-    public function getHydrator()
-    {
-        return $this->hydrator;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
deleted file mode 100644
index bc9983d..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Extractor\ExtractionInterface;
-
-interface HydratorInterface extends HydrationInterface, ExtractionInterface
-{
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
deleted file mode 100644
index 44610f7..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-interface HydratorOptionsInterface
-{
-    /**
-     * @param  array|\Traversable $options
-     * @return HydratorOptionsInterface
-     */
-    public function setOptions($options);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
deleted file mode 100644
index 537202f..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
+++ /dev/null
@@ -1,74 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\ServiceManager\AbstractPluginManager;
-use Zend\Stdlib\Exception;
-
-/**
- * Plugin manager implementation for hydrators.
- *
- * Enforces that adapters retrieved are instances of HydratorInterface
- */
-class HydratorPluginManager extends AbstractPluginManager
-{
-    /**
-     * Whether or not to share by default
-     *
-     * @var bool
-     */
-    protected $shareByDefault = false;
-
-    /**
-     * Default aliases
-     *
-     * @var array
-     */
-    protected $aliases = [
-        'delegatinghydrator' => 'Zend\Stdlib\Hydrator\DelegatingHydrator',
-    ];
-
-    /**
-     * Default set of adapters
-     *
-     * @var array
-     */
-    protected $invokableClasses = [
-        'arrayserializable' => 'Zend\Stdlib\Hydrator\ArraySerializable',
-        'classmethods'      => 'Zend\Stdlib\Hydrator\ClassMethods',
-        'objectproperty'    => 'Zend\Stdlib\Hydrator\ObjectProperty',
-        'reflection'        => 'Zend\Stdlib\Hydrator\Reflection'
-    ];
-
-    /**
-     * Default factory-based adapters
-     *
-     * @var array
-     */
-    protected $factories = [
-        'Zend\Stdlib\Hydrator\DelegatingHydrator' => 'Zend\Stdlib\Hydrator\DelegatingHydratorFactory',
-    ];
-
-    /**
-     * {@inheritDoc}
-     */
-    public function validatePlugin($plugin)
-    {
-        if ($plugin instanceof HydratorInterface) {
-            // we're okay
-            return;
-        }
-
-        throw new Exception\RuntimeException(sprintf(
-            'Plugin of type %s is invalid; must implement Zend\Stdlib\Hydrator\HydratorInterface',
-            (is_object($plugin) ? get_class($plugin) : gettype($plugin))
-        ));
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
deleted file mode 100644
index 22bc81a..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Iterator;
-
-use ArrayIterator;
-use Zend\Stdlib\Hydrator\HydratorInterface;
-
-class HydratingArrayIterator extends HydratingIteratorIterator
-{
-    /**
-     * @var HydratorInterface
-     */
-    protected $hydrator;
-
-    /**
-     * @var object
-     */
-    protected $prototype;
-
-    /**
-     * @param HydratorInterface $hydrator
-     * @param array $data
-     * @param string|object $prototype Object, or class name to use for prototype.
-     */
-    public function __construct(HydratorInterface $hydrator, array $data, $prototype)
-    {
-        parent::__construct($hydrator, new ArrayIterator($data), $prototype);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
deleted file mode 100644
index ba8c596..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Iterator;
-
-use Iterator;
-use Zend\Stdlib\Hydrator\HydratorInterface;
-
-interface HydratingIteratorInterface extends Iterator
-{
-    /**
-     * This sets the prototype to hydrate.
-     *
-     * This prototype can be the name of the class or the object itself;
-     * iteration will clone the object.
-     *
-     * @param string|object $prototype
-     */
-    public function setPrototype($prototype);
-
-    /**
-     * Sets the hydrator to use during iteration.
-     *
-     * @param HydratorInterface $hydrator
-     */
-    public function setHydrator(HydratorInterface $hydrator);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
deleted file mode 100644
index 2cd1d65..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Iterator;
-
-use Iterator;
-use IteratorIterator;
-use Zend\Stdlib\Exception\InvalidArgumentException;
-use Zend\Stdlib\Hydrator\HydratorInterface;
-
-class HydratingIteratorIterator extends IteratorIterator implements HydratingIteratorInterface
-{
-    /**
-     * @var HydratorInterface
-     */
-    protected $hydrator;
-
-    /**
-     * @var object
-     */
-    protected $prototype;
-
-    /**
-     * @param HydratorInterface $hydrator
-     * @param Iterator $data
-     * @param string|object $prototype Object or class name to use for prototype.
-     */
-    public function __construct(HydratorInterface $hydrator, Iterator $data, $prototype)
-    {
-        $this->setHydrator($hydrator);
-        $this->setPrototype($prototype);
-        parent::__construct($data);
-    }
-
-    /**
-     * @inheritdoc
-     */
-    public function setPrototype($prototype)
-    {
-        if (is_object($prototype)) {
-            $this->prototype = $prototype;
-            return;
-        }
-
-        if (!class_exists($prototype)) {
-            throw new InvalidArgumentException(
-                sprintf('Method %s was passed an invalid class name: %s', __METHOD__, $prototype)
-            );
-        }
-
-        $this->prototype = new $prototype;
-    }
-
-    /**
-     * @inheritdoc
-     */
-    public function setHydrator(HydratorInterface $hydrator)
-    {
-        $this->hydrator = $hydrator;
-    }
-
-    /**
-     * @return object Returns hydrated clone of $prototype
-     */
-    public function current()
-    {
-        $currentValue = parent::current();
-        $object       = clone $this->prototype;
-        $this->hydrator->hydrate($currentValue, $object);
-        return $object;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
deleted file mode 100644
index 6ca3711..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-final class ArrayMapNamingStrategy implements NamingStrategyInterface
-{
-    /**
-     * @var string[]
-     */
-    private $extractionMap = [];
-
-    /**
-     * @var string[]
-     */
-    private $hydrationMap = [];
-
-    /**
-     * Constructor
-     *
-     * @param array $extractionMap A map of string keys and values for symmetric translation of hydrated
-     *                             and extracted field names
-     */
-    public function __construct(array $extractionMap)
-    {
-        $this->extractionMap = $extractionMap;
-        $this->hydrationMap  = array_flip($extractionMap);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function hydrate($name)
-    {
-        return isset($this->hydrationMap[$name]) ? $this->hydrationMap[$name] : $name;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function extract($name)
-    {
-        return isset($this->extractionMap[$name]) ? $this->extractionMap[$name] : $name;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
deleted file mode 100644
index 76a3082..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
+++ /dev/null
@@ -1,64 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-final class CompositeNamingStrategy implements NamingStrategyInterface
-{
-    /**
-     * @var array
-     */
-    private $namingStrategies = [];
-
-    /**
-     * @var NamingStrategyInterface
-     */
-    private $defaultNamingStrategy;
-
-    /**
-     * @param NamingStrategyInterface[]    $strategies            indexed by the name they translate
-     * @param NamingStrategyInterface|null $defaultNamingStrategy
-     */
-    public function __construct(array $strategies, NamingStrategyInterface $defaultNamingStrategy = null)
-    {
-        $this->namingStrategies = array_map(
-            function (NamingStrategyInterface $strategy) {
-                // this callback is here only to ensure type-safety
-                return $strategy;
-            },
-            $strategies
-        );
-
-        $this->defaultNamingStrategy = $defaultNamingStrategy ?: new IdentityNamingStrategy();
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function extract($name)
-    {
-        $strategy = isset($this->namingStrategies[$name])
-            ? $this->namingStrategies[$name]
-            : $this->defaultNamingStrategy;
-
-        return $strategy->extract($name);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function hydrate($name)
-    {
-        $strategy = isset($this->namingStrategies[$name])
-            ? $this->namingStrategies[$name]
-            : $this->defaultNamingStrategy;
-
-        return $strategy->hydrate($name);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
deleted file mode 100644
index ee4b328..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
+++ /dev/null
@@ -1,29 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-final class IdentityNamingStrategy implements NamingStrategyInterface
-{
-    /**
-     * {@inheritDoc}
-     */
-    public function hydrate($name)
-    {
-        return $name;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function extract($name)
-    {
-        return $name;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
deleted file mode 100644
index 7d04e57..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
+++ /dev/null
@@ -1,89 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-use Zend\Stdlib\Exception\InvalidArgumentException;
-
-class MapNamingStrategy implements NamingStrategyInterface
-{
-    /**
-     * Map for hydrate name conversion.
-     *
-     * @var array
-     */
-    protected $mapping = [];
-
-    /**
-     * Reversed map for extract name conversion.
-     *
-     * @var array
-     */
-    protected $reverse = [];
-
-    /**
-     * Initialize.
-     *
-     * @param array $mapping Map for name conversion on hydration
-     * @param array $reverse Reverse map for name conversion on extraction
-     */
-    public function __construct(array $mapping, array $reverse = null)
-    {
-        $this->mapping = $mapping;
-        $this->reverse = $reverse ?: $this->flipMapping($mapping);
-    }
-
-    /**
-     * Safelly flip mapping array.
-     *
-     * @param  array                    $array Array to flip
-     * @return array                    Flipped array
-     * @throws InvalidArgumentException
-     */
-    protected function flipMapping(array $array)
-    {
-        array_walk($array, function ($value) {
-            if (!is_string($value) && !is_int($value)) {
-                throw new InvalidArgumentException('Mapping array can\'t be flipped because of invalid value');
-            }
-        });
-
-        return array_flip($array);
-    }
-
-    /**
-     * Converts the given name so that it can be extracted by the hydrator.
-     *
-     * @param  string $name The original name
-     * @return mixed  The hydrated name
-     */
-    public function hydrate($name)
-    {
-        if (array_key_exists($name, $this->mapping)) {
-            return $this->mapping[$name];
-        }
-
-        return $name;
-    }
-
-    /**
-     * Converts the given name so that it can be hydrated by the hydrator.
-     *
-     * @param  string $name The original name
-     * @return mixed  The extracted name
-     */
-    public function extract($name)
-    {
-        if (array_key_exists($name, $this->reverse)) {
-            return $this->reverse[$name];
-        }
-
-        return $name;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
deleted file mode 100644
index ff99385..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-/**
- * Allow property extraction / hydration for hydrator
- *
- * Interface PropertyStrategyInterface
- * @package Zend\Stdlib\Hydrator\NamingStrategy
- */
-interface NamingStrategyInterface
-{
-    /**
-     * Converts the given name so that it can be extracted by the hydrator.
-     *
-     * @param string $name   The original name
-     * @param object $object (optional) The original object for context.
-     * @return mixed         The hydrated name
-     */
-    public function hydrate($name);
-
-    /**
-     * Converts the given name so that it can be hydrated by the hydrator.
-     *
-     * @param string $name The original name
-     * @param array  $data (optional) The original data for context.
-     * @return mixed The extracted name
-     */
-    public function extract($name);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
deleted file mode 100644
index 023b4ee..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\NamingStrategy;
-
-use Zend\Filter\FilterChain;
-
-class UnderscoreNamingStrategy implements NamingStrategyInterface
-{
-    /**
-     * @var FilterChain|null
-     */
-    protected static $camelCaseToUnderscoreFilter;
-
-    /**
-     * @var FilterChain|null
-     */
-    protected static $underscoreToStudlyCaseFilter;
-
-    /**
-     * Remove underscores and capitalize letters
-     *
-     * @param  string $name
-     * @return string
-     */
-    public function hydrate($name)
-    {
-        return $this->getUnderscoreToStudlyCaseFilter()->filter($name);
-    }
-
-    /**
-     * Remove capitalized letters and prepend underscores.
-     *
-     * @param  string $name
-     * @return string
-     */
-    public function extract($name)
-    {
-        return $this->getCamelCaseToUnderscoreFilter()->filter($name);
-    }
-
-    /**
-     * @return FilterChain
-     */
-    protected function getUnderscoreToStudlyCaseFilter()
-    {
-        if (static::$underscoreToStudlyCaseFilter instanceof FilterChain) {
-            return static::$underscoreToStudlyCaseFilter;
-        }
-
-        $filter = new FilterChain();
-
-        $filter->attachByName('WordUnderscoreToStudlyCase');
-
-        return static::$underscoreToStudlyCaseFilter = $filter;
-    }
-
-    /**
-     * @return FilterChain
-     */
-    protected function getCamelCaseToUnderscoreFilter()
-    {
-        if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) {
-            return static::$camelCaseToUnderscoreFilter;
-        }
-
-        $filter = new FilterChain();
-
-        $filter->attachByName('WordCamelCaseToUnderscore');
-        $filter->attachByName('StringToLower');
-
-        return static::$camelCaseToUnderscoreFilter = $filter;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
deleted file mode 100644
index f9c6288..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Hydrator\NamingStrategy\NamingStrategyInterface;
-
-interface NamingStrategyEnabledInterface
-{
-    /**
-     * Adds the given naming strategy
-     *
-     * @param NamingStrategyInterface $strategy The naming to register.
-     * @return NamingStrategyEnabledInterface
-     */
-    public function setNamingStrategy(NamingStrategyInterface $strategy);
-
-    /**
-     * Gets the naming strategy.
-     *
-     * @return NamingStrategyInterface
-     */
-    public function getNamingStrategy();
-
-    /**
-     * Checks if a naming strategy exists.
-     *
-     * @return bool
-     */
-    public function hasNamingStrategy();
-
-    /**
-     * Removes the naming with the given name.
-     *
-     * @return NamingStrategyEnabledInterface
-     */
-    public function removeNamingStrategy();
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
deleted file mode 100644
index 8b886eb..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
+++ /dev/null
@@ -1,110 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Exception;
-use ReflectionClass;
-use ReflectionProperty;
-
-class ObjectProperty extends AbstractHydrator
-{
-    /**
-     * @var array[] indexed by class name and then property name
-     */
-    private static $skippedPropertiesCache = [];
-
-    /**
-     * {@inheritDoc}
-     *
-     * Extracts the accessible non-static properties of the given $object.
-     *
-     * @throws Exception\BadMethodCallException for a non-object $object
-     */
-    public function extract($object)
-    {
-        if (!is_object($object)) {
-            throw new Exception\BadMethodCallException(
-                sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
-            );
-        }
-
-        $data   = get_object_vars($object);
-        $filter = $this->getFilter();
-
-        foreach ($data as $name => $value) {
-            // Filter keys, removing any we don't want
-            if (! $filter->filter($name)) {
-                unset($data[$name]);
-                continue;
-            }
-
-            // Replace name if extracted differ
-            $extracted = $this->extractName($name, $object);
-
-            if ($extracted !== $name) {
-                unset($data[$name]);
-                $name = $extracted;
-            }
-
-            $data[$name] = $this->extractValue($name, $value, $object);
-        }
-
-        return $data;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Hydrate an object by populating public properties
-     *
-     * Hydrates an object by setting public properties of the object.
-     *
-     * @throws Exception\BadMethodCallException for a non-object $object
-     */
-    public function hydrate(array $data, $object)
-    {
-        if (!is_object($object)) {
-            throw new Exception\BadMethodCallException(
-                sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
-            );
-        }
-
-        $properties = & self::$skippedPropertiesCache[get_class($object)];
-
-        if (! isset($properties)) {
-            $reflection = new ReflectionClass($object);
-            $properties = array_fill_keys(
-                array_map(
-                    function (ReflectionProperty $property) {
-                        return $property->getName();
-                    },
-                    $reflection->getProperties(
-                        ReflectionProperty::IS_PRIVATE
-                        + ReflectionProperty::IS_PROTECTED
-                        + ReflectionProperty::IS_STATIC
-                    )
-                ),
-                true
-            );
-        }
-
-        foreach ($data as $name => $value) {
-            $property = $this->hydrateName($name, $data);
-
-            if (isset($properties[$property])) {
-                continue;
-            }
-
-            $object->$property = $this->hydrateValue($property, $value, $data);
-        }
-
-        return $object;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
deleted file mode 100644
index a963d1f..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
+++ /dev/null
@@ -1,95 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use ReflectionClass;
-use Zend\Stdlib\Exception;
-
-class Reflection extends AbstractHydrator
-{
-    /**
-     * Simple in-memory array cache of ReflectionProperties used.
-     * @var \ReflectionProperty[]
-     */
-    protected static $reflProperties = [];
-
-    /**
-     * Extract values from an object
-     *
-     * @param  object $object
-     * @return array
-     */
-    public function extract($object)
-    {
-        $result = [];
-        foreach (self::getReflProperties($object) as $property) {
-            $propertyName = $this->extractName($property->getName(), $object);
-            if (!$this->filterComposite->filter($propertyName)) {
-                continue;
-            }
-
-            $value = $property->getValue($object);
-            $result[$propertyName] = $this->extractValue($propertyName, $value, $object);
-        }
-
-        return $result;
-    }
-
-    /**
-     * Hydrate $object with the provided $data.
-     *
-     * @param  array $data
-     * @param  object $object
-     * @return object
-     */
-    public function hydrate(array $data, $object)
-    {
-        $reflProperties = self::getReflProperties($object);
-        foreach ($data as $key => $value) {
-            $name = $this->hydrateName($key, $data);
-            if (isset($reflProperties[$name])) {
-                $reflProperties[$name]->setValue($object, $this->hydrateValue($name, $value, $data));
-            }
-        }
-        return $object;
-    }
-
-    /**
-     * Get a reflection properties from in-memory cache and lazy-load if
-     * class has not been loaded.
-     *
-     * @param  string|object $input
-     * @throws Exception\InvalidArgumentException
-     * @return \ReflectionProperty[]
-     */
-    protected static function getReflProperties($input)
-    {
-        if (is_object($input)) {
-            $input = get_class($input);
-        } elseif (!is_string($input)) {
-            throw new Exception\InvalidArgumentException('Input must be a string or an object.');
-        }
-
-        if (isset(static::$reflProperties[$input])) {
-            return static::$reflProperties[$input];
-        }
-
-        static::$reflProperties[$input] = [];
-        $reflClass                      = new ReflectionClass($input);
-        $reflProperties                 = $reflClass->getProperties();
-
-        foreach ($reflProperties as $property) {
-            $property->setAccessible(true);
-            static::$reflProperties[$input][$property->getName()] = $property;
-        }
-
-        return static::$reflProperties[$input];
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
deleted file mode 100644
index 3c29231..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
+++ /dev/null
@@ -1,106 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-use Zend\Stdlib\Exception\InvalidArgumentException;
-
-/**
- * This Strategy extracts and hydrates int and string values to Boolean values
- *
- * @package Zend\Stdlib\Hydrator\Strategy
- */
-final class BooleanStrategy implements StrategyInterface
-{
-    /**
-     * @var int|string
-     */
-    private $trueValue;
-
-    /**
-     * @var int|string
-     */
-    private $falseValue;
-
-    /**
-     * @param int|string $trueValue
-     * @param int|string $falseValue
-     * @throws InvalidArgumentException
-     */
-    public function __construct($trueValue, $falseValue)
-    {
-        if (!is_int($trueValue) && !is_string($trueValue)) {
-            throw new InvalidArgumentException(sprintf(
-                'Unable to instantiate BooleanStrategy. Expected int or string as $trueValue. %s was given',
-                is_object($trueValue) ? get_class($trueValue) : gettype($trueValue)
-            ));
-        }
-
-        if (!is_int($falseValue) && !is_string($falseValue)) {
-            throw new InvalidArgumentException(sprintf(
-                'Unable to instantiate BooleanStrategy. Expected int or string as $falseValue. %s was given',
-                is_object($falseValue) ? get_class($falseValue) : gettype($falseValue)
-            ));
-        }
-
-        $this->trueValue  = $trueValue;
-        $this->falseValue = $falseValue;
-    }
-
-    /**
-     * Converts the given value so that it can be extracted by the hydrator.
-     *
-     * @param  bool $value The original value.
-     * @throws InvalidArgumentException
-     * @return int|string Returns the value that should be extracted.
-     */
-    public function extract($value)
-    {
-        if (!is_bool($value)) {
-            throw new InvalidArgumentException(sprintf(
-                'Unable to extract. Expected bool. %s was given.',
-                is_object($value) ? get_class($value) : gettype($value)
-            ));
-        }
-
-        return $value === true ? $this->trueValue : $this->falseValue;
-    }
-
-    /**
-     * Converts the given value so that it can be hydrated by the hydrator.
-     *
-     * @param  int|string $value The original value.
-     * @throws InvalidArgumentException
-     * @return bool Returns the value that should be hydrated.
-     */
-    public function hydrate($value)
-    {
-        if (!is_string($value) && !is_int($value)) {
-            throw new InvalidArgumentException(sprintf(
-                'Unable to hydrate. Expected string or int. %s was given.',
-                is_object($value) ? get_class($value) : gettype($value)
-            ));
-        }
-
-        if ($value === $this->trueValue) {
-            return true;
-        }
-
-        if ($value === $this->falseValue) {
-            return false;
-        }
-
-        throw new InvalidArgumentException(sprintf(
-            'Unexpected value %s can\'t be hydrated. Expect %s or %s as Value.',
-            $value,
-            $this->trueValue,
-            $this->falseValue
-        ));
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
deleted file mode 100644
index bf456a7..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-class ClosureStrategy implements StrategyInterface
-{
-    /**
-     * Function, used in extract method, default:
-     * function ($value) {
-     *     return $value;
-     * };
-     * @var callable
-     */
-    protected $extractFunc = null;
-
-    /**
-     * Function, used in hydrate method, default:
-     * function ($value) {
-     *     return $value;
-     * };
-     * @var callable
-     */
-    protected $hydrateFunc = null;
-
-    /**
-     * You can describe how your values will extract and hydrate, like this:
-     * $hydrator->addStrategy('category', new ClosureStrategy(
-     *     function (Category $value) {
-     *         return (int) $value->id;
-     *     },
-     *     function ($value) {
-     *         return new Category((int) $value);
-     *     }
-     * ));
-     *
-     * @param callable $extractFunc - anonymous function, that extract values
-     * from object
-     * @param callable $hydrateFunc - anonymous function, that hydrate values
-     * into object
-     */
-    public function __construct($extractFunc = null, $hydrateFunc = null)
-    {
-        if (isset($extractFunc)) {
-            if (!is_callable($extractFunc)) {
-                throw new \Exception('$extractFunc must be callable');
-            }
-
-            $this->extractFunc = $extractFunc;
-        } else {
-            $this->extractFunc = function ($value) {
-                return $value;
-            };
-        }
-
-        if (isset($hydrateFunc)) {
-            if (!is_callable($hydrateFunc)) {
-                throw new \Exception('$hydrateFunc must be callable');
-            }
-
-            $this->hydrateFunc = $hydrateFunc;
-        } else {
-            $this->hydrateFunc = function ($value) {
-                return $value;
-            };
-        }
-    }
-
-    /**
-     * Converts the given value so that it can be extracted by the hydrator.
-     *
-     * @param  mixed $value  The original value.
-     * @param  array $object The object is optionally provided as context.
-     * @return mixed Returns the value that should be extracted.
-     */
-    public function extract($value, $object = null)
-    {
-        $func = $this->extractFunc;
-
-        return $func($value, $object);
-    }
-
-    /**
-     * Converts the given value so that it can be hydrated by the hydrator.
-     *
-     * @param  mixed $value The original value.
-     * @param  array $data  The whole data is optionally provided as context.
-     * @return mixed Returns the value that should be hydrated.
-     */
-    public function hydrate($value, $data = null)
-    {
-        $func = $this->hydrateFunc;
-
-        return $func($value, $data);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
deleted file mode 100644
index 62d92c5..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-use DateTime;
-use DateTimeZone;
-
-final class DateTimeFormatterStrategy implements StrategyInterface
-{
-    /**
-     * @var string
-     */
-    private $format;
-
-    /**
-     * @var DateTimeZone|null
-     */
-    private $timezone;
-
-    /**
-     * Constructor
-     *
-     * @param string            $format
-     * @param DateTimeZone|null $timezone
-     */
-    public function __construct($format = DateTime::RFC3339, DateTimeZone $timezone = null)
-    {
-        $this->format   = (string) $format;
-        $this->timezone = $timezone;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Converts to date time string
-     *
-     * @param mixed|DateTime $value
-     *
-     * @return mixed|string
-     */
-    public function extract($value)
-    {
-        if ($value instanceof DateTime) {
-            return $value->format($this->format);
-        }
-
-        return $value;
-    }
-
-    /**
-     * Converts date time string to DateTime instance for injecting to object
-     *
-     * {@inheritDoc}
-     *
-     * @param mixed|string $value
-     *
-     * @return mixed|DateTime
-     */
-    public function hydrate($value)
-    {
-        if ($value === '' || $value === null) {
-            return;
-        }
-
-        if ($this->timezone) {
-            $hydrated = DateTime::createFromFormat($this->format, $value, $this->timezone);
-        } else {
-            $hydrated = DateTime::createFromFormat($this->format, $value);
-        }
-
-        return $hydrated ?: $value;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
deleted file mode 100644
index b2c5c29..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-class DefaultStrategy implements StrategyInterface
-{
-    /**
-     * Converts the given value so that it can be extracted by the hydrator.
-     *
-     * @param mixed $value The original value.
-     * @return mixed Returns the value that should be extracted.
-     */
-    public function extract($value)
-    {
-        return $value;
-    }
-
-    /**
-     * Converts the given value so that it can be hydrated by the hydrator.
-     *
-     * @param mixed $value The original value.
-     * @return mixed Returns the value that should be hydrated.
-     */
-    public function hydrate($value)
-    {
-        return $value;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
deleted file mode 100644
index c7b576c..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy\Exception;
-
-interface ExceptionInterface
-{
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
deleted file mode 100644
index 2e6510d..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy\Exception;
-
-class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
-{
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
deleted file mode 100644
index 97c790b..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
+++ /dev/null
@@ -1,113 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-final class ExplodeStrategy implements StrategyInterface
-{
-    /**
-     * @var string
-     */
-    private $valueDelimiter;
-
-    /**
-     * @var int|null
-     */
-    private $explodeLimit;
-
-    /**
-     * Constructor
-     *
-     * @param string   $delimiter    String that the values will be split upon
-     * @param int|null $explodeLimit Explode limit
-     */
-    public function __construct($delimiter = ',', $explodeLimit = null)
-    {
-        $this->setValueDelimiter($delimiter);
-
-        $this->explodeLimit = ($explodeLimit === null) ? null : (int) $explodeLimit;
-    }
-
-    /**
-     * Sets the delimiter string that the values will be split upon
-     *
-     * @param  string $delimiter
-     * @return self
-     */
-    private function setValueDelimiter($delimiter)
-    {
-        if (!is_string($delimiter)) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                '%s expects Delimiter to be string, %s provided instead',
-                __METHOD__,
-                is_object($delimiter) ? get_class($delimiter) : gettype($delimiter)
-            ));
-        }
-
-        if (empty($delimiter)) {
-            throw new Exception\InvalidArgumentException('Delimiter cannot be empty.');
-        }
-
-        $this->valueDelimiter = $delimiter;
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Split a string by delimiter
-     *
-     * @param string|null $value
-     *
-     * @return string[]
-     *
-     * @throws Exception\InvalidArgumentException
-     */
-    public function hydrate($value)
-    {
-        if (null === $value) {
-            return [];
-        }
-
-        if (!(is_string($value) || is_numeric($value))) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                '%s expects argument 1 to be string, %s provided instead',
-                __METHOD__,
-                is_object($value) ? get_class($value) : gettype($value)
-            ));
-        }
-
-        if ($this->explodeLimit !== null) {
-            return explode($this->valueDelimiter, $value, $this->explodeLimit);
-        }
-
-        return explode($this->valueDelimiter, $value);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Join array elements with delimiter
-     *
-     * @param string[] $value The original value.
-     *
-     * @return string|null
-     */
-    public function extract($value)
-    {
-        if (!is_array($value)) {
-            throw new Exception\InvalidArgumentException(sprintf(
-                '%s expects argument 1 to be array, %s provided instead',
-                __METHOD__,
-                is_object($value) ? get_class($value) : gettype($value)
-            ));
-        }
-
-        return empty($value) ? null : implode($this->valueDelimiter, $value);
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
deleted file mode 100644
index 51549dd..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
+++ /dev/null
@@ -1,123 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-use Zend\Stdlib\Exception\InvalidArgumentException;
-use Zend\Serializer\Adapter\AdapterInterface as SerializerAdapter;
-use Zend\Serializer\Serializer as SerializerFactory;
-
-class SerializableStrategy implements StrategyInterface
-{
-    /**
-     * @var string|SerializerAdapter
-     */
-    protected $serializer;
-
-    /**
-     * @var array
-     */
-    protected $serializerOptions = [];
-
-    /**
-     *
-     * @param mixed $serializer string or SerializerAdapter
-     * @param mixed $serializerOptions
-     */
-    public function __construct($serializer, $serializerOptions = null)
-    {
-        $this->setSerializer($serializer);
-        if ($serializerOptions) {
-            $this->setSerializerOptions($serializerOptions);
-        }
-    }
-
-    /**
-     * Serialize the given value so that it can be extracted by the hydrator.
-     *
-     * @param mixed $value The original value.
-     * @return mixed Returns the value that should be extracted.
-     */
-    public function extract($value)
-    {
-        $serializer = $this->getSerializer();
-        return $serializer->serialize($value);
-    }
-
-    /**
-     * Unserialize the given value so that it can be hydrated by the hydrator.
-     *
-     * @param mixed $value The original value.
-     * @return mixed Returns the value that should be hydrated.
-     */
-    public function hydrate($value)
-    {
-        $serializer = $this->getSerializer();
-        return $serializer->unserialize($value);
-    }
-
-    /**
-     * Set serializer
-     *
-     * @param  string|SerializerAdapter $serializer
-     * @return SerializableStrategy
-     */
-    public function setSerializer($serializer)
-    {
-        if (!is_string($serializer) && !$serializer instanceof SerializerAdapter) {
-            throw new InvalidArgumentException(sprintf(
-                '%s expects either a string serializer name or Zend\Serializer\Adapter\AdapterInterface instance; '
-                . 'received "%s"',
-                __METHOD__,
-                (is_object($serializer) ? get_class($serializer) : gettype($serializer))
-            ));
-        }
-        $this->serializer = $serializer;
-        return $this;
-    }
-
-    /**
-     * Get serializer
-     *
-     * @return SerializerAdapter
-     */
-    public function getSerializer()
-    {
-        if (is_string($this->serializer)) {
-            $options = $this->getSerializerOptions();
-            $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
-        } elseif (null === $this->serializer) {
-            $this->setSerializer(SerializerFactory::getDefaultAdapter());
-        }
-
-        return $this->serializer;
-    }
-
-    /**
-     * Set configuration options for instantiating a serializer adapter
-     *
-     * @param  mixed $serializerOptions
-     * @return SerializableStrategy
-     */
-    public function setSerializerOptions($serializerOptions)
-    {
-        $this->serializerOptions = $serializerOptions;
-        return $this;
-    }
-
-    /**
-     * Get configuration options for instantiating a serializer adapter
-     *
-     * @return mixed
-     */
-    public function getSerializerOptions()
-    {
-        return $this->serializerOptions;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
deleted file mode 100644
index a9316bb..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-use Traversable;
-use Zend\Stdlib\ArrayUtils;
-
-final class StrategyChain implements StrategyInterface
-{
-    /**
-     * Strategy chain for extraction
-     *
-     * @var StrategyInterface[]
-     */
-    private $extractionStrategies;
-
-    /**
-     * Strategy chain for hydration
-     *
-     * @var StrategyInterface[]
-     */
-    private $hydrationStrategies;
-
-    /**
-     * Constructor
-     *
-     * @param array|Traversable $extractionStrategies
-     */
-    public function __construct($extractionStrategies)
-    {
-        $extractionStrategies = ArrayUtils::iteratorToArray($extractionStrategies);
-        $this->extractionStrategies = array_map(
-            function (StrategyInterface $strategy) {
-                // this callback is here only to ensure type-safety
-                return $strategy;
-            },
-            $extractionStrategies
-        );
-
-        $this->hydrationStrategies = array_reverse($extractionStrategies);
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function extract($value)
-    {
-        foreach ($this->extractionStrategies as $strategy) {
-            $value = $strategy->extract($value);
-        }
-
-        return $value;
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    public function hydrate($value)
-    {
-        foreach ($this->hydrationStrategies as $strategy) {
-            $value = $strategy->hydrate($value);
-        }
-
-        return $value;
-    }
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
deleted file mode 100644
index 562ec4b..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator\Strategy;
-
-/**
- * @todo v3.0, add optional object/data to extract/hydrate.
- */
-interface StrategyInterface
-{
-    /**
-     * Converts the given value so that it can be extracted by the hydrator.
-     *
-     * @param mixed   $value The original value.
-     * @param object $object (optional) The original object for context.
-     * @return mixed Returns the value that should be extracted.
-     */
-    public function extract($value);
-
-    /**
-     * Converts the given value so that it can be hydrated by the hydrator.
-     *
-     * @param mixed $value The original value.
-     * @param array  $data (optional) The original data for context.
-     * @return mixed Returns the value that should be hydrated.
-     */
-    public function hydrate($value);
-}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php b/core/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
deleted file mode 100644
index 6f29b16..0000000
--- a/core/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-/**
- * Zend Framework (http://framework.zend.com/)
- *
- * @link      http://github.com/zendframework/zf2 for the canonical source repository
- * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
- * @license   http://framework.zend.com/license/new-bsd New BSD License
- */
-
-namespace Zend\Stdlib\Hydrator;
-
-use Zend\Stdlib\Hydrator\Strategy\StrategyInterface;
-
-interface StrategyEnabledInterface
-{
-    /**
-     * Adds the given strategy under the given name.
-     *
-     * @param string $name The name of the strategy to register.
-     * @param StrategyInterface $strategy The strategy to register.
-     * @return StrategyEnabledInterface
-     */
-    public function addStrategy($name, StrategyInterface $strategy);
-
-    /**
-     * Gets the strategy with the given name.
-     *
-     * @param string $name The name of the strategy to get.
-     * @return StrategyInterface
-     */
-    public function getStrategy($name);
-
-    /**
-     * Checks if the strategy with the given name exists.
-     *
-     * @param string $name The name of the strategy to check for.
-     * @return bool
-     */
-    public function hasStrategy($name);
-
-    /**
-     * Removes the strategy with the given name.
-     *
-     * @param string $name The name of the strategy to remove.
-     * @return StrategyEnabledInterface
-     */
-    public function removeStrategy($name);
-}
diff --git a/core/vendor/autoload.php b/vendor/autoload.php
similarity index 100%
rename from core/vendor/autoload.php
rename to vendor/autoload.php
diff --git a/core/vendor/behat/mink-browserkit-driver/.gitignore b/vendor/behat/mink-browserkit-driver/.gitignore
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/.gitignore
rename to vendor/behat/mink-browserkit-driver/.gitignore
diff --git a/vendor/behat/mink-browserkit-driver/.travis.yml b/vendor/behat/mink-browserkit-driver/.travis.yml
new file mode 100644
index 0000000..9c08e64
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/.travis.yml
@@ -0,0 +1,27 @@
+language: php
+
+sudo: false
+
+php: [5.3, 5.4, 5.5, 5.6, hhvm]
+
+matrix:
+  include:
+    - php: 5.5
+      env: SYMFONY_VERSION='2.3.*'
+    - php: 5.5
+      env: SYMFONY_VERSION='2.5.*@dev'
+
+cache:
+  directories:
+    - $HOME/.composer/cache/files
+
+before_install:
+  - sh -c 'if [ "$SYMFONY_VERSION" != "" ]; then composer require -n --no-update symfony/symfony=$SYMFONY_VERSION; fi;'
+
+install:
+  - composer install -n
+
+script: phpunit -v --coverage-clover=coverage.clover
+
+after_script:
+  - wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/vendor/behat/mink-browserkit-driver/CHANGELOG.md b/vendor/behat/mink-browserkit-driver/CHANGELOG.md
new file mode 100644
index 0000000..1b8e790
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/CHANGELOG.md
@@ -0,0 +1,54 @@
+1.3.0 / 2015-09-21
+==================
+
+BC break:
+
+* Dropped support for Symfony 2.2 and older
+* Bumped required PHP version to 5.3.6
+
+New features:
+
+* Updated the driver to use findElementsXpaths for Mink 1.7 and forward compatibility with Mink 2
+
+Bug fixes:
+
+* Improved the exception message when clicking on an invalid element
+* Use `saveHTML` to get correct HTML code back
+
+Misc:
+
+* Updated the repository structure to PSR-4
+
+1.2.0 / 2014-09-26
+==================
+
+BC break:
+
+* Changed the behavior of `getValue` for checkboxes according to the BC break in Mink 1.6
+
+New features:
+
+* Implemented `getOuterHtml`
+* Added the support of manipulating forms without submit buttons
+* Added support of any request headers instead of supporting only a few hardcoded ones
+* Added support of any BrowserKit client using `filterResponse` when using BrowserKit 2.3+
+* Added the support of reset buttons
+* Implemented `submitForm`
+* Implemented `isSelected`
+
+Bug fixes:
+
+* Fixed the support of options without value attribute in `isSelected` and `getValue`
+* Added the support of radio buttons in `isChecked`
+* Fixed the submission of empty textarea fields
+* Refactored the handling of request headers to ensure they are reset when resetting the driver
+* Fixed the handling of buttons to submit only for submit buttons rather than all buttons
+* Fixed the code to throw exceptions rather than triggering a fatal error for invalid usages of the driver
+* Fixed the removal of cookies
+* Fixed the submission of form fields with same name and without id
+* Fixed `getAttribute` to return `null` for missing attributes rather than an empty string
+
+Testing:
+
+* Updated the testsuite to use the new Mink 1.6 driver testsuite
+* Added testing on HHVM
diff --git a/core/vendor/behat/mink-goutte-driver/LICENSE b/vendor/behat/mink-browserkit-driver/LICENSE
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/LICENSE
rename to vendor/behat/mink-browserkit-driver/LICENSE
diff --git a/vendor/behat/mink-browserkit-driver/README.md b/vendor/behat/mink-browserkit-driver/README.md
new file mode 100644
index 0000000..1903a5f
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/README.md
@@ -0,0 +1,54 @@
+Mink BrowserKit Driver
+======================
+
+[![Latest Stable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/stable.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
+[![Latest Unstable Version](https://poser.pugx.org/behat/mink-browserkit-driver/v/unstable.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
+[![Total Downloads](https://poser.pugx.org/behat/mink-browserkit-driver/downloads.png)](https://packagist.org/packages/behat/mink-browserkit-driver)
+[![Build Status](https://travis-ci.org/minkphp/MinkBrowserKitDriver.svg?branch=master)](https://travis-ci.org/minkphp/MinkBrowserKitDriver)
+[![Scrutinizer Quality Score](https://scrutinizer-ci.com/g/minkphp/MinkBrowserKitDriver/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/minkphp/MinkBrowserKitDriver/)
+[![Code Coverage](https://scrutinizer-ci.com/g/minkphp/MinkBrowserKitDriver/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/minkphp/MinkBrowserKitDriver/)
+[![License](https://poser.pugx.org/behat/mink-browserkit-driver/license.svg)](https://packagist.org/packages/behat/mink-browserkit-driver)
+
+Usage Example
+-------------
+
+``` php
+<?php
+
+use Behat\Mink\Mink,
+    Behat\Mink\Session,
+    Behat\Mink\Driver\BrowserKitDriver;
+
+use Symfony\Component\HttpKernel\Client;
+
+$app  = require_once(__DIR__.'/app.php'); // Silex app
+
+$mink = new Mink(array(
+    'silex' => new Session(new BrowserKitDriver(new Client($app))),
+));
+
+$mink->getSession('silex')->getPage()->findLink('Chat')->click();
+```
+
+Installation
+------------
+
+``` json
+{
+    "require": {
+        "behat/mink":                   "~1.5",
+        "behat/mink-browserkit-driver": "~1.1"
+    }
+}
+```
+
+``` bash
+$> curl -sS https://getcomposer.org/installer | php
+$> php composer.phar install
+```
+
+Maintainers
+-----------
+
+* Christophe Coevoet [stof](https://github.com/stof)
+* Other [awesome developers](https://github.com/minkphp/MinkBrowserKitDriver/graphs/contributors)
diff --git a/vendor/behat/mink-browserkit-driver/composer.json b/vendor/behat/mink-browserkit-driver/composer.json
new file mode 100644
index 0000000..7d12bbc
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/composer.json
@@ -0,0 +1,46 @@
+{
+    "name":         "behat/mink-browserkit-driver",
+    "description":  "Symfony2 BrowserKit driver for Mink framework",
+    "keywords":     ["Symfony2", "Mink", "testing", "browser"],
+    "homepage":     "http://mink.behat.org/",
+    "type":         "mink-driver",
+    "license":      "MIT",
+
+    "authors": [
+        {
+            "name":      "Konstantin Kudryashov",
+            "email":     "ever.zet@gmail.com",
+            "homepage":  "http://everzet.com"
+        }
+    ],
+
+    "require": {
+        "php":                  ">=5.3.6",
+        "behat/mink":           "~1.7@dev",
+        "symfony/browser-kit":  "~2.3",
+        "symfony/dom-crawler":  "~2.3"
+    },
+
+    "require-dev": {
+        "symfony/phpunit-bridge": "~2.7",
+        "silex/silex": "~1.2"
+    },
+
+    "autoload": {
+        "psr-4": {
+            "Behat\\Mink\\Driver\\": "src/"
+        }
+    },
+
+    "autoload-dev": {
+        "psr-4": {
+            "Behat\\Mink\\Tests\\Driver\\": "tests"
+        }
+    },
+
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.3.x-dev"
+        }
+    }
+}
diff --git a/vendor/behat/mink-browserkit-driver/phpunit.xml.dist b/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
new file mode 100644
index 0000000..d91581c
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/phpunit.xml.dist
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit colors="true" bootstrap="vendor/behat/mink/driver-testsuite/bootstrap.php">
+    <php>
+        <var name="driver_config_factory" value="Behat\Mink\Tests\Driver\BrowserKitConfig::getInstance" />
+    </php>
+
+    <testsuites>
+        <testsuite name="Driver test suite">
+            <directory>tests</directory>
+            <directory>vendor/behat/mink/driver-testsuite/tests/Basic</directory>
+            <directory>vendor/behat/mink/driver-testsuite/tests/Form</directory>
+        </testsuite>
+    </testsuites>
+
+    <filter>
+        <whitelist>
+            <directory>./src</directory>
+        </whitelist>
+    </filter>
+</phpunit>
diff --git a/vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php b/vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php
new file mode 100644
index 0000000..70682e7
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/src/BrowserKitDriver.php
@@ -0,0 +1,855 @@
+<?php
+
+/*
+ * This file is part of the Behat\Mink.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Driver;
+
+use Behat\Mink\Exception\DriverException;
+use Behat\Mink\Exception\UnsupportedDriverActionException;
+use Symfony\Component\BrowserKit\Client;
+use Symfony\Component\BrowserKit\Cookie;
+use Symfony\Component\BrowserKit\Response;
+use Symfony\Component\DomCrawler\Crawler;
+use Symfony\Component\DomCrawler\Field\ChoiceFormField;
+use Symfony\Component\DomCrawler\Field\FileFormField;
+use Symfony\Component\DomCrawler\Field\FormField;
+use Symfony\Component\DomCrawler\Field\InputFormField;
+use Symfony\Component\DomCrawler\Field\TextareaFormField;
+use Symfony\Component\DomCrawler\Form;
+use Symfony\Component\HttpKernel\Client as HttpKernelClient;
+
+/**
+ * Symfony2 BrowserKit driver.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class BrowserKitDriver extends CoreDriver
+{
+    private $client;
+
+    /**
+     * @var Form[]
+     */
+    private $forms = array();
+    private $serverParameters = array();
+    private $started = false;
+    private $removeScriptFromUrl = false;
+    private $removeHostFromUrl = false;
+
+    /**
+     * Initializes BrowserKit driver.
+     *
+     * @param Client      $client  BrowserKit client instance
+     * @param string|null $baseUrl Base URL for HttpKernel clients
+     */
+    public function __construct(Client $client, $baseUrl = null)
+    {
+        $this->client = $client;
+        $this->client->followRedirects(true);
+
+        if ($baseUrl !== null && $client instanceof HttpKernelClient) {
+            $client->setServerParameter('SCRIPT_FILENAME', parse_url($baseUrl, PHP_URL_PATH));
+        }
+    }
+
+    /**
+     * Returns BrowserKit HTTP client instance.
+     *
+     * @return Client
+     */
+    public function getClient()
+    {
+        return $this->client;
+    }
+
+    /**
+     * Tells driver to remove hostname from URL.
+     *
+     * @param Boolean $remove
+     *
+     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
+     */
+    public function setRemoveHostFromUrl($remove = true)
+    {
+        trigger_error(
+            'setRemoveHostFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
+            E_USER_DEPRECATED
+        );
+        $this->removeHostFromUrl = (bool) $remove;
+    }
+
+    /**
+     * Tells driver to remove script name from URL.
+     *
+     * @param Boolean $remove
+     *
+     * @deprecated Deprecated as of 1.2, to be removed in 2.0. Pass the base url in the constructor instead.
+     */
+    public function setRemoveScriptFromUrl($remove = true)
+    {
+        trigger_error(
+            'setRemoveScriptFromUrl() is deprecated as of 1.2 and will be removed in 2.0. Pass the base url in the constructor instead.',
+            E_USER_DEPRECATED
+        );
+        $this->removeScriptFromUrl = (bool) $remove;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function start()
+    {
+        $this->started = true;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isStarted()
+    {
+        return $this->started;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function stop()
+    {
+        $this->reset();
+        $this->started = false;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function reset()
+    {
+        // Restarting the client resets the cookies and the history
+        $this->client->restart();
+        $this->forms = array();
+        $this->serverParameters = array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function visit($url)
+    {
+        $this->client->request('GET', $this->prepareUrl($url), array(), array(), $this->serverParameters);
+        $this->forms = array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCurrentUrl()
+    {
+        $request = $this->client->getInternalRequest();
+
+        if ($request === null) {
+            throw new DriverException('Unable to access the request before visiting a page');
+        }
+
+        return $request->getUri();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function reload()
+    {
+        $this->client->reload();
+        $this->forms = array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function forward()
+    {
+        $this->client->forward();
+        $this->forms = array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function back()
+    {
+        $this->client->back();
+        $this->forms = array();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setBasicAuth($user, $password)
+    {
+        if (false === $user) {
+            unset($this->serverParameters['PHP_AUTH_USER'], $this->serverParameters['PHP_AUTH_PW']);
+
+            return;
+        }
+
+        $this->serverParameters['PHP_AUTH_USER'] = $user;
+        $this->serverParameters['PHP_AUTH_PW'] = $password;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setRequestHeader($name, $value)
+    {
+        $contentHeaders = array('CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true);
+        $name = str_replace('-', '_', strtoupper($name));
+
+        // CONTENT_* are not prefixed with HTTP_ in PHP when building $_SERVER
+        if (!isset($contentHeaders[$name])) {
+            $name = 'HTTP_' . $name;
+        }
+
+        $this->serverParameters[$name] = $value;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getResponseHeaders()
+    {
+        return $this->getResponse()->getHeaders();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setCookie($name, $value = null)
+    {
+        if (null === $value) {
+            $this->deleteCookie($name);
+
+            return;
+        }
+
+        $jar = $this->client->getCookieJar();
+        $jar->set(new Cookie($name, $value));
+    }
+
+    /**
+     * Deletes a cookie by name.
+     *
+     * @param string $name Cookie name.
+     */
+    private function deleteCookie($name)
+    {
+        $path = $this->getCookiePath();
+        $jar = $this->client->getCookieJar();
+
+        do {
+            if (null !== $jar->get($name, $path)) {
+                $jar->expire($name, $path);
+            }
+
+            $path = preg_replace('/.$/', '', $path);
+        } while ($path);
+    }
+
+    /**
+     * Returns current cookie path.
+     *
+     * @return string
+     */
+    private function getCookiePath()
+    {
+        $path = dirname(parse_url($this->getCurrentUrl(), PHP_URL_PATH));
+
+        if ('\\' === DIRECTORY_SEPARATOR) {
+            $path = str_replace('\\', '/', $path);
+        }
+
+        return $path;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCookie($name)
+    {
+        // Note that the following doesn't work well because
+        // Symfony\Component\BrowserKit\CookieJar stores cookies by name,
+        // path, AND domain and if you don't fill them all in correctly then
+        // you won't get the value that you're expecting.
+        //
+        // $jar = $this->client->getCookieJar();
+        //
+        // if (null !== $cookie = $jar->get($name)) {
+        //     return $cookie->getValue();
+        // }
+
+        $allValues = $this->client->getCookieJar()->allValues($this->getCurrentUrl());
+
+        if (isset($allValues[$name])) {
+            return $allValues[$name];
+        }
+
+        return null;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getStatusCode()
+    {
+        return $this->getResponse()->getStatus();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getContent()
+    {
+        return $this->getResponse()->getContent();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function findElementXpaths($xpath)
+    {
+        $nodes = $this->getCrawler()->filterXPath($xpath);
+
+        $elements = array();
+        foreach ($nodes as $i => $node) {
+            $elements[] = sprintf('(%s)[%d]', $xpath, $i + 1);
+        }
+
+        return $elements;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTagName($xpath)
+    {
+        return $this->getCrawlerNode($this->getFilteredCrawler($xpath))->nodeName;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getText($xpath)
+    {
+        $text = $this->getFilteredCrawler($xpath)->text();
+        $text = str_replace("\n", ' ', $text);
+        $text = preg_replace('/ {2,}/', ' ', $text);
+
+        return trim($text);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getHtml($xpath)
+    {
+        // cut the tag itself (making innerHTML out of outerHTML)
+        return preg_replace('/^\<[^\>]+\>|\<[^\>]+\>$/', '', $this->getOuterHtml($xpath));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getOuterHtml($xpath)
+    {
+        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
+
+        return $node->ownerDocument->saveHTML($node);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getAttribute($xpath, $name)
+    {
+        $node = $this->getFilteredCrawler($xpath);
+
+        if ($this->getCrawlerNode($node)->hasAttribute($name)) {
+            return $node->attr($name);
+        }
+
+        return null;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getValue($xpath)
+    {
+        if (in_array($this->getAttribute($xpath, 'type'), array('submit', 'image', 'button'), true)) {
+            return $this->getAttribute($xpath, 'value');
+        }
+
+        $node = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
+
+        if ('option' === $node->tagName) {
+            return $this->getOptionValue($node);
+        }
+
+        try {
+            $field = $this->getFormField($xpath);
+        } catch (\InvalidArgumentException $e) {
+            return $this->getAttribute($xpath, 'value');
+        }
+
+        return $field->getValue();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setValue($xpath, $value)
+    {
+        $this->getFormField($xpath)->setValue($value);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function check($xpath)
+    {
+        $this->getCheckboxField($xpath)->tick();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function uncheck($xpath)
+    {
+        $this->getCheckboxField($xpath)->untick();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function selectOption($xpath, $value, $multiple = false)
+    {
+        $field = $this->getFormField($xpath);
+
+        if (!$field instanceof ChoiceFormField) {
+            throw new DriverException(sprintf('Impossible to select an option on the element with XPath "%s" as it is not a select or radio input', $xpath));
+        }
+
+        if ($multiple) {
+            $oldValue   = (array) $field->getValue();
+            $oldValue[] = $value;
+            $value      = $oldValue;
+        }
+
+        $field->select($value);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isSelected($xpath)
+    {
+        $optionValue = $this->getOptionValue($this->getCrawlerNode($this->getFilteredCrawler($xpath)));
+        $selectField = $this->getFormField('(' . $xpath . ')/ancestor-or-self::*[local-name()="select"]');
+        $selectValue = $selectField->getValue();
+
+        return is_array($selectValue) ? in_array($optionValue, $selectValue, true) : $optionValue === $selectValue;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function click($xpath)
+    {
+        $crawler = $this->getFilteredCrawler($xpath);
+        $node = $this->getCrawlerNode($crawler);
+        $tagName = $node->nodeName;
+
+        if ('a' === $tagName) {
+            $this->client->click($crawler->link());
+            $this->forms = array();
+        } elseif ($this->canSubmitForm($node)) {
+            $this->submit($crawler->form());
+        } elseif ($this->canResetForm($node)) {
+            $this->resetForm($node);
+        } else {
+            $message = sprintf('%%s supports clicking on links and submit or reset buttons only. But "%s" provided', $tagName);
+
+            throw new UnsupportedDriverActionException($message, $this);
+        }
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isChecked($xpath)
+    {
+        $field = $this->getFormField($xpath);
+
+        if (!$field instanceof ChoiceFormField || 'select' === $field->getType()) {
+            throw new DriverException(sprintf('Impossible to get the checked state of the element with XPath "%s" as it is not a checkbox or radio input', $xpath));
+        }
+
+        if ('checkbox' === $field->getType()) {
+            return $field->hasValue();
+        }
+
+        $radio = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
+
+        return $radio->getAttribute('value') === $field->getValue();
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attachFile($xpath, $path)
+    {
+        $field = $this->getFormField($xpath);
+
+        if (!$field instanceof FileFormField) {
+            throw new DriverException(sprintf('Impossible to attach a file on the element with XPath "%s" as it is not a file input', $xpath));
+        }
+
+        $field->upload($path);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function submitForm($xpath)
+    {
+        $crawler = $this->getFilteredCrawler($xpath);
+
+        $this->submit($crawler->form());
+    }
+
+    /**
+     * @return Response
+     *
+     * @throws DriverException If there is not response yet
+     */
+    protected function getResponse()
+    {
+        $response = $this->client->getInternalResponse();
+
+        if (null === $response) {
+            throw new DriverException('Unable to access the response before visiting a page');
+        }
+
+        return $response;
+    }
+
+    /**
+     * Prepares URL for visiting.
+     * Removes "*.php/" from urls and then passes it to BrowserKitDriver::visit().
+     *
+     * @param string $url
+     *
+     * @return string
+     */
+    protected function prepareUrl($url)
+    {
+        $replacement = ($this->removeHostFromUrl ? '' : '$1') . ($this->removeScriptFromUrl ? '' : '$2');
+
+        return preg_replace('#(https?\://[^/]+)(/[^/\.]+\.php)?#', $replacement, $url);
+    }
+
+    /**
+     * Returns form field from XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return FormField
+     *
+     * @throws DriverException
+     */
+    protected function getFormField($xpath)
+    {
+        $fieldNode = $this->getCrawlerNode($this->getFilteredCrawler($xpath));
+        $fieldName = str_replace('[]', '', $fieldNode->getAttribute('name'));
+
+        $formNode = $this->getFormNode($fieldNode);
+        $formId = $this->getFormNodeId($formNode);
+
+        if (!isset($this->forms[$formId])) {
+            $this->forms[$formId] = new Form($formNode, $this->getCurrentUrl());
+        }
+
+        if (is_array($this->forms[$formId][$fieldName])) {
+            return $this->forms[$formId][$fieldName][$this->getFieldPosition($fieldNode)];
+        }
+
+        return $this->forms[$formId][$fieldName];
+    }
+
+    /**
+     * Returns the checkbox field from xpath query, ensuring it is valid.
+     *
+     * @param string $xpath
+     *
+     * @return ChoiceFormField
+     *
+     * @throws DriverException when the field is not a checkbox
+     */
+    private function getCheckboxField($xpath)
+    {
+        $field = $this->getFormField($xpath);
+
+        if (!$field instanceof ChoiceFormField) {
+            throw new DriverException(sprintf('Impossible to check the element with XPath "%s" as it is not a checkbox', $xpath));
+        }
+
+        return $field;
+    }
+
+    /**
+     * @param \DOMElement $element
+     *
+     * @return \DOMElement
+     *
+     * @throws DriverException if the form node cannot be found
+     */
+    private function getFormNode(\DOMElement $element)
+    {
+        if ($element->hasAttribute('form')) {
+            $formId = $element->getAttribute('form');
+            $formNode = $element->ownerDocument->getElementById($formId);
+
+            if (null === $formNode || 'form' !== $formNode->nodeName) {
+                throw new DriverException(sprintf('The selected node has an invalid form attribute (%s).', $formId));
+            }
+
+            return $formNode;
+        }
+
+        $formNode = $element;
+
+        do {
+            // use the ancestor form element
+            if (null === $formNode = $formNode->parentNode) {
+                throw new DriverException('The selected node does not have a form ancestor.');
+            }
+        } while ('form' !== $formNode->nodeName);
+
+        return $formNode;
+    }
+
+    /**
+     * Gets the position of the field node among elements with the same name
+     *
+     * BrowserKit uses the field name as index to find the field in its Form object.
+     * When multiple fields have the same name (checkboxes for instance), it will return
+     * an array of elements in the order they appear in the DOM.
+     *
+     * @param \DOMElement $fieldNode
+     *
+     * @return integer
+     */
+    private function getFieldPosition(\DOMElement $fieldNode)
+    {
+        $elements = $this->getCrawler()->filterXPath('//*[@name=\''.$fieldNode->getAttribute('name').'\']');
+
+        if (count($elements) > 1) {
+            // more than one element contains this name !
+            // so we need to find the position of $fieldNode
+            foreach ($elements as $key => $element) {
+                /** @var \DOMElement $element */
+                if ($element->getNodePath() === $fieldNode->getNodePath()) {
+                    return $key;
+                }
+            }
+        }
+
+        return 0;
+    }
+
+    private function submit(Form $form)
+    {
+        $formId = $this->getFormNodeId($form->getFormNode());
+
+        if (isset($this->forms[$formId])) {
+            $this->mergeForms($form, $this->forms[$formId]);
+        }
+
+        // remove empty file fields from request
+        foreach ($form->getFiles() as $name => $field) {
+            if (empty($field['name']) && empty($field['tmp_name'])) {
+                $form->remove($name);
+            }
+        }
+
+        foreach ($form->all() as $field) {
+            // Add a fix for https://github.com/symfony/symfony/pull/10733 to support Symfony versions which are not fixed
+            if ($field instanceof TextareaFormField && null === $field->getValue()) {
+                $field->setValue('');
+            }
+        }
+
+        $this->client->submit($form);
+
+        $this->forms = array();
+    }
+
+    private function resetForm(\DOMElement $fieldNode)
+    {
+        $formNode = $this->getFormNode($fieldNode);
+        $formId = $this->getFormNodeId($formNode);
+        unset($this->forms[$formId]);
+    }
+
+    /**
+     * Determines if a node can submit a form.
+     *
+     * @param \DOMElement $node Node.
+     *
+     * @return boolean
+     */
+    private function canSubmitForm(\DOMElement $node)
+    {
+        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
+
+        if ('input' === $node->nodeName && in_array($type, array('submit', 'image'), true)) {
+            return true;
+        }
+
+        return 'button' === $node->nodeName && (null === $type || 'submit' === $type);
+    }
+
+    /**
+     * Determines if a node can reset a form.
+     *
+     * @param \DOMElement $node Node.
+     *
+     * @return boolean
+     */
+    private function canResetForm(\DOMElement $node)
+    {
+        $type = $node->hasAttribute('type') ? $node->getAttribute('type') : null;
+
+        return in_array($node->nodeName, array('input', 'button'), true) && 'reset' === $type;
+    }
+
+    /**
+     * Returns form node unique identifier.
+     *
+     * @param \DOMElement $form
+     *
+     * @return string
+     */
+    private function getFormNodeId(\DOMElement $form)
+    {
+        return md5($form->getLineNo() . $form->getNodePath() . $form->nodeValue);
+    }
+
+    /**
+     * Gets the value of an option element
+     *
+     * @param \DOMElement $option
+     *
+     * @return string
+     *
+     * @see \Symfony\Component\DomCrawler\Field\ChoiceFormField::buildOptionValue
+     */
+    private function getOptionValue(\DOMElement $option)
+    {
+        if ($option->hasAttribute('value')) {
+            return $option->getAttribute('value');
+        }
+
+        if (!empty($option->nodeValue)) {
+            return $option->nodeValue;
+        }
+
+        return '1'; // DomCrawler uses 1 by default if there is no text in the option
+    }
+
+    /**
+     * Merges second form values into first one.
+     *
+     * @param Form $to   merging target
+     * @param Form $from merging source
+     */
+    private function mergeForms(Form $to, Form $from)
+    {
+        foreach ($from->all() as $name => $field) {
+            $fieldReflection = new \ReflectionObject($field);
+            $nodeReflection  = $fieldReflection->getProperty('node');
+            $valueReflection = $fieldReflection->getProperty('value');
+
+            $nodeReflection->setAccessible(true);
+            $valueReflection->setAccessible(true);
+
+            $isIgnoredField = $field instanceof InputFormField &&
+                in_array($nodeReflection->getValue($field)->getAttribute('type'), array('submit', 'button', 'image'), true);
+
+            if (!$isIgnoredField) {
+                $valueReflection->setValue($to[$name], $valueReflection->getValue($field));
+            }
+        }
+    }
+
+    /**
+     * Returns DOMElement from crawler instance.
+     *
+     * @param Crawler $crawler
+     *
+     * @return \DOMElement
+     *
+     * @throws DriverException when the node does not exist
+     */
+    private function getCrawlerNode(Crawler $crawler)
+    {
+        $crawler->rewind();
+        $node = $crawler->current();
+
+        if (null !== $node) {
+            return $node;
+        }
+
+        throw new DriverException('The element does not exist');
+    }
+
+    /**
+     * Returns a crawler filtered for the given XPath, requiring at least 1 result.
+     *
+     * @param string $xpath
+     *
+     * @return Crawler
+     *
+     * @throws DriverException when no matching elements are found
+     */
+    private function getFilteredCrawler($xpath)
+    {
+        if (!count($crawler = $this->getCrawler()->filterXPath($xpath))) {
+            throw new DriverException(sprintf('There is no element matching XPath "%s"', $xpath));
+        }
+
+        return $crawler;
+    }
+
+    /**
+     * Returns crawler instance (got from client).
+     *
+     * @return Crawler
+     *
+     * @throws DriverException
+     */
+    private function getCrawler()
+    {
+        $crawler = $this->client->getCrawler();
+
+        if (null === $crawler) {
+            throw new DriverException('Unable to access the response content before visiting a page');
+        }
+
+        return $crawler;
+    }
+}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php b/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php
rename to vendor/behat/mink-browserkit-driver/tests/BrowserKitConfig.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php b/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php
rename to vendor/behat/mink-browserkit-driver/tests/Custom/BaseUrlTest.php
diff --git a/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php b/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
new file mode 100644
index 0000000..9e2643c
--- /dev/null
+++ b/vendor/behat/mink-browserkit-driver/tests/Custom/ErrorHandlingTest.php
@@ -0,0 +1,181 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Custom;
+
+use Behat\Mink\Driver\BrowserKitDriver;
+use Symfony\Component\BrowserKit\Client;
+use Symfony\Component\BrowserKit\Response;
+
+class ErrorHandlingTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var TestClient
+     */
+    private $client;
+
+    protected function setUp()
+    {
+        $this->client = new TestClient();
+    }
+
+    public function testGetClient()
+    {
+        $this->assertSame($this->client, $this->getDriver()->getClient());
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage Unable to access the response before visiting a page
+     */
+    public function testGetResponseHeaderWithoutVisit()
+    {
+        $this->getDriver()->getResponseHeaders();
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage Unable to access the response content before visiting a page
+     */
+    public function testFindWithoutVisit()
+    {
+        $this->getDriver()->find('//html');
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage Unable to access the request before visiting a page
+     */
+    public function testGetCurrentUrlWithoutVisit()
+    {
+        $this->getDriver()->getCurrentUrl();
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
+     */
+    public function testNotMatchingHtml5FormId()
+    {
+        $html = <<<'HTML'
+<html>
+<body>
+    <form id="test">
+        <input name="test" value="foo" form="foo">
+        <input type="submit">
+    </form>
+</body>
+</html>
+HTML;
+
+        $this->client->setNextResponse(new Response($html));
+
+        $driver = $this->getDriver();
+        $driver->visit('/index.php');
+        $driver->setValue('//input[./@name="test"]', 'bar');
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage The selected node has an invalid form attribute (foo)
+     */
+    public function testInvalidHtml5FormId()
+    {
+        $html = <<<'HTML'
+<html>
+<body>
+    <form id="test">
+        <input name="test" value="foo" form="foo">
+        <input type="submit">
+    </form>
+    <div id="foo"></div>
+</body>
+</html>
+HTML;
+
+        $this->client->setNextResponse(new Response($html));
+
+        $driver = $this->getDriver();
+        $driver->visit('/index.php');
+        $driver->setValue('//input[./@name="test"]', 'bar');
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage The selected node does not have a form ancestor.
+     */
+    public function testManipulateInputWithoutForm()
+    {
+        $html = <<<'HTML'
+<html>
+<body>
+    <form id="test">
+        <input type="submit">
+    </form>
+    <div id="foo">
+        <input name="test" value="foo">
+    </div>
+</body>
+</html>
+HTML;
+
+        $this->client->setNextResponse(new Response($html));
+
+        $driver = $this->getDriver();
+        $driver->visit('/index.php');
+        $driver->setValue('//input[./@name="test"]', 'bar');
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\DriverException
+     * @expectedExceptionMessage Behat\Mink\Driver\BrowserKitDriver supports clicking on links and submit or reset buttons only. But "div" provided
+     */
+    public function testClickOnUnsupportedElement()
+    {
+        $html = <<<'HTML'
+<html>
+<body>
+    <div></div>
+</body>
+</html>
+HTML;
+
+        $this->client->setNextResponse(new Response($html));
+
+        $driver = $this->getDriver();
+        $driver->visit('/index.php');
+        $driver->click('//div');
+    }
+
+    private function getDriver()
+    {
+        return new BrowserKitDriver($this->client);
+    }
+}
+
+class TestClient extends Client
+{
+    protected $nextResponse = null;
+    protected $nextScript = null;
+
+    public function setNextResponse(Response $response)
+    {
+        $this->nextResponse = $response;
+    }
+
+    public function setNextScript($script)
+    {
+        $this->nextScript = $script;
+    }
+
+    protected function doRequest($request)
+    {
+        if (null === $this->nextResponse) {
+            return new Response();
+        }
+
+        $response = $this->nextResponse;
+        $this->nextResponse = null;
+
+        return $response;
+    }
+}
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/app.php b/vendor/behat/mink-browserkit-driver/tests/app.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/app.php
rename to vendor/behat/mink-browserkit-driver/tests/app.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/404.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/500.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/advanced_form_post.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_auth.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_form_post.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/basic_get_form.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page1.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page2.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/cookie_page3.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/headers.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue130.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/issue140.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/print_cookies.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/redirector.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/response_headers.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/session_test.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page1.php
diff --git a/core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php b/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php
rename to vendor/behat/mink-browserkit-driver/tests/web-fixtures/sub-folder/cookie_page2.php
diff --git a/core/vendor/behat/mink-goutte-driver/.gitignore b/vendor/behat/mink-goutte-driver/.gitignore
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/.gitignore
rename to vendor/behat/mink-goutte-driver/.gitignore
diff --git a/vendor/behat/mink-goutte-driver/.travis.yml b/vendor/behat/mink-goutte-driver/.travis.yml
new file mode 100644
index 0000000..5b86531
--- /dev/null
+++ b/vendor/behat/mink-goutte-driver/.travis.yml
@@ -0,0 +1,27 @@
+language: php
+
+sudo: false
+
+cache:
+  directories:
+    - $HOME/.composer/cache/files
+
+php: [5.3, 5.4, 5.5, 5.6, hhvm]
+
+before_install:
+  # Force using Goutte 2 on HHVM for now because Guzzle 6 is broken there
+  - if [ "hhvm" = "$TRAVIS_PHP_VERSION" ]; then composer require fabpot/goutte '~2' --no-update; fi
+
+install:
+  - composer install
+
+before_script:
+  - export WEB_FIXTURES_HOST=http://localhost:8000
+
+  # Start a webserver for web fixtures. Force using PHP 5.6 to be able to run it on PHP 5.3 and HHVM jobs too
+  - ~/.phpenv/versions/5.6/bin/php -S localhost:8000 -t vendor/behat/mink/driver-testsuite/web-fixtures > /dev/null 2>&1 &
+
+script: phpunit -v --coverage-clover=coverage.clover
+
+after_script:
+  - wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover
diff --git a/vendor/behat/mink-goutte-driver/CHANGELOG.md b/vendor/behat/mink-goutte-driver/CHANGELOG.md
new file mode 100644
index 0000000..581eb5e
--- /dev/null
+++ b/vendor/behat/mink-goutte-driver/CHANGELOG.md
@@ -0,0 +1,31 @@
+1.2.0 / 2015-09-21
+==================
+
+New features:
+
+* Added support for Goutte 3.1+
+
+Misc:
+
+* Updated the repository structure to PSR-4
+
+1.1.0 / 2014-10-09
+==================
+
+The driver now relies on BrowserKitDriver 1.2.x, so all changes of this driver are relevant.
+The changes below only describe the changes related to GoutteDriver specifically.
+
+New features:
+
+* Added the possibility to use a normal Goutte client instead of requiring to use an extended one
+* Added the support of Goutte 2.0 as well
+
+Bug fixes:
+
+* Fixed the support of disabling basic auth
+* Fixed the resetting of the driver to reset the basic auth
+
+Testing:
+
+* Updated the testsuite to use the new Mink 1.6 driver testsuite
+* Added testing on HHVM
diff --git a/core/vendor/behat/mink-browserkit-driver/LICENSE b/vendor/behat/mink-goutte-driver/LICENSE
similarity index 100%
rename from core/vendor/behat/mink-browserkit-driver/LICENSE
rename to vendor/behat/mink-goutte-driver/LICENSE
diff --git a/core/vendor/behat/mink-goutte-driver/README.md b/vendor/behat/mink-goutte-driver/README.md
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/README.md
rename to vendor/behat/mink-goutte-driver/README.md
diff --git a/vendor/behat/mink-goutte-driver/composer.json b/vendor/behat/mink-goutte-driver/composer.json
new file mode 100644
index 0000000..80d6ecf
--- /dev/null
+++ b/vendor/behat/mink-goutte-driver/composer.json
@@ -0,0 +1,45 @@
+{
+    "name":         "behat/mink-goutte-driver",
+    "description":  "Goutte driver for Mink framework",
+    "keywords":     ["goutte", "headless", "testing", "browser"],
+    "homepage":     "http://mink.behat.org/",
+    "type":         "mink-driver",
+    "license":      "MIT",
+
+    "authors": [
+        {
+            "name":      "Konstantin Kudryashov",
+            "email":     "ever.zet@gmail.com",
+            "homepage":  "http://everzet.com"
+        }
+    ],
+
+    "require": {
+        "php":                           ">=5.3.1",
+        "behat/mink":                    "~1.6@dev",
+        "behat/mink-browserkit-driver":  "~1.2@dev",
+        "fabpot/goutte":                 "~1.0.4|~2.0|~3.1"
+    },
+
+    "require-dev": {
+        "symfony/phpunit-bridge": "~2.7"
+    },
+
+    "autoload": {
+        "psr-4": {
+            "Behat\\Mink\\Driver\\": "src/"
+        }
+    },
+
+    "autoload-dev": {
+        "psr-4": {
+            "Behat\\Mink\\Tests\\Driver\\": "tests"
+        }
+    },
+
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.2.x-dev"
+        }
+    }
+}
diff --git a/core/vendor/behat/mink-goutte-driver/phpunit.xml.dist b/vendor/behat/mink-goutte-driver/phpunit.xml.dist
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/phpunit.xml.dist
rename to vendor/behat/mink-goutte-driver/phpunit.xml.dist
diff --git a/core/vendor/behat/mink-goutte-driver/src/Goutte/Client.php b/vendor/behat/mink-goutte-driver/src/Goutte/Client.php
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/src/Goutte/Client.php
rename to vendor/behat/mink-goutte-driver/src/Goutte/Client.php
diff --git a/core/vendor/behat/mink-goutte-driver/src/GoutteDriver.php b/vendor/behat/mink-goutte-driver/src/GoutteDriver.php
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/src/GoutteDriver.php
rename to vendor/behat/mink-goutte-driver/src/GoutteDriver.php
diff --git a/core/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php b/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php
rename to vendor/behat/mink-goutte-driver/tests/Custom/InstantiationTest.php
diff --git a/core/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php b/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php
similarity index 100%
rename from core/vendor/behat/mink-goutte-driver/tests/GoutteConfig.php
rename to vendor/behat/mink-goutte-driver/tests/GoutteConfig.php
diff --git a/core/vendor/behat/mink/.gitignore b/vendor/behat/mink/.gitignore
similarity index 100%
rename from core/vendor/behat/mink/.gitignore
rename to vendor/behat/mink/.gitignore
diff --git a/vendor/behat/mink/.travis.yml b/vendor/behat/mink/.travis.yml
new file mode 100644
index 0000000..677ee0e
--- /dev/null
+++ b/vendor/behat/mink/.travis.yml
@@ -0,0 +1,28 @@
+language: php
+
+sudo: false
+
+php: [5.3, 5.4, 5.5, 5.6, 7.0, hhvm]
+
+matrix:
+  fast_finish: true
+  include:
+    - php: 5.3
+      env: COMPOSER_FLAGS='--prefer-lowest --prefer-stable' SYMFONY_DEPRECATIONS_HELPER=weak
+  allow_failures:
+    - php: 7.0
+
+cache:
+  directories:
+    - $HOME/.composer/cache/files
+
+before_install:
+  - composer self-update
+
+install:
+  - composer update $COMPOSER_FLAGS
+
+script: phpunit -v --coverage-clover=coverage.clover
+
+after_script:
+  - if [[ "7.0" != "$TRAVIS_PHP_VERSION" && "$TRAVIS_PHP_VERSION" != "hhvm" ]]; then wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
diff --git a/vendor/behat/mink/CHANGES.md b/vendor/behat/mink/CHANGES.md
new file mode 100644
index 0000000..4ef4ecb
--- /dev/null
+++ b/vendor/behat/mink/CHANGES.md
@@ -0,0 +1,297 @@
+1.7.0 / 2015-09-20
+==================
+
+New features:
+
+* Added `Session::getResponseHeader` to access a response header easily
+* Added support for header assertions
+* Added a forward compatibility layer for drivers to allow them to prepare
+  for Mink 2.0 (they won't require any change if they use it). They should
+  now overwrite `CoreDriver::findElementXpaths` instead of implementing `find`
+  and `setSession` themselves.
+* Added escaping of the locator in the NamedSelector rather than expecting
+  the caller to perform the escaping. Passing an escaped locator is still
+  supported but deprecated.
+* Remove the dependency on the Session in expectation exceptions. Passing
+  the session in the exception constructor is now deprecated. The driver
+  should be passed instead.
+
+Bug fixes:
+
+* Fixed the URL assertions when comparing paths ending in ``.php``
+* Silenced deprecation warnings (following the Symfony convention) to make
+  them less invasive. Use the `symfony/phpunit-bridge` to get them reported
+  when using Mink in your PHPUnit tests.
+* Fixed `NodeElement::hasClass` in case the class attribute contains newlines
+
+Testsuite:
+
+* Made the testsuite compatible with PHPUnit strict timing mode (only the library testsuite, not the driver one)
+* Added testing against PHP 7
+* Added testing against lowest version of dependencies to ensure we got the lower bounds right
+
+Driver testsuite:
+
+* Added an extra test to ensure the right behavior when getting the HTML with empty elements
+* Added a few more safeguards to ensure test failures rather than fatal errors for misbehaving drivers
+* Added a test ensuring that drivers follow recommended practices
+
+Misc:
+
+* Added a few missing deprecation warnings for deprecated APIs or classes.
+
+1.6.1 / 2015-02-04
+==================
+
+Bug fixes:
+
+* Added a check for empty path in `WebAssert::cleanUrl()`
+
+Driver testsuite:
+
+* Added an extra test to ensure the right behavior for traversal
+
+Misc:
+
+* Changed the description in the composer.json
+* Switched the repository structure to use PSR-4
+* Updated URLs for the move to the new Github organization
+
+1.6.0 / 2014-09-26
+==================
+
+  * [BC break] Changed the named selector to prefer exact matches over partial matches
+  * [BC break] Changed `NodeElement::getValue` for checkboxes to return the value rather than the checked state (use `isChecked` for that)
+  * Fixed the XPath prefixing when searching inside an existing element
+  * Refactored the driver testsuite entirely and expand it to cover drivers entirely (covering many more cases for consistency)
+  * Changed `NodeElement::setValue` to support any fields rather than only input elements
+  * Removed the wrapping of any driver-level exception in a MinkException on invalid usage as it was making the code too complex
+  * Fixed the matching of the input type in the named selector to be case insensitive according to the HTML spec
+  * Introduced `Behat\Mink\Selector\Xpath\Escaper` to allow reusing the XPath escaping
+  * Deprecated `Element::getSession`. Code needing the session should get it from outside rather than the element
+  * Changed ElementNotFoundException to extend from ExpectationException
+  * Added `Element::getOuterHtml` to get the HTML code of the element including itself
+  * Fixed the name selectors to match on the `placeholder` only for textual inputs
+  * Enforced consistent behavior for drivers on 4xx and 5xx response to return the response rather than throwing an exception
+  * Added `Element::waitFor` to allow retrying some code until it succeeds or the timeout is reached
+  * Added `Element::isValid` to check whether an element still exists in the page
+  * Made `Session::executeScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
+  * Made `Session::evaluateScript` compatible across drivers by ensuring they all support the same syntaxes for the JS expression
+  * Removed `hasClass` from `DocumentElement` (instead of triggering a fatal error)
+  * Added testing on HHVM to ensure consistency
+  * Fixed `NodeElement::getTagName` to ensure that the tag name is lowercase for all drivers
+  * Fixed `Element::hasAttribute` to ensure it supports attributes with an empty value
+  * Fixed the `field` selector to avoid matching inputs with the type `submit` or `reset`
+  * Changed the button XPath selection to accept `reset` buttons as well
+  * Changed `Session::wait` to return the condition value rather than nothing
+  * Added `Session::getWindowName` and `Session::getWindowNames` to get the name of the current and of all windows
+  * Added `Session::maximizeWindow` to maximize the window
+  * Added `NodeElement::isSelected` to check whether an `<option>` is selected
+  * Added `NodeElement::submitForm` to allow submitting a form without using a button
+  * Added assertions about the value of an attribute
+  * Added the anchor in the assertion on the URL in `WebAssert`
+
+1.5.0 / 2013-04-14
+==================
+
+  * Add `CoreDriver` to simplify future drivers improvements
+  * Add `Mink::isSessionStarted()` method
+  * Fix multibite string `preg_replace` bugs
+  * Fix handling of whitespaces in `WebAssert::pageText...()` methods
+
+1.4.3 / 2013-03-02
+==================
+
+  * Bump dependencies constraints
+
+1.4.2 / 2013-02-13
+==================
+
+  * Fix wrong test case to ensure that core drivers work as expected
+
+1.4.1 / 2013-02-10
+==================
+
+  * Update dependencies
+  * Add ElementException to element actions
+  * Rel attribute support for named selectors
+  * Add hasClass() helper to traversable elements
+  * Add getScreenshot() method to session
+  * Name attr support in named selector for button
+  * Fix for bunch of bugs
+
+1.4.0 / 2012-05-40
+==================
+
+  * New `Session::selectWindow()` and `Session::selectIFrame()` methods
+  * New built-in `WebAssert` class
+  * Fixed DocBlocks (autocompletion in any IDE now should just work)
+  * Moved Behat-related code into `Behat\MinkExtension`
+  * Removed PHPUnit test case class
+  * Updated composer dependencies to not require custom repository anymore
+  * All drivers moved into separate packages
+
+1.3.3 / 2012-03-23
+==================
+
+  * Prevent exceptions in `__toString()`
+  * Added couple of useful step definitions for Behat
+  * Fixed issues #168, #211, #212, #208
+  * Lot of small bug fixes and improvements
+  * Fixed dependencies and composer installation routine
+
+1.3.2 / 2011-12-21
+==================
+
+  * Fixed webdriver registration in MinkContext
+
+1.3.1 / 2011-12-21
+==================
+
+  * Fixed Composer package
+
+1.3.0 / 2011-12-21
+==================
+
+  * Brand new Selenium2Driver (webdriver session)
+  * Multiselect bugfixes
+  * ZombieDriver back in the business
+  * Composer now manages dependencies
+  * Some MinkContext steps got fixes
+  * Lots of bug fixes and cleanup
+
+1.2.0 / 2011-11-04
+==================
+
+  * Brand new SeleniumDriver (thanks @alexandresalome)
+  * Multiselect support (multiple options selection), including new Behat steps
+  * Ability to select option by it's text (in addition to value)
+  * ZombieDriver updates
+  * Use SuiteHooks to populate parameters (no need to call parent __construct anymore)
+  * Updated Goutte and all vendors
+  * Lot of bugfixes and new tests
+
+1.1.1 / 2011-08-12
+==================
+
+  * Fixed Zombie.js server termination on Linux
+  * Fixed base_url usage for external URLs
+
+1.1.0 / 2011-08-08
+==================
+
+  * Added Zombie.js driver (thanks @b00giZm)
+  * Added pt translation (thanks Daniel Gomes)
+  * Refactored MinkContext and MinkTestCase
+
+1.0.3 / 2011-08-02
+==================
+
+  * File uploads for empty fields fixed (GoutteDriver)
+  * Lazy sessions restart
+  * `show_tmp_dir` option in MinkContext
+  * Updated to stable Symfony2 components
+  * SahiClient connection limit bumped to 60 seconds
+  * Dutch language support
+
+1.0.2 / 2011-07-22
+==================
+
+  * ElementHtmlException fixed (thanks @Stof)
+
+1.0.1 / 2011-07-21
+==================
+
+  * Fixed buggy assertions in MinkContext
+
+1.0.0 / 2011-07-20
+==================
+
+  * Added missing tests for almost everything
+  * Hude speedup for SahiDriver
+  * Support for Behat 2.0 contexts
+  * Bundled PHPUnit TestCase
+  * Deep element traversing
+  * Correct behavior of getText() method
+  * New getHtml() method
+  * Basic HTTP auth support
+  * Soft and hard session resetting
+  * Cookies management
+  * Browser history interactions (reload(), back(), forward())
+  * Weaverryan'd exception messages
+  * Huge amount of bugfixes and small additions
+
+0.3.2 / 2011-06-20
+==================
+
+  * Fixed file uploads in Goutte driver
+  * Fixed setting of long texts into fields
+  * Added getPlainText() (returns text without tags and whitespaces) method to the element's API
+  * Start_url is now optional parameter
+  * Default session (if needed) name now need to be always specified by hands with setDefaultSessionName()
+  * default_driver => default_session
+  * Updated Symfony Components
+
+0.3.1 / 2011-05-17
+==================
+
+  * Small SahiClient update (it generates SID now if no provided)
+  * setActiveSessionName => setDefaultSessionName method rename
+
+0.3.0 / 2011-05-17
+==================
+
+  * Rewritten from scratch Mink drivers handler. Now it's sessions handler. And Mink now
+    sessions-centric tool. See examples in readme. Much cleaner API now.
+
+0.2.4 / 2011-05-12
+==================
+
+  * Fixed wrong url locator function
+  * Fixed wrong regex in `should see` step
+  * Fixed delimiters use in `should see` step
+  * Added url-match step for checking urls against regex
+
+0.2.3 / 2011-05-01
+==================
+
+  * Updated SahiClient with new version, which is faster and cleaner with it's exceptions
+
+0.2.2 / 2011-05-01
+==================
+
+  * Ability to use already started browser as SahiDriver aim
+  * Added japanese translation for bundled steps (thanks @hidenorigoto)
+  * 10 seconds limit for browser connection in SahiDriver
+
+0.2.1 / 2011-04-21
+==================
+
+  * Fixed some bundled step definitions
+
+0.2.0 / 2011-04-21
+==================
+
+  * Additional step definitions
+  * Support for extended drivers configuration through behat.yml environment parameters
+  * Lots of new named selectors
+  * Bug fixes
+  * Small improvements
+
+0.1.2 / 2011-04-08
+==================
+
+  * Fixed Sahi url escaping
+
+0.1.1 / 2011-04-06
+==================
+
+  * Fixed should/should_not steps
+  * Added spanish translation
+  * Fixed forms to use <base> element
+  * Fixed small UnsupportedByDriverException issue
+
+0.1.0 / 2011-04-04
+==================
+
+  * Initial release
diff --git a/core/vendor/behat/mink/CONTRIBUTING.md b/vendor/behat/mink/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/behat/mink/CONTRIBUTING.md
rename to vendor/behat/mink/CONTRIBUTING.md
diff --git a/vendor/behat/mink/LICENSE b/vendor/behat/mink/LICENSE
new file mode 100644
index 0000000..854754b
--- /dev/null
+++ b/vendor/behat/mink/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) 2011-2015 Konstantin Kudryashov <ever.zet@gmail.com>
+
+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/core/vendor/behat/mink/README.md b/vendor/behat/mink/README.md
similarity index 100%
rename from core/vendor/behat/mink/README.md
rename to vendor/behat/mink/README.md
diff --git a/vendor/behat/mink/composer.json b/vendor/behat/mink/composer.json
new file mode 100644
index 0000000..0193f43
--- /dev/null
+++ b/vendor/behat/mink/composer.json
@@ -0,0 +1,50 @@
+{
+    "name":         "behat/mink",
+    "description":  "Browser controller/emulator abstraction for PHP",
+    "keywords":     ["web", "testing", "browser"],
+    "homepage":     "http://mink.behat.org/",
+    "type":         "library",
+    "license":      "MIT",
+
+    "authors": [
+        {
+            "name":      "Konstantin Kudryashov",
+            "email":     "ever.zet@gmail.com",
+            "homepage":  "http://everzet.com"
+        }
+    ],
+
+    "require": {
+        "php":                   ">=5.3.1",
+        "symfony/css-selector":  "~2.1"
+    },
+
+    "require-dev": {
+        "symfony/phpunit-bridge": "~2.7"
+    },
+
+    "suggest": {
+        "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
+        "behat/mink-goutte-driver":     "fast headless driver for any app without JS emulation",
+        "behat/mink-selenium2-driver":  "slow, but JS-enabled driver for any app (requires Selenium2)",
+        "behat/mink-zombie-driver":     "fast and JS-enabled headless driver for any app (requires node.js)"
+    },
+
+    "autoload": {
+        "psr-4": {
+            "Behat\\Mink\\": "src/"
+        }
+    },
+
+    "autoload-dev": {
+        "psr-4": {
+            "Behat\\Mink\\Tests\\": "tests"
+        }
+    },
+
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.7.x-dev"
+        }
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/README.md b/vendor/behat/mink/driver-testsuite/README.md
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/README.md
rename to vendor/behat/mink/driver-testsuite/README.md
diff --git a/core/vendor/behat/mink/driver-testsuite/bootstrap.php b/vendor/behat/mink/driver-testsuite/bootstrap.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/bootstrap.php
rename to vendor/behat/mink/driver-testsuite/bootstrap.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php b/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
new file mode 100644
index 0000000..057e6fd
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver;
+
+use Behat\Mink\Driver\DriverInterface;
+
+abstract class AbstractConfig
+{
+    /**
+     * Creates driver instance.
+     *
+     * @return DriverInterface
+     */
+    abstract public function createDriver();
+
+    /**
+     * Map remote file path.
+     *
+     * @param string $file File path.
+     *
+     * @return string
+     */
+    public function mapRemoteFilePath($file)
+    {
+        if (!isset($_SERVER['TEST_MACHINE_BASE_PATH']) || !isset($_SERVER['DRIVER_MACHINE_BASE_PATH'])) {
+            return $file;
+        }
+
+        $pattern = '/^'.preg_quote($_SERVER['TEST_MACHINE_BASE_PATH'], '/').'/';
+        $basePath = $_SERVER['DRIVER_MACHINE_BASE_PATH'];
+
+        return preg_replace($pattern, $basePath, $file, 1);
+    }
+
+    /**
+     * Gets the base url to the fixture folder.
+     *
+     * @return string
+     */
+    public function getWebFixturesUrl()
+    {
+        return $_SERVER['WEB_FIXTURES_HOST'];
+    }
+
+    /**
+     * @param string $testCase The name of the TestCase class
+     * @param string $test     The name of the test method
+     *
+     * @return string|null A message explaining why the test should be skipped, or null to run the test.
+     */
+    public function skipMessage($testCase, $test)
+    {
+        if (!$this->supportsCss() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Css\\')) {
+            return 'This driver does not support CSS.';
+        }
+
+        if (!$this->supportsJs() && 0 === strpos($testCase, 'Behat\Mink\Tests\Driver\Js\\')) {
+            return 'This driver does not support JavaScript.';
+        }
+
+        return null;
+    }
+
+    /**
+     * Whether the JS tests should run or no.
+     *
+     * @return bool
+     */
+    protected function supportsJs()
+    {
+        return true;
+    }
+
+    /**
+     * Whether the CSS tests should run or no.
+     *
+     * @return bool
+     */
+    protected function supportsCss()
+    {
+        return false;
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Basic/BasicAuthTest.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/BestPracticesTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/BestPracticesTest.php
new file mode 100644
index 0000000..d6cda7d
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/BestPracticesTest.php
@@ -0,0 +1,84 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+/**
+ * This testcase ensures that the driver implementation follows recommended practices for drivers.
+ */
+class BestPracticesTest extends TestCase
+{
+    public function testExtendsCoreDriver()
+    {
+        $driver = $this->createDriver();
+
+        $this->assertInstanceOf('Behat\Mink\Driver\CoreDriver', $driver);
+
+        return $driver;
+    }
+
+    /**
+     * @depends testExtendsCoreDriver
+     */
+    public function testImplementFindXpath()
+    {
+        $driver = $this->createDriver();
+
+        $this->assertNotImplementMethod('find', $driver, 'The driver should overwrite `findElementXpaths` rather than `find` for forward compatibility with Mink 2.');
+        $this->assertImplementMethod('findElementXpaths', $driver, 'The driver must be able to find elements.');
+        $this->assertNotImplementMethod('setSession', $driver, 'The driver should not deal with the Session directly for forward compatibility with Mink 2.');
+    }
+
+    /**
+     * @dataProvider provideRequiredMethods
+     */
+    public function testImplementBasicApi($method)
+    {
+        $driver = $this->createDriver();
+
+        $this->assertImplementMethod($method, $driver, 'The driver is unusable when this method is not implemented.');
+    }
+
+    public function provideRequiredMethods()
+    {
+        return array(
+            array('start'),
+            array('isStarted'),
+            array('stop'),
+            array('reset'),
+            array('visit'),
+            array('getCurrentUrl'),
+            array('getContent'),
+            array('click'),
+        );
+    }
+
+    private function assertImplementMethod($method, $object, $reason = '')
+    {
+        $ref = new \ReflectionClass(get_class($object));
+        $refMethod = $ref->getMethod($method);
+
+        $message = sprintf('The driver should implement the `%s` method.', $method);
+
+        if ('' !== $reason) {
+            $message .= ' '.$reason;
+        }
+
+        $this->assertSame($ref->name, $refMethod->getDeclaringClass()->name, $message);
+    }
+
+    private function assertNotImplementMethod($method, $object, $reason = '')
+    {
+        $ref = new \ReflectionClass(get_class($object));
+        $refMethod = $ref->getMethod($method);
+
+        $message = sprintf('The driver should not implement the `%s` method.', $method);
+
+        if ('' !== $reason) {
+            $message .= ' '.$reason;
+        }
+
+        $this->assertNotSame($ref->name, $refMethod->getDeclaringClass()->name, $message);
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
new file mode 100644
index 0000000..fdd0ffa
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/ContentTest.php
@@ -0,0 +1,86 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class ContentTest extends TestCase
+{
+    public function testOuterHtml()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $element = $this->getAssertSession()->elementExists('css', '.travers');
+
+        $this->assertEquals(
+            "<div class=\"travers\">\n            <div class=\"sub\">el1</div>\n".
+            "            <div class=\"sub\">el2</div>\n            <div class=\"sub\">\n".
+            "                <a href=\"some_url\">some <strong>deep</strong> url</a>\n".
+            "            </div>\n        </div>",
+            $element->getOuterHtml()
+        );
+    }
+
+    public function testDumpingEmptyElements()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $element = $this->getAssertSession()->elementExists('css', '#empty');
+
+        $this->assertEquals(
+            'An empty <em></em> tag should be rendered with both open and close tags.',
+            trim($element->getHtml())
+        );
+    }
+
+    /**
+     * @dataProvider getAttributeDataProvider
+     */
+    public function testGetAttribute($attributeName, $attributeValue)
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $element = $this->getSession()->getPage()->findById('attr-elem['.$attributeName.']');
+
+        $this->assertNotNull($element);
+        $this->assertSame($attributeValue, $element->getAttribute($attributeName));
+    }
+
+    public function getAttributeDataProvider()
+    {
+        return array(
+            array('with-value', 'some-value'),
+            array('without-value', ''),
+            array('with-empty-value', ''),
+            array('with-missing', null),
+        );
+    }
+
+    public function testJson()
+    {
+        $this->getSession()->visit($this->pathTo('/json.php'));
+        $this->assertContains(
+            '{"key1":"val1","key2":234,"key3":[1,2,3]}',
+            $this->getSession()->getPage()->getContent()
+        );
+    }
+
+    public function testHtmlDecodingNotPerformed()
+    {
+        $session = $this->getSession();
+        $webAssert = $this->getAssertSession();
+        $session->visit($this->pathTo('/html_decoding.html'));
+        $page = $session->getPage();
+
+        $span = $webAssert->elementExists('css', 'span');
+        $input = $webAssert->elementExists('css', 'input');
+
+        $expectedHtml = '<span custom-attr="&amp;">some text</span>';
+        $this->assertContains($expectedHtml, $page->getHtml(), '.innerHTML is returned as-is');
+        $this->assertContains($expectedHtml, $page->getContent(), '.outerHTML is returned as-is');
+
+        $this->assertEquals('&', $span->getAttribute('custom-attr'), '.getAttribute value is decoded');
+        $this->assertEquals('&', $input->getAttribute('value'), '.getAttribute value is decoded');
+        $this->assertEquals('&', $input->getValue(), 'node value is decoded');
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
new file mode 100644
index 0000000..5636c11
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/CookieTest.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class CookieTest extends TestCase
+{
+    /**
+     * test cookie decoding.
+     *
+     * @group issue140
+     */
+    public function testIssue140()
+    {
+        $this->getSession()->visit($this->pathTo('/issue140.php'));
+
+        $this->getSession()->getPage()->fillField('cookie_value', 'some:value;');
+        $this->getSession()->getPage()->pressButton('Set cookie');
+
+        $this->getSession()->visit($this->pathTo('/issue140.php?show_value'));
+        $this->assertEquals('some:value;', $this->getSession()->getCookie('tc'));
+        $this->assertEquals('some:value;', $this->getSession()->getPage()->getText());
+    }
+
+    public function testCookie()
+    {
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
+        $this->assertNull($this->getSession()->getCookie('srvr_cookie'));
+
+        $this->getSession()->setCookie('srvr_cookie', 'client cookie set');
+        $this->getSession()->reload();
+        $this->assertContains('Previous cookie: client cookie set', $this->getSession()->getPage()->getText());
+        $this->assertEquals('client cookie set', $this->getSession()->getCookie('srvr_cookie'));
+
+        $this->getSession()->setCookie('srvr_cookie', null);
+        $this->getSession()->reload();
+        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
+
+        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+
+        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
+        $this->getSession()->setCookie('srvr_cookie', null);
+        $this->getSession()->reload();
+        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
+    }
+
+    /**
+     * @dataProvider cookieWithPathsDataProvider
+     */
+    public function testCookieWithPaths($cookieRemovalMode)
+    {
+        // start clean
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
+        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
+
+        // cookie from root path is accessible in sub-folder
+        $session->visit($this->pathTo('/cookie_page1.php'));
+        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
+        $this->assertContains('Previous cookie: srv_var_is_set', $session->getPage()->getText());
+
+        // cookie from sub-folder overrides cookie from root path
+        $session->visit($this->pathTo('/sub-folder/cookie_page1.php'));
+        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
+        $this->assertContains('Previous cookie: srv_var_is_set_sub_folder', $session->getPage()->getText());
+
+        if ($cookieRemovalMode == 'session_reset') {
+            $session->reset();
+        } elseif ($cookieRemovalMode == 'cookie_delete') {
+            $session->setCookie('srvr_cookie', null);
+        }
+
+        // cookie is removed from all paths
+        $session->visit($this->pathTo('/sub-folder/cookie_page2.php'));
+        $this->assertContains('Previous cookie: NO', $session->getPage()->getText());
+    }
+
+    public function cookieWithPathsDataProvider()
+    {
+        return array(
+            array('session_reset'),
+            array('cookie_delete'),
+        );
+    }
+
+    public function testReset()
+    {
+        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+        $this->assertContains('Previous cookie: srv_var_is_set', $this->getSession()->getPage()->getText());
+
+        $this->getSession()->reset();
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+
+        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
+
+        $this->getSession()->setCookie('srvr_cookie', 'test_cookie');
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+        $this->assertContains('Previous cookie: test_cookie', $this->getSession()->getPage()->getText());
+        $this->getSession()->reset();
+        $this->getSession()->visit($this->pathTo('/cookie_page2.php'));
+        $this->assertContains('Previous cookie: NO', $this->getSession()->getPage()->getText());
+
+        $this->getSession()->setCookie('client_cookie1', 'some_val');
+        $this->getSession()->setCookie('client_cookie2', 123);
+        $this->getSession()->visit($this->pathTo('/session_test.php'));
+        $this->getSession()->visit($this->pathTo('/cookie_page1.php'));
+
+        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
+        $this->assertContains(
+            "'client_cookie1' = 'some_val'",
+            $this->getSession()->getPage()->getText()
+        );
+        $this->assertContains(
+            "'client_cookie2' = '123'",
+            $this->getSession()->getPage()->getText()
+        );
+        $this->assertContains(
+            "_SESS' = ",
+            $this->getSession()->getPage()->getText()
+        );
+        $this->assertContains(
+            " 'srvr_cookie' = 'srv_var_is_set'",
+            $this->getSession()->getPage()->getText()
+        );
+
+        $this->getSession()->reset();
+        $this->getSession()->visit($this->pathTo('/print_cookies.php'));
+        $this->assertContains('array ( )', $this->getSession()->getPage()->getText());
+    }
+
+    public function testHttpOnlyCookieIsDeleted()
+    {
+        $this->getSession()->restart();
+        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
+        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
+
+        $this->getSession()->reload();
+        $this->assertEquals('Has Cookie: true', $this->findById('cookie-status')->getText());
+
+        $this->getSession()->restart();
+        $this->getSession()->visit($this->pathTo('/cookie_page3.php'));
+        $this->assertEquals('Has Cookie: false', $this->findById('cookie-status')->getText());
+    }
+
+    public function testSessionPersistsBetweenRequests()
+    {
+        $this->getSession()->visit($this->pathTo('/session_test.php'));
+        $webAssert = $this->getAssertSession();
+        $node = $webAssert->elementExists('css', '#session-id');
+        $sessionId = $node->getText();
+
+        $this->getSession()->visit($this->pathTo('/session_test.php'));
+        $node = $webAssert->elementExists('css', '#session-id');
+        $this->assertEquals($sessionId, $node->getText());
+
+        $this->getSession()->visit($this->pathTo('/session_test.php?login'));
+        $node = $webAssert->elementExists('css', '#session-id');
+        $this->assertNotEquals($sessionId, $newSessionId = $node->getText());
+
+        $this->getSession()->visit($this->pathTo('/session_test.php'));
+        $node = $webAssert->elementExists('css', '#session-id');
+        $this->assertEquals($newSessionId, $node->getText());
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
new file mode 100644
index 0000000..bb4bb2d
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/ErrorHandlingTest.php
@@ -0,0 +1,265 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+/**
+ * @group slow
+ */
+class ErrorHandlingTest extends TestCase
+{
+    const NOT_FOUND_XPATH = '//html/./invalid';
+
+    const NOT_FOUND_EXCEPTION = 'Exception';
+
+    const INVALID_EXCEPTION = 'Exception';
+
+    public function testVisitErrorPage()
+    {
+        $this->getSession()->visit($this->pathTo('/500.php'));
+
+        $this->assertContains(
+            'Sorry, a server error happened',
+            $this->getSession()->getPage()->getContent(),
+            'Drivers allow loading pages with a 500 status code'
+        );
+    }
+
+    public function testCheckInvalidElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $element = $this->findById('user-name');
+
+        $this->setExpectedException(self::INVALID_EXCEPTION);
+        $this->getSession()->getDriver()->check($element->getXpath());
+    }
+
+    public function testCheckNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->check(self::NOT_FOUND_XPATH);
+    }
+
+    public function testUncheckInvalidElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $element = $this->findById('user-name');
+
+        $this->setExpectedException(self::INVALID_EXCEPTION);
+        $this->getSession()->getDriver()->uncheck($element->getXpath());
+    }
+
+    public function testUncheckNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->uncheck(self::NOT_FOUND_XPATH);
+    }
+
+    public function testSelectOptionInvalidElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $element = $this->findById('user-name');
+
+        $this->setExpectedException(self::INVALID_EXCEPTION);
+        $this->getSession()->getDriver()->selectOption($element->getXpath(), 'test');
+    }
+
+    public function testSelectOptionNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->selectOption(self::NOT_FOUND_XPATH, 'test');
+    }
+
+    public function testAttachFileInvalidElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $element = $this->findById('user-name');
+
+        $this->setExpectedException(self::INVALID_EXCEPTION);
+        $this->getSession()->getDriver()->attachFile($element->getXpath(), __FILE__);
+    }
+
+    public function testAttachFileNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->attachFile(self::NOT_FOUND_XPATH, __FILE__);
+    }
+
+    public function testSubmitFormInvalidElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $element = $this->findById('core');
+
+        $this->setExpectedException(self::INVALID_EXCEPTION);
+        $this->getSession()->getDriver()->submitForm($element->getXpath());
+    }
+
+    public function testSubmitFormNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->submitForm(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetTagNameNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getTagName(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetTextNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getText(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetHtmlNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getHtml(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetOuterHtmlNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getOuterHtml(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetValueNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getValue(self::NOT_FOUND_XPATH);
+    }
+
+    public function testSetValueNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->setValue(self::NOT_FOUND_XPATH, 'test');
+    }
+
+    public function testIsSelectedNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->isSelected(self::NOT_FOUND_XPATH);
+    }
+
+    public function testIsCheckedNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->isChecked(self::NOT_FOUND_XPATH);
+    }
+
+    public function testIsVisibleNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->isVisible(self::NOT_FOUND_XPATH);
+    }
+
+    public function testClickNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->click(self::NOT_FOUND_XPATH);
+    }
+
+    public function testDoubleClickNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->doubleClick(self::NOT_FOUND_XPATH);
+    }
+
+    public function testRightClickNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->rightClick(self::NOT_FOUND_XPATH);
+    }
+
+    public function testGetAttributeNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->getAttribute(self::NOT_FOUND_XPATH, 'id');
+    }
+
+    public function testMouseOverNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->mouseOver(self::NOT_FOUND_XPATH);
+    }
+
+    public function testFocusNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->focus(self::NOT_FOUND_XPATH);
+    }
+
+    public function testBlurNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->blur(self::NOT_FOUND_XPATH);
+    }
+
+    public function testKeyPressNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->keyPress(self::NOT_FOUND_XPATH, 'a');
+    }
+
+    public function testKeyDownNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->keyDown(self::NOT_FOUND_XPATH, 'a');
+    }
+
+    public function testKeyUpNotFoundElement()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->setExpectedException(self::NOT_FOUND_EXCEPTION);
+        $this->getSession()->getDriver()->keyUp(self::NOT_FOUND_XPATH, 'a');
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
new file mode 100644
index 0000000..072ceb4
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/HeaderTest.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class HeaderTest extends TestCase
+{
+    /**
+     * test referrer.
+     *
+     * @group issue130
+     */
+    public function testIssue130()
+    {
+        $this->getSession()->visit($this->pathTo('/issue130.php?p=1'));
+        $page = $this->getSession()->getPage();
+
+        $page->clickLink('Go to 2');
+        $this->assertEquals($this->pathTo('/issue130.php?p=1'), $page->getText());
+    }
+
+    public function testHeaders()
+    {
+        $this->getSession()->setRequestHeader('Accept-Language', 'fr');
+        $this->getSession()->visit($this->pathTo('/headers.php'));
+
+        $this->assertContains('[HTTP_ACCEPT_LANGUAGE] => fr', $this->getSession()->getPage()->getContent());
+    }
+
+    public function testSetUserAgent()
+    {
+        $session = $this->getSession();
+
+        $session->setRequestHeader('user-agent', 'foo bar');
+        $session->visit($this->pathTo('/headers.php'));
+        $this->assertContains('[HTTP_USER_AGENT] => foo bar', $session->getPage()->getContent());
+    }
+
+    public function testResetHeaders()
+    {
+        $session = $this->getSession();
+
+        $session->setRequestHeader('X-Mink-Test', 'test');
+        $session->visit($this->pathTo('/headers.php'));
+
+        $this->assertContains(
+            '[HTTP_X_MINK_TEST] => test',
+            $session->getPage()->getContent(),
+            'The custom header should be sent',
+            true
+        );
+
+        $session->reset();
+        $session->visit($this->pathTo('/headers.php'));
+
+        $this->assertNotContains(
+            '[HTTP_X_MINK_TEST] => test',
+            $session->getPage()->getContent(),
+            'The custom header should not be sent after resetting',
+            true
+        );
+    }
+
+    public function testResponseHeaders()
+    {
+        $this->getSession()->visit($this->pathTo('/response_headers.php'));
+
+        $headers = $this->getSession()->getResponseHeaders();
+
+        $lowercasedHeaders = array();
+        foreach ($headers as $name => $value) {
+            $lowercasedHeaders[str_replace('_', '-', strtolower($name))] = $value;
+        }
+
+        $this->assertArrayHasKey('x-mink-test', $lowercasedHeaders);
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Basic/IFrameTest.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
new file mode 100644
index 0000000..7056316
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/NavigationTest.php
@@ -0,0 +1,69 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class NavigationTest extends TestCase
+{
+    public function testRedirect()
+    {
+        $this->getSession()->visit($this->pathTo('/redirector.php'));
+        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
+    }
+
+    public function testPageControls()
+    {
+        $this->getSession()->visit($this->pathTo('/randomizer.php'));
+        $number1 = $this->getAssertSession()->elementExists('css', '#number')->getText();
+
+        $this->getSession()->reload();
+        $number2 = $this->getAssertSession()->elementExists('css', '#number')->getText();
+
+        $this->assertNotEquals($number1, $number2);
+
+        $this->getSession()->visit($this->pathTo('/links.html'));
+        $this->getSession()->getPage()->clickLink('Random number page');
+
+        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
+
+        $this->getSession()->back();
+        $this->assertEquals($this->pathTo('/links.html'), $this->getSession()->getCurrentUrl());
+
+        $this->getSession()->forward();
+        $this->assertEquals($this->pathTo('/randomizer.php'), $this->getSession()->getCurrentUrl());
+    }
+
+    public function testLinks()
+    {
+        $this->getSession()->visit($this->pathTo('/links.html'));
+        $page = $this->getSession()->getPage();
+        $link = $page->findLink('Redirect me to');
+
+        $this->assertNotNull($link);
+        $this->assertRegExp('/redirector\.php$/', $link->getAttribute('href'));
+        $link->click();
+
+        $this->assertEquals($this->pathTo('/redirect_destination.html'), $this->getSession()->getCurrentUrl());
+
+        $this->getSession()->visit($this->pathTo('/links.html'));
+        $page = $this->getSession()->getPage();
+        $link = $page->findLink('basic form image');
+
+        $this->assertNotNull($link);
+        $this->assertRegExp('/basic_form\.html$/', $link->getAttribute('href'));
+        $link->click();
+
+        $this->assertEquals($this->pathTo('/basic_form.html'), $this->getSession()->getCurrentUrl());
+
+        $this->getSession()->visit($this->pathTo('/links.html'));
+        $page = $this->getSession()->getPage();
+        $link = $page->findLink('Link with a ');
+
+        $this->assertNotNull($link);
+        $this->assertRegExp('/links\.html\?quoted$/', $link->getAttribute('href'));
+        $link->click();
+
+        $this->assertEquals($this->pathTo('/links.html?quoted'), $this->getSession()->getCurrentUrl());
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Basic/ScreenshotTest.php
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Basic/StatusCodeTest.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
new file mode 100644
index 0000000..6f1ebcb
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/TraversingTest.php
@@ -0,0 +1,143 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class TraversingTest extends TestCase
+{
+    /**
+     * find by label.
+     *
+     * @group issue211
+     */
+    public function testIssue211()
+    {
+        $this->getSession()->visit($this->pathTo('/issue211.html'));
+        $field = $this->getSession()->getPage()->findField('TÃ©lÃ©phone');
+
+        $this->assertNotNull($field);
+    }
+
+    public function testElementsTraversing()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $page = $this->getSession()->getPage();
+
+        $title = $page->find('css', 'h1');
+        $this->assertNotNull($title);
+        $this->assertEquals('Extremely useless page', $title->getText());
+        $this->assertEquals('h1', $title->getTagName());
+
+        $strong = $page->find('xpath', '//div/strong[3]');
+        $this->assertNotNull($strong);
+        $this->assertEquals('pariatur', $strong->getText());
+        $this->assertEquals('super-duper', $strong->getAttribute('class'));
+        $this->assertTrue($strong->hasAttribute('class'));
+
+        $strong2 = $page->find('xpath', '//div/strong[2]');
+        $this->assertNotNull($strong2);
+        $this->assertEquals('veniam', $strong2->getText());
+        $this->assertEquals('strong', $strong2->getTagName());
+        $this->assertNull($strong2->getAttribute('class'));
+        $this->assertFalse($strong2->hasAttribute('class'));
+
+        $strongs = $page->findAll('css', 'div#core > strong');
+        $this->assertCount(3, $strongs);
+        $this->assertEquals('Lorem', $strongs[0]->getText());
+        $this->assertEquals('pariatur', $strongs[2]->getText());
+
+        $element = $page->find('css', '#some-element');
+
+        $this->assertNotNull($element);
+        $this->assertEquals('some very interesting text', $element->getText());
+        $this->assertEquals(
+            "\n            some <div>very\n            </div>\n".
+            "<em>interesting</em>      text\n        ",
+            $element->getHtml()
+        );
+
+        $this->assertTrue($element->hasAttribute('data-href'));
+        $this->assertFalse($element->hasAttribute('data-url'));
+        $this->assertEquals('http://mink.behat.org', $element->getAttribute('data-href'));
+        $this->assertNull($element->getAttribute('data-url'));
+        $this->assertEquals('div', $element->getTagName());
+    }
+
+    public function testVeryDeepElementsTraversing()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $page = $this->getSession()->getPage();
+
+        $footer = $page->find('css', 'footer');
+        $this->assertNotNull($footer);
+
+        $searchForm = $footer->find('css', 'form#search-form');
+        $this->assertNotNull($searchForm);
+        $this->assertEquals('search-form', $searchForm->getAttribute('id'));
+
+        $searchInput = $searchForm->findField('Search site...');
+        $this->assertNotNull($searchInput);
+        $this->assertEquals('text', $searchInput->getAttribute('type'));
+
+        $searchInput = $searchForm->findField('Search site...');
+        $this->assertNotNull($searchInput);
+        $this->assertEquals('text', $searchInput->getAttribute('type'));
+
+        $profileForm = $footer->find('css', '#profile');
+        $this->assertNotNull($profileForm);
+
+        $profileFormDiv = $profileForm->find('css', 'div');
+        $this->assertNotNull($profileFormDiv);
+
+        $profileFormDivLabel = $profileFormDiv->find('css', 'label');
+        $this->assertNotNull($profileFormDivLabel);
+
+        $profileFormDivParent = $profileFormDivLabel->getParent();
+        $this->assertNotNull($profileFormDivParent);
+
+        $profileFormDivParent = $profileFormDivLabel->getParent();
+        $this->assertEquals('something', $profileFormDivParent->getAttribute('data-custom'));
+
+        $profileFormInput = $profileFormDivLabel->findField('user-name');
+        $this->assertNotNull($profileFormInput);
+        $this->assertEquals('username', $profileFormInput->getAttribute('name'));
+    }
+
+    public function testDeepTraversing()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $traversDivs = $this->getSession()->getPage()->findAll('css', 'div.travers');
+
+        $this->assertCount(1, $traversDivs);
+
+        $subDivs = $traversDivs[0]->findAll('css', 'div.sub');
+        $this->assertCount(3, $subDivs);
+
+        $this->assertTrue($subDivs[2]->hasLink('some deep url'));
+        $this->assertFalse($subDivs[2]->hasLink('come deep url'));
+        $subUrl = $subDivs[2]->findLink('some deep url');
+        $this->assertNotNull($subUrl);
+
+        $this->assertRegExp('/some_url$/', $subUrl->getAttribute('href'));
+        $this->assertEquals('some deep url', $subUrl->getText());
+        $this->assertEquals('some <strong>deep</strong> url', $subUrl->getHtml());
+
+        $this->assertTrue($subUrl->has('css', 'strong'));
+        $this->assertFalse($subUrl->has('css', 'em'));
+        $this->assertEquals('deep', $subUrl->find('css', 'strong')->getText());
+    }
+
+    public function testFindingChild()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $form = $this->getSession()->getPage()->find('css', 'footer form');
+        $this->assertNotNull($form);
+
+        $this->assertCount(1, $form->findAll('css', 'input'), 'Elements are searched only in the element, not in all previous matches');
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php b/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
new file mode 100644
index 0000000..bb5634e
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Basic/VisibilityTest.php
@@ -0,0 +1,20 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Basic;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class VisibilityTest extends TestCase
+{
+    public function testVisibility()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $webAssert = $this->getAssertSession();
+
+        $clicker = $webAssert->elementExists('css', '.elements div#clicker');
+        $invisible = $webAssert->elementExists('css', '#invisible');
+
+        $this->assertFalse($invisible->isVisible());
+        $this->assertTrue($clicker->isVisible());
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php b/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Css/HoverTest.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php b/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
new file mode 100644
index 0000000..18c4088
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Form/CheckboxTest.php
@@ -0,0 +1,73 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Form;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class CheckboxTest extends TestCase
+{
+    public function testManipulate()
+    {
+        $this->getSession()->visit($this->pathTo('advanced_form.html'));
+
+        $checkbox = $this->getAssertSession()->fieldExists('agreement');
+
+        $this->assertNull($checkbox->getValue());
+        $this->assertFalse($checkbox->isChecked());
+
+        $checkbox->check();
+
+        $this->assertEquals('yes', $checkbox->getValue());
+        $this->assertTrue($checkbox->isChecked());
+
+        $checkbox->uncheck();
+
+        $this->assertNull($checkbox->getValue());
+        $this->assertFalse($checkbox->isChecked());
+    }
+
+    public function testSetValue()
+    {
+        $this->getSession()->visit($this->pathTo('advanced_form.html'));
+
+        $checkbox = $this->getAssertSession()->fieldExists('agreement');
+
+        $this->assertNull($checkbox->getValue());
+        $this->assertFalse($checkbox->isChecked());
+
+        $checkbox->setValue(true);
+
+        $this->assertEquals('yes', $checkbox->getValue());
+        $this->assertTrue($checkbox->isChecked());
+
+        $checkbox->setValue(false);
+
+        $this->assertNull($checkbox->getValue());
+        $this->assertFalse($checkbox->isChecked());
+    }
+
+    public function testCheckboxMultiple()
+    {
+        $this->getSession()->visit($this->pathTo('/multicheckbox_form.html'));
+        $webAssert = $this->getAssertSession();
+
+        $this->assertEquals('Multicheckbox Test', $webAssert->elementExists('css', 'h1')->getText());
+
+        $updateMail = $webAssert->elementExists('css', '[name="mail_types[]"][value="update"]');
+        $spamMail = $webAssert->elementExists('css', '[name="mail_types[]"][value="spam"]');
+
+        $this->assertEquals('update', $updateMail->getValue());
+        $this->assertNull($spamMail->getValue());
+
+        $this->assertTrue($updateMail->isChecked());
+        $this->assertFalse($spamMail->isChecked());
+
+        $updateMail->uncheck();
+        $this->assertFalse($updateMail->isChecked());
+        $this->assertFalse($spamMail->isChecked());
+
+        $spamMail->check();
+        $this->assertFalse($updateMail->isChecked());
+        $this->assertTrue($spamMail->isChecked());
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php b/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
new file mode 100644
index 0000000..0e08d34
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Form/GeneralTest.php
@@ -0,0 +1,312 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Form;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class GeneralTest extends TestCase
+{
+    // test multiple submit buttons
+    public function testIssue212()
+    {
+        $session = $this->getSession();
+
+        $session->visit($this->pathTo('/issue212.html'));
+
+        $field = $this->findById('poney-button');
+        $this->assertEquals('poney', $field->getValue());
+    }
+
+    public function testBasicForm()
+    {
+        $this->getSession()->visit($this->pathTo('/basic_form.html'));
+
+        $webAssert = $this->getAssertSession();
+        $page = $this->getSession()->getPage();
+        $this->assertEquals('Basic Form Page', $webAssert->elementExists('css', 'h1')->getText());
+
+        $firstname = $webAssert->fieldExists('first_name');
+        $lastname = $webAssert->fieldExists('lastn');
+
+        $this->assertEquals('Firstname', $firstname->getValue());
+        $this->assertEquals('Lastname', $lastname->getValue());
+
+        $firstname->setValue('Konstantin');
+        $page->fillField('last_name', 'Kudryashov');
+
+        $this->assertEquals('Konstantin', $firstname->getValue());
+        $this->assertEquals('Kudryashov', $lastname->getValue());
+
+        $page->findButton('Reset')->click();
+
+        $this->assertEquals('Firstname', $firstname->getValue());
+        $this->assertEquals('Lastname', $lastname->getValue());
+
+        $firstname->setValue('Konstantin');
+        $page->fillField('last_name', 'Kudryashov');
+
+        $page->findButton('Save')->click();
+
+        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
+            $this->assertEquals('Anket for Konstantin', $webAssert->elementExists('css', 'h1')->getText());
+            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
+            $this->assertEquals('Lastname: Kudryashov', $webAssert->elementExists('css', '#last')->getText());
+        }
+    }
+
+    /**
+     * @dataProvider formSubmitWaysDataProvider
+     */
+    public function testFormSubmitWays($submitVia)
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/basic_form.html'));
+        $page = $session->getPage();
+        $webAssert = $this->getAssertSession();
+
+        $firstname = $webAssert->fieldExists('first_name');
+        $firstname->setValue('Konstantin');
+
+        $page->findButton($submitVia)->click();
+
+        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
+            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
+        } else {
+            $this->fail('Form was never submitted');
+        }
+    }
+
+    public function formSubmitWaysDataProvider()
+    {
+        return array(
+            array('Save'),
+            array('input-type-image'),
+            array('button-without-type'),
+            array('button-type-submit'),
+        );
+    }
+
+    public function testFormSubmit()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/basic_form.html'));
+
+        $webAssert = $this->getAssertSession();
+        $webAssert->fieldExists('first_name')->setValue('Konstantin');
+
+        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
+
+        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
+            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
+        };
+    }
+
+    public function testFormSubmitWithoutButton()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/form_without_button.html'));
+
+        $webAssert = $this->getAssertSession();
+        $webAssert->fieldExists('first_name')->setValue('Konstantin');
+
+        $webAssert->elementExists('xpath', 'descendant-or-self::form[1]')->submit();
+
+        if ($this->safePageWait(5000, 'document.getElementById("first") !== null')) {
+            $this->assertEquals('Firstname: Konstantin', $webAssert->elementExists('css', '#first')->getText());
+        };
+    }
+
+    public function testBasicGetForm()
+    {
+        $this->getSession()->visit($this->pathTo('/basic_get_form.php'));
+        $webAssert = $this->getAssertSession();
+
+        $page = $this->getSession()->getPage();
+        $this->assertEquals('Basic Get Form Page', $webAssert->elementExists('css', 'h1')->getText());
+
+        $search = $webAssert->fieldExists('q');
+        $search->setValue('some#query');
+        $page->pressButton('Find');
+
+        $div = $webAssert->elementExists('css', 'div');
+        $this->assertEquals('some#query', $div->getText());
+    }
+
+    public function testAdvancedForm()
+    {
+        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
+        $page = $this->getSession()->getPage();
+
+        $page->fillField('first_name', 'ever');
+        $page->fillField('last_name', 'zet');
+
+        $page->pressButton('Register');
+
+        $this->assertContains('no file', $page->getContent());
+
+        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
+
+        $webAssert = $this->getAssertSession();
+        $page = $this->getSession()->getPage();
+        $this->assertEquals('ADvanced Form Page', $webAssert->elementExists('css', 'h1')->getText());
+
+        $firstname = $webAssert->fieldExists('first_name');
+        $lastname = $webAssert->fieldExists('lastn');
+        $email = $webAssert->fieldExists('Your email:');
+        $select = $webAssert->fieldExists('select_number');
+        $sex = $webAssert->fieldExists('sex');
+        $maillist = $webAssert->fieldExists('mail_list');
+        $agreement = $webAssert->fieldExists('agreement');
+        $notes = $webAssert->fieldExists('notes');
+        $about = $webAssert->fieldExists('about');
+
+        $this->assertEquals('Firstname', $firstname->getValue());
+        $this->assertEquals('Lastname', $lastname->getValue());
+        $this->assertEquals('your@email.com', $email->getValue());
+        $this->assertEquals('20', $select->getValue());
+        $this->assertEquals('w', $sex->getValue());
+        $this->assertEquals('original notes', $notes->getValue());
+
+        $this->assertEquals('on', $maillist->getValue());
+        $this->assertNull($agreement->getValue());
+
+        $this->assertTrue($maillist->isChecked());
+        $this->assertFalse($agreement->isChecked());
+
+        $agreement->check();
+        $this->assertTrue($agreement->isChecked());
+
+        $maillist->uncheck();
+        $this->assertFalse($maillist->isChecked());
+
+        $select->selectOption('thirty');
+        $this->assertEquals('30', $select->getValue());
+
+        $sex->selectOption('m');
+        $this->assertEquals('m', $sex->getValue());
+
+        $notes->setValue('new notes');
+        $this->assertEquals('new notes', $notes->getValue());
+
+        $about->attachFile($this->mapRemoteFilePath(__DIR__.'/../../web-fixtures/some_file.txt'));
+
+        $button = $page->findButton('Register');
+        $this->assertNotNull($button);
+
+        $page->fillField('first_name', 'Foo "item"');
+        $page->fillField('last_name', 'Bar');
+        $page->fillField('Your email:', 'ever.zet@gmail.com');
+
+        $this->assertEquals('Foo "item"', $firstname->getValue());
+        $this->assertEquals('Bar', $lastname->getValue());
+
+        $button->press();
+
+        if ($this->safePageWait(5000, 'document.getElementsByTagName("title") !== null')) {
+            $out = <<<OUT
+array (
+  'agreement' = 'on',
+  'email' = 'ever.zet@gmail.com',
+  'first_name' = 'Foo "item"',
+  'last_name' = 'Bar',
+  'notes' = 'new notes',
+  'select_number' = '30',
+  'sex' = 'm',
+  'submit' = 'Register',
+)
+some_file.txt
+1 uploaded file
+OUT;
+            $this->assertContains($out, $page->getContent());
+        }
+    }
+
+    public function testMultiInput()
+    {
+        $this->getSession()->visit($this->pathTo('/multi_input_form.html'));
+        $page = $this->getSession()->getPage();
+        $webAssert = $this->getAssertSession();
+        $this->assertEquals('Multi input Test', $webAssert->elementExists('css', 'h1')->getText());
+
+        $first = $webAssert->fieldExists('First');
+        $second = $webAssert->fieldExists('Second');
+        $third = $webAssert->fieldExists('Third');
+
+        $this->assertEquals('tag1', $first->getValue());
+        $this->assertSame('tag2', $second->getValue());
+        $this->assertEquals('tag1', $third->getValue());
+
+        $first->setValue('tag2');
+        $this->assertEquals('tag2', $first->getValue());
+        $this->assertSame('tag2', $second->getValue());
+        $this->assertEquals('tag1', $third->getValue());
+
+        $second->setValue('one');
+
+        $this->assertEquals('tag2', $first->getValue());
+        $this->assertSame('one', $second->getValue());
+
+        $third->setValue('tag3');
+
+        $this->assertEquals('tag2', $first->getValue());
+        $this->assertSame('one', $second->getValue());
+        $this->assertEquals('tag3', $third->getValue());
+
+        $button = $page->findButton('Register');
+        $this->assertNotNull($button);
+        $button->press();
+
+        $space = ' ';
+        $out = <<<OUT
+  'tags' =$space
+  array (
+    0 = 'tag2',
+    1 = 'one',
+    2 = 'tag3',
+  ),
+OUT;
+        $this->assertContains($out, $page->getContent());
+    }
+
+    public function testAdvancedFormSecondSubmit()
+    {
+        $this->getSession()->visit($this->pathTo('/advanced_form.html'));
+        $page = $this->getSession()->getPage();
+
+        $button = $page->findButton('Login');
+        $this->assertNotNull($button);
+        $button->press();
+
+        $toSearch = array(
+            "'agreement' = 'off',",
+            "'submit' = 'Login',",
+            'no file',
+        );
+
+        $pageContent = $page->getContent();
+
+        foreach ($toSearch as $searchString) {
+            $this->assertContains($searchString, $pageContent);
+        }
+    }
+
+    public function testSubmitEmptyTextarea()
+    {
+        $this->getSession()->visit($this->pathTo('/empty_textarea.html'));
+        $page = $this->getSession()->getPage();
+
+        $page->pressButton('Save');
+
+        $toSearch = array(
+            "'textarea' = '',",
+            "'submit' = 'Save',",
+            'no file',
+        );
+
+        $pageContent = $page->getContent();
+
+        foreach ($toSearch as $searchString) {
+            $this->assertContains($searchString, $pageContent);
+        }
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php b/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php
rename to vendor/behat/mink/driver-testsuite/tests/Form/Html5Test.php
diff --git a/core/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php b/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php
rename to vendor/behat/mink/driver-testsuite/tests/Form/RadioTest.php
diff --git a/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php b/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
new file mode 100644
index 0000000..f06d5f0
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Form/SelectTest.php
@@ -0,0 +1,134 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Form;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class SelectTest extends TestCase
+{
+    public function testMultiselect()
+    {
+        $this->getSession()->visit($this->pathTo('/multiselect_form.html'));
+        $webAssert = $this->getAssertSession();
+        $page = $this->getSession()->getPage();
+        $this->assertEquals('Multiselect Test', $webAssert->elementExists('css', 'h1')->getText());
+
+        $select = $webAssert->fieldExists('select_number');
+        $multiSelect = $webAssert->fieldExists('select_multiple_numbers[]');
+        $secondMultiSelect = $webAssert->fieldExists('select_multiple_values[]');
+
+        $this->assertEquals('20', $select->getValue());
+        $this->assertSame(array(), $multiSelect->getValue());
+        $this->assertSame(array('2', '3'), $secondMultiSelect->getValue());
+
+        $select->selectOption('thirty');
+        $this->assertEquals('30', $select->getValue());
+
+        $multiSelect->selectOption('one', true);
+
+        $this->assertSame(array('1'), $multiSelect->getValue());
+
+        $multiSelect->selectOption('three', true);
+
+        $this->assertEquals(array('1', '3'), $multiSelect->getValue());
+
+        $secondMultiSelect->selectOption('two');
+        $this->assertSame(array('2'), $secondMultiSelect->getValue());
+
+        $button = $page->findButton('Register');
+        $this->assertNotNull($button);
+        $button->press();
+
+        $space = ' ';
+        $out = <<<OUT
+  'agreement' = 'off',
+  'select_multiple_numbers' =$space
+  array (
+    0 = '1',
+    1 = '3',
+  ),
+  'select_multiple_values' =$space
+  array (
+    0 = '2',
+  ),
+  'select_number' = '30',
+OUT;
+        $this->assertContains($out, $page->getContent());
+    }
+
+    /**
+     * @dataProvider testElementSelectedStateCheckDataProvider
+     */
+    public function testElementSelectedStateCheck($selectName, $optionValue, $optionText)
+    {
+        $session = $this->getSession();
+        $webAssert = $this->getAssertSession();
+        $session->visit($this->pathTo('/multiselect_form.html'));
+        $select = $webAssert->fieldExists($selectName);
+
+        $option = $webAssert->elementExists('named', array('option', $optionValue));
+
+        $this->assertFalse($option->isSelected());
+        $select->selectOption($optionText);
+        $this->assertTrue($option->isSelected());
+    }
+
+    public function testElementSelectedStateCheckDataProvider()
+    {
+        return array(
+            array('select_number', '30', 'thirty'),
+            array('select_multiple_numbers[]', '2', 'two'),
+        );
+    }
+
+    public function testSetValueSingleSelect()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/multiselect_form.html'));
+        $select = $this->getAssertSession()->fieldExists('select_number');
+
+        $select->setValue('10');
+        $this->assertEquals('10', $select->getValue());
+    }
+
+    public function testSetValueMultiSelect()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/multiselect_form.html'));
+        $select = $this->getAssertSession()->fieldExists('select_multiple_values[]');
+
+        $select->setValue(array('1', '2'));
+        $this->assertEquals(array('1', '2'), $select->getValue());
+    }
+
+    /**
+     * @see https://github.com/Behat/Mink/issues/193
+     */
+    public function testOptionWithoutValue()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/issue193.html'));
+
+        $session->getPage()->selectFieldOption('options-without-values', 'Two');
+        $this->assertEquals('Two', $this->findById('options-without-values')->getValue());
+
+        $this->assertTrue($this->findById('two')->isSelected());
+        $this->assertFalse($this->findById('one')->isSelected());
+
+        $session->getPage()->selectFieldOption('options-with-values', 'two');
+        $this->assertEquals('two', $this->findById('options-with-values')->getValue());
+    }
+
+    /**
+     * @see https://github.com/Behat/Mink/issues/131
+     */
+    public function testAccentuatedOption()
+    {
+        $this->getSession()->visit($this->pathTo('/issue131.html'));
+        $page = $this->getSession()->getPage();
+
+        $page->selectFieldOption('foobar', 'Gimme some accentuÃ©s characters');
+
+        $this->assertEquals('1', $page->findField('foobar')->getValue());
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php b/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
new file mode 100644
index 0000000..4c8a30f
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Js/ChangeEventTest.php
@@ -0,0 +1,155 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Js;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+/**
+ * @group slow
+ */
+class ChangeEventTest extends TestCase
+{
+    /**
+     * 'change' event should be fired after selecting an <option> in a <select>.
+     *
+     * TODO check whether this test is redundant with other change event tests.
+     */
+    public function testIssue255()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/issue255.html'));
+
+        $session->getPage()->selectFieldOption('foo_select', 'Option 3');
+
+        $session->wait(2000, '$("#output_foo_select").text() != ""');
+        $this->assertEquals('onChangeSelect', $this->getAssertSession()->elementExists('css', '#output_foo_select')->getText());
+    }
+
+    public function testIssue178()
+    {
+        $session = $this->getSession();
+        $session->visit($this->pathTo('/issue178.html'));
+
+        $this->findById('source')->setValue('foo');
+        $this->assertEquals('foo', $this->findById('target')->getText());
+    }
+
+    /**
+     * @dataProvider setValueChangeEventDataProvider
+     * @group change-event-detector
+     */
+    public function testSetValueChangeEvent($elementId, $valueForEmpty, $valueForFilled = '')
+    {
+        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
+        $page = $this->getSession()->getPage();
+
+        $input = $this->findById($elementId);
+        $this->assertNull($page->findById($elementId.'-result'));
+
+        // Verify setting value, when control is initially empty.
+        $input->setValue($valueForEmpty);
+        $this->assertElementChangeCount($elementId, 'initial value setting triggers change event');
+
+        if ($valueForFilled) {
+            // Verify setting value, when control already has a value.
+            $this->findById('results')->click();
+            $input->setValue($valueForFilled);
+            $this->assertElementChangeCount($elementId, 'value change triggers change event');
+        }
+    }
+
+    public function setValueChangeEventDataProvider()
+    {
+        return array(
+            'input default' => array('the-input-default', 'from empty', 'from existing'),
+            'input text' => array('the-input-text', 'from empty', 'from existing'),
+            'input email' => array('the-email', 'from empty', 'from existing'),
+            'textarea' => array('the-textarea', 'from empty', 'from existing'),
+            'file' => array('the-file', 'from empty', 'from existing'),
+            'select' => array('the-select', '30'),
+            'radio' => array('the-radio-m', 'm'),
+        );
+    }
+
+    /**
+     * @dataProvider selectOptionChangeEventDataProvider
+     * @group change-event-detector
+     */
+    public function testSelectOptionChangeEvent($elementId, $elementValue)
+    {
+        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
+        $page = $this->getSession()->getPage();
+
+        $input = $this->findById($elementId);
+        $this->assertNull($page->findById($elementId.'-result'));
+
+        $input->selectOption($elementValue);
+        $this->assertElementChangeCount($elementId);
+    }
+
+    public function selectOptionChangeEventDataProvider()
+    {
+        return array(
+            'select' => array('the-select', '30'),
+            'radio' => array('the-radio-m', 'm'),
+        );
+    }
+
+    /**
+     * @dataProvider checkboxTestWayDataProvider
+     * @group change-event-detector
+     */
+    public function testCheckChangeEvent($useSetValue)
+    {
+        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
+        $page = $this->getSession()->getPage();
+
+        $checkbox = $this->findById('the-unchecked-checkbox');
+        $this->assertNull($page->findById('the-unchecked-checkbox-result'));
+
+        if ($useSetValue) {
+            $checkbox->setValue(true);
+        } else {
+            $checkbox->check();
+        }
+
+        $this->assertElementChangeCount('the-unchecked-checkbox');
+    }
+
+    /**
+     * @dataProvider checkboxTestWayDataProvider
+     * @group change-event-detector
+     */
+    public function testUncheckChangeEvent($useSetValue)
+    {
+        $this->getSession()->visit($this->pathTo('/element_change_detector.html'));
+        $page = $this->getSession()->getPage();
+
+        $checkbox = $this->findById('the-checked-checkbox');
+        $this->assertNull($page->findById('the-checked-checkbox-result'));
+
+        if ($useSetValue) {
+            $checkbox->setValue(false);
+        } else {
+            $checkbox->uncheck();
+        }
+
+        $this->assertElementChangeCount('the-checked-checkbox');
+    }
+
+    public function checkboxTestWayDataProvider()
+    {
+        return array(
+            array(true),
+            array(false),
+        );
+    }
+
+    private function assertElementChangeCount($elementId, $message = '')
+    {
+        $counterElement = $this->getSession()->getPage()->findById($elementId.'-result');
+        $actualCount = null === $counterElement ? 0 : $counterElement->getText();
+
+        $this->assertEquals('1', $actualCount, $message);
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php b/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
new file mode 100644
index 0000000..f06999b
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Js/EventsTest.php
@@ -0,0 +1,122 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Js;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class EventsTest extends TestCase
+{
+    /**
+     * @group mouse-events
+     */
+    public function testClick()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
+        $this->assertEquals('not clicked', $clicker->getText());
+
+        $clicker->click();
+        $this->assertEquals('single clicked', $clicker->getText());
+    }
+
+    /**
+     * @group mouse-events
+     */
+    public function testDoubleClick()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
+        $this->assertEquals('not clicked', $clicker->getText());
+
+        $clicker->doubleClick();
+        $this->assertEquals('double clicked', $clicker->getText());
+    }
+
+    /**
+     * @group mouse-events
+     */
+    public function testRightClick()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $clicker = $this->getAssertSession()->elementExists('css', '.elements div#clicker');
+        $this->assertEquals('not clicked', $clicker->getText());
+
+        $clicker->rightClick();
+        $this->assertEquals('right clicked', $clicker->getText());
+    }
+
+    /**
+     * @group mouse-events
+     */
+    public function testFocus()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
+        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
+
+        $focusBlurDetector->focus();
+        $this->assertEquals('focused', $focusBlurDetector->getValue());
+    }
+
+    /**
+     * @group mouse-events
+     * @depends testFocus
+     */
+    public function testBlur()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $focusBlurDetector = $this->getAssertSession()->elementExists('css', '.elements input#focus-blur-detector');
+        $this->assertEquals('no action detected', $focusBlurDetector->getValue());
+
+        $focusBlurDetector->blur();
+        $this->assertEquals('blured', $focusBlurDetector->getValue());
+    }
+
+    /**
+     * @group mouse-events
+     */
+    public function testMouseOver()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $mouseOverDetector = $this->getAssertSession()->elementExists('css', '.elements div#mouseover-detector');
+        $this->assertEquals('no mouse action detected', $mouseOverDetector->getText());
+
+        $mouseOverDetector->mouseOver();
+        $this->assertEquals('mouse overed', $mouseOverDetector->getText());
+    }
+
+    /**
+     * @dataProvider provideKeyboardEventsModifiers
+     */
+    public function testKeyboardEvents($modifier, $eventProperties)
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $webAssert = $this->getAssertSession();
+
+        $input1 = $webAssert->elementExists('css', '.elements input.input.first');
+        $input2 = $webAssert->elementExists('css', '.elements input.input.second');
+        $input3 = $webAssert->elementExists('css', '.elements input.input.third');
+        $event = $webAssert->elementExists('css', '.elements .text-event');
+
+        $input1->keyDown('u', $modifier);
+        $this->assertEquals('key downed:'.$eventProperties, $event->getText());
+
+        $input2->keyPress('r', $modifier);
+        $this->assertEquals('key pressed:114 / '.$eventProperties, $event->getText());
+
+        $input3->keyUp(78, $modifier);
+        $this->assertEquals('key upped:78 / '.$eventProperties, $event->getText());
+    }
+
+    public function provideKeyboardEventsModifiers()
+    {
+        return array(
+            'none' => array(null, '0 / 0 / 0 / 0'),
+            'alt' => array('alt', '1 / 0 / 0 / 0'),
+             // jQuery considers ctrl as being a metaKey in the normalized event
+            'ctrl' => array('ctrl', '0 / 1 / 0 / 1'),
+            'shift' => array('shift', '0 / 0 / 1 / 0'),
+            'meta' => array('meta', '0 / 0 / 0 / 1'),
+        );
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php b/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
new file mode 100644
index 0000000..ab6ab27
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptEvaluationTest.php
@@ -0,0 +1,85 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Js;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class JavascriptEvaluationTest extends TestCase
+{
+    /**
+     * Tests, that `wait` method returns check result after exit.
+     */
+    public function testWaitReturnValue()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+
+        $found = $this->getSession()->wait(5000, '$("#draggable").length == 1');
+        $this->assertTrue($found);
+    }
+
+    public function testWait()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+
+        $waitable = $this->findById('waitable');
+
+        $waitable->click();
+        $this->getSession()->wait(3000, '$("#waitable").has("div").length > 0');
+        $this->assertEquals('arrived', $this->getAssertSession()->elementExists('css', '#waitable > div')->getText());
+
+        $waitable->click();
+        $this->getSession()->wait(3000, 'false');
+        $this->assertEquals('timeout', $this->getAssertSession()->elementExists('css', '#waitable > div')->getText());
+    }
+
+    /**
+     * @dataProvider provideExecutedScript
+     */
+    public function testExecuteScript($script)
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->getSession()->executeScript($script);
+
+        sleep(1);
+
+        $heading = $this->getAssertSession()->elementExists('css', 'h1');
+        $this->assertEquals('Hello world', $heading->getText());
+    }
+
+    public function provideExecutedScript()
+    {
+        return array(
+            array('document.querySelector("h1").textContent = "Hello world"'),
+            array('document.querySelector("h1").textContent = "Hello world";'),
+            array('function () {document.querySelector("h1").textContent = "Hello world";}()'),
+            array('function () {document.querySelector("h1").textContent = "Hello world";}();'),
+            array('(function () {document.querySelector("h1").textContent = "Hello world";})()'),
+            array('(function () {document.querySelector("h1").textContent = "Hello world";})();'),
+        );
+    }
+
+    /**
+     * @dataProvider provideEvaluatedScript
+     */
+    public function testEvaluateJavascript($script)
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+
+        $this->assertSame(2, $this->getSession()->evaluateScript($script));
+    }
+
+    public function provideEvaluatedScript()
+    {
+        return array(
+            array('1 + 1'),
+            array('1 + 1;'),
+            array('return 1 + 1'),
+            array('return 1 + 1;'),
+            array('function () {return 1+1;}()'),
+            array('(function () {return 1+1;})()'),
+            array('return function () { return 1+1;}()'),
+            array('return (function () {return 1+1;})()'),
+        );
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php b/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
new file mode 100644
index 0000000..ea6d77a
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Js/JavascriptTest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Js;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class JavascriptTest extends TestCase
+{
+    public function testAriaRoles()
+    {
+        $this->getSession()->visit($this->pathTo('/aria_roles.html'));
+
+        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === false');
+        $this->getSession()->getPage()->pressButton('Toggle');
+        $this->getSession()->wait(5000, '$("#hidden-element").is(":visible") === true');
+
+        $this->getSession()->getPage()->clickLink('Go to Index');
+        $this->assertEquals($this->pathTo('/index.html'), $this->getSession()->getCurrentUrl());
+    }
+
+    public function testDragDrop()
+    {
+        $this->getSession()->visit($this->pathTo('/js_test.html'));
+        $webAssert = $this->getAssertSession();
+
+        $draggable = $webAssert->elementExists('css', '#draggable');
+        $droppable = $webAssert->elementExists('css', '#droppable');
+
+        $draggable->dragTo($droppable);
+        $this->assertEquals('Dropped!', $this->getAssertSession()->elementExists('css', 'p', $droppable)->getText());
+    }
+
+    // test accentuated char in button
+    public function testIssue225()
+    {
+        $this->getSession()->visit($this->pathTo('/issue225.html'));
+        $this->getSession()->getPage()->pressButton('CrÃ©er un compte');
+        $this->getSession()->wait(5000, '$("#panel").text() != ""');
+
+        $this->assertContains('OH AIH!', $this->getSession()->getPage()->getText());
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php b/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
new file mode 100644
index 0000000..ca49491
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/Js/WindowTest.php
@@ -0,0 +1,83 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver\Js;
+
+use Behat\Mink\Tests\Driver\TestCase;
+
+class WindowTest extends TestCase
+{
+    public function testWindow()
+    {
+        $this->getSession()->visit($this->pathTo('/window.html'));
+        $session = $this->getSession();
+        $page = $session->getPage();
+        $webAssert = $this->getAssertSession();
+
+        $page->clickLink('Popup #1');
+        $session->switchToWindow(null);
+
+        $page->clickLink('Popup #2');
+        $session->switchToWindow(null);
+
+        $el = $webAssert->elementExists('css', '#text');
+        $this->assertSame('Main window div text', $el->getText());
+
+        $session->switchToWindow('popup_1');
+        $el = $webAssert->elementExists('css', '#text');
+        $this->assertSame('Popup#1 div text', $el->getText());
+
+        $session->switchToWindow('popup_2');
+        $el = $webAssert->elementExists('css', '#text');
+        $this->assertSame('Popup#2 div text', $el->getText());
+
+        $session->switchToWindow(null);
+        $el = $webAssert->elementExists('css', '#text');
+        $this->assertSame('Main window div text', $el->getText());
+    }
+
+    public function testGetWindowNames()
+    {
+        $this->getSession()->visit($this->pathTo('/window.html'));
+        $session = $this->getSession();
+        $page = $session->getPage();
+
+        $windowName = $this->getSession()->getWindowName();
+
+        $this->assertNotNull($windowName);
+
+        $page->clickLink('Popup #1');
+        $page->clickLink('Popup #2');
+
+        $windowNames = $this->getSession()->getWindowNames();
+
+        $this->assertNotNull($windowNames[0]);
+        $this->assertNotNull($windowNames[1]);
+        $this->assertNotNull($windowNames[2]);
+    }
+
+    public function testResizeWindow()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $session = $this->getSession();
+
+        $session->resizeWindow(400, 300);
+        $session->wait(1000, 'false');
+
+        $script = 'return Math.abs(window.outerHeight - 300) <= 100 && Math.abs(window.outerWidth - 400) <= 100;';
+
+        $this->assertTrue($session->evaluateScript($script));
+    }
+
+    public function testWindowMaximize()
+    {
+        $this->getSession()->visit($this->pathTo('/index.html'));
+        $session = $this->getSession();
+
+        $session->maximizeWindow();
+        $session->wait(1000, 'false');
+
+        $script = 'return Math.abs(screen.availHeight - window.outerHeight) <= 100;';
+
+        $this->assertTrue($session->evaluateScript($script));
+    }
+}
diff --git a/vendor/behat/mink/driver-testsuite/tests/TestCase.php b/vendor/behat/mink/driver-testsuite/tests/TestCase.php
new file mode 100644
index 0000000..964a71f
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/tests/TestCase.php
@@ -0,0 +1,167 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver;
+
+use Behat\Mink\Exception\UnsupportedDriverActionException;
+use Behat\Mink\Mink;
+use Behat\Mink\Session;
+use Behat\Mink\WebAssert;
+
+abstract class TestCase extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Mink session manager.
+     *
+     * @var Mink
+     */
+    private static $mink;
+
+    /**
+     * @var AbstractConfig
+     */
+    private static $config;
+
+    /**
+     * Initializes the test case.
+     */
+    public static function setUpBeforeClass()
+    {
+        if (null === self::$mink) {
+            $session = new Session(self::getConfig()->createDriver());
+            self::$mink = new Mink(array('sess' => $session));
+        }
+    }
+
+    /**
+     * @return AbstractConfig
+     *
+     * @throws \UnexpectedValueException if the global driver_config_factory returns an invalid object
+     */
+    private static function getConfig()
+    {
+        if (null === self::$config) {
+            self::$config = call_user_func($GLOBALS['driver_config_factory']);
+
+            if (!self::$config instanceof AbstractConfig) {
+                throw new \UnexpectedValueException('The "driver_config_factory" global variable must return a \Behat\Mink\Tests\Driver\AbstractConfig.');
+            }
+        }
+
+        return self::$config;
+    }
+
+    protected function checkRequirements()
+    {
+        if (null !== $message = self::getConfig()->skipMessage(get_class($this), $this->getName(false))) {
+            $this->markTestSkipped($message);
+        }
+
+        parent::checkRequirements();
+    }
+
+    protected function tearDown()
+    {
+        if (null !== self::$mink) {
+            self::$mink->resetSessions();
+        }
+    }
+
+    protected function onNotSuccessfulTest(\Exception $e)
+    {
+        if ($e instanceof UnsupportedDriverActionException) {
+            $this->markTestSkipped($e->getMessage());
+        }
+
+        parent::onNotSuccessfulTest($e);
+    }
+
+    /**
+     * Returns session.
+     *
+     * @return Session
+     */
+    protected function getSession()
+    {
+        return self::$mink->getSession('sess');
+    }
+
+    /**
+     * Returns assert session.
+     *
+     * @return WebAssert
+     */
+    protected function getAssertSession()
+    {
+        return self::$mink->assertSession('sess');
+    }
+
+    /**
+     * @param string $id
+     *
+     * @return \Behat\Mink\Element\NodeElement
+     */
+    protected function findById($id)
+    {
+        return $this->getAssertSession()->elementExists('named', array('id', $id));
+    }
+
+    /**
+     * Creates a new driver instance.
+     *
+     * This driver is not associated to a session. It is meant to be used for tests on the driver
+     * implementation itself rather than test using the Mink API.
+     *
+     * @return \Behat\Mink\Driver\DriverInterface
+     */
+    protected function createDriver()
+    {
+        return self::getConfig()->createDriver();
+    }
+
+    /**
+     * Map remote file path.
+     *
+     * @param string $file File path.
+     *
+     * @return string
+     */
+    protected function mapRemoteFilePath($file)
+    {
+        $realPath = realpath($file);
+
+        if (false !== $realPath) {
+            $file = $realPath;
+        }
+
+        return self::getConfig()->mapRemoteFilePath($file);
+    }
+
+    /**
+     * @param string $path
+     *
+     * @return string
+     */
+    protected function pathTo($path)
+    {
+        return rtrim(self::getConfig()->getWebFixturesUrl(), '/').'/'.ltrim($path, '/');
+    }
+
+    /**
+     * Waits for a condition to be true, considering than it is successful for drivers not supporting wait().
+     *
+     * @param int    $time
+     * @param string $condition A JS condition to evaluate
+     *
+     * @return bool
+     *
+     * @see \Behat\Mink\Session::wait()
+     */
+    protected function safePageWait($time, $condition)
+    {
+        try {
+            return $this->getSession()->wait($time, $condition);
+        } catch (UnsupportedDriverActionException $e) {
+            return true;
+        }
+    }
+}
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/404.php b/vendor/behat/mink/driver-testsuite/web-fixtures/404.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/404.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/404.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/500.php b/vendor/behat/mink/driver-testsuite/web-fixtures/500.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/500.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/500.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php b/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/advanced_form_post.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html b/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/aria_roles.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php b/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/basic_auth.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/basic_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php b/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/basic_form_post.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php b/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/basic_get_form.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php b/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page1.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php b/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page2.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php b/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/cookie_page3.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html b/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/css_mouse_events.html
diff --git a/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html b/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
new file mode 100644
index 0000000..c309bae
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/web-fixtures/element_change_detector.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>ADvanced Form</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+    <script src="js/jquery-1.6.2-min.js"></script>
+</head>
+<body>
+    <h1>ADvanced Form Page</h1>
+
+    <form method="POST" enctype="multipart/form-data" action="advanced_form_post.php">
+        <input id="the-input-default" value="" />
+        <input type="text" id="the-input-text" value="" />
+        <input type="email" id="the-email" value="" />
+
+        <select id="the-select">
+            <option value="10">ten</option>
+            <option value="20" selected="selected">twenty</option>
+            <option value="30">thirty</option>
+        </select>
+
+        <label>
+            <span><input type="radio" name="sex" id="the-radio-m" value="m" /> m</span>
+            <span><input type="radio" name="sex" id="the-radio-w" value="w" checked="checked" /> w</span>
+        </label>
+
+        <input type="checkbox" id="the-checked-checkbox" value="cb-val" checked/>
+        <input type="checkbox" id="the-unchecked-checkbox" value="cb-val"/>
+
+        <textarea id="the-textarea"></textarea>
+
+        <input type="file" id="the-file" />
+    </form>
+
+    <ul id="results" style="border: 1px solid red;">
+        <li>for easy element location</li>
+    </ul>
+
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var $change_registry = {},
+                $results = $('#results');
+
+            $(':input').change(function () {
+                var $result_id = this.id + '-result';
+
+                if (!$change_registry[this.id]) {
+                    $change_registry[this.id] = 1;
+                    $results.append('<li id="' + $result_id + '"></li>');
+                }
+                else {
+                    $change_registry[this.id]++;
+                }
+
+                $('#' + $result_id).text($change_registry[this.id]);
+            });
+
+            $results.click(function () {
+                $results.empty();
+                $change_registry = {};
+            });
+        });
+    </script>
+</body>
+</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html b/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/empty_textarea.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html b/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/form_without_button.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php b/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/headers.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/headers.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/html5_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html b/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/html5_radio.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html b/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/html5_types.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html b/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/html_decoding.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html b/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/iframe.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html b/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/iframe_inner.html
diff --git a/vendor/behat/mink/driver-testsuite/web-fixtures/index.html b/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
new file mode 100644
index 0000000..cc8c821
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/web-fixtures/index.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Index page</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+</head>
+<body>
+    <h1>Extremely useless page</h1>
+    <div id="core">
+        <strong>Lorem</strong> ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim <strong>veniam</strong>, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla <strong class="super-duper">pariatur</strong>. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+        <div id="empty">
+            An empty <em></em> tag should be rendered with both open and close tags.
+        </div>
+
+        <div id="some-element" data-href="http://mink.behat.org">
+            some <div>very
+            </div>
+<em>interesting</em>      text
+        </div>
+
+        <div class="attribute-testing">
+            <input type="text" id="attr-elem[with-value]" with-value="some-value"/>
+            <input type="text" id="attr-elem[without-value]" without-value/>
+            <input type="text" id="attr-elem[with-empty-value]" with-empty-value=""/>
+            <input type="text" id="attr-elem[with-missing]"/>
+        </div>
+
+        <div class="travers">
+            <div class="sub">el1</div>
+            <div class="sub">el2</div>
+            <div class="sub">
+                <a href="some_url">some <strong>deep</strong> url</a>
+            </div>
+        </div>
+
+        <div class="sub">el4</div>
+
+    </div>
+
+    <footer>
+        <form id="search-form">
+            <input type="text" placeholder="Search site..." />
+        </form>
+        <form id="profile">
+            <div data-custom="something">
+                <label>
+                    <input type="text" id="user-name" name="username" />
+                </label>
+            </div>
+            <input type="submit" />
+        </form>
+    </footer>
+</body>
+</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php b/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue130.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue131.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php b/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue140.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue178.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue193.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue211.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue212.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue215.html
diff --git a/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
new file mode 100644
index 0000000..1321463
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/web-fixtures/issue225.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="fr">
+<head>
+    <title>Index page</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+    <script src="js/jquery-1.6.2-min.js"></script>
+</head>
+<body>
+
+<button id="btn">CrÃ©er un compte</button>
+
+<div id="panel"></div>
+
+<script type="text/javascript">
+    $('#btn').click(function () {
+        $('#panel').text('OH ' + 'AIH!');
+    });
+</script>
+</body>
+</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html b/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/issue255.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js b/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js
rename to vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-1.6.2-min.js
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js b/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js
rename to vendor/behat/mink/driver-testsuite/web-fixtures/js/jquery-ui-1.8.14.custom.min.js
diff --git a/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html b/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
new file mode 100644
index 0000000..6285455
--- /dev/null
+++ b/vendor/behat/mink/driver-testsuite/web-fixtures/js_test.html
@@ -0,0 +1,114 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>JS elements test</title>
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
+
+    <style>
+        #draggable {
+            width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0;
+            background:#ccc;
+            opacity:0.5;
+        }
+        #droppable {
+            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
+            background:#eee;
+        }
+        #waitable {
+            width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px;
+            background:#eee;
+        }
+    </style>
+</head>
+<body>
+    <div class="elements">
+        <div id="clicker">not clicked</div>
+        <div id="mouseover-detector">no mouse action detected</div>
+        <div id="invisible" style="display: none">invisible man</div>
+        <input id="focus-blur-detector" type="text" value="no action detected"/>
+        <input class="input first" type="text" value="" />
+        <input class="input second" type="text" value="" />
+        <input class="input third" type="text" value="" />
+        <div class="text-event"></div>
+    </div>
+
+    <div id="draggable" class="ui-widget-content"></div>
+
+    <div id="droppable" class="ui-widget-header">
+        <p>Drop here</p>
+    </div>
+
+    <div id="waitable"></div>
+
+    <script src="js/jquery-1.6.2-min.js"></script>
+    <script src="js/jquery-ui-1.8.14.custom.min.js"></script>
+	<script>
+		$(document).ready(function() {
+            var $clicker = $('#clicker');
+
+            $clicker.click(function() {
+                $(this).text('single clicked');
+            });
+
+            $clicker.dblclick(function() {
+                $(this).text('double clicked');
+            });
+
+            $clicker.bind('contextmenu', function() {
+                $(this).text('right clicked');
+            });
+
+            var $focusDetector = $('#focus-blur-detector');
+
+            $focusDetector.focus(function() {
+                $(this).val('focused');
+            });
+
+            $focusDetector.blur(function() {
+                $(this).val('blured');
+            });
+
+            $('#mouseover-detector').mouseover(function() {
+                $(this).text('mouse overed');
+            });
+
+            $('.elements input.input.first').keydown(function(ev) {
+                $('.text-event').text('key downed:' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
+            });
+
+            $('.elements input.input.second').keypress(function(ev) {
+                $('.text-event').text('key pressed:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
+            });
+
+            $('.elements input.input.third').keyup(function(ev) {
+                $('.text-event').text('key upped:' + ev.which + ' / ' + ev.altKey * 1 + ' / ' + ev.ctrlKey * 1 + ' / ' + ev.shiftKey * 1 + ' / ' + ev.metaKey * 1);
+            });
+
+            $( "#draggable" ).draggable();
+            $( "#droppable" ).droppable({
+                drop: function( event, ui ) {
+                    $( this ).find( "p" ).html( "Dropped!" );
+                }
+            });
+
+            var t1, t2;
+
+            $('#waitable').click(function() {
+                var el = $(this);
+
+                el.html('');
+                clearTimeout(t1);
+                clearTimeout(t2);
+
+                t1 = setTimeout(function() {
+                    el.html('<div>arrived</div>');
+                }, 1000);
+
+                t2 = setTimeout(function() {
+                    el.html('<div>timeout</div>');
+                }, 2000);
+            });
+		});
+	</script>
+</body>
+</html>
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/json.php b/vendor/behat/mink/driver-testsuite/web-fixtures/json.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/json.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/json.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/links.html b/vendor/behat/mink/driver-testsuite/web-fixtures/links.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/links.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/links.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/multi_input_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/multicheckbox_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html b/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/multiselect_form.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html b/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/popup1.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html b/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/popup2.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php b/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/print_cookies.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html b/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/radio.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/radio.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php b/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/randomizer.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html b/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/redirect_destination.html
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php b/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/redirector.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php b/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/response_headers.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php b/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/session_test.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt b/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt
rename to vendor/behat/mink/driver-testsuite/web-fixtures/some_file.txt
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php b/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page1.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php b/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php
rename to vendor/behat/mink/driver-testsuite/web-fixtures/sub-folder/cookie_page2.php
diff --git a/core/vendor/behat/mink/driver-testsuite/web-fixtures/window.html b/vendor/behat/mink/driver-testsuite/web-fixtures/window.html
similarity index 100%
rename from core/vendor/behat/mink/driver-testsuite/web-fixtures/window.html
rename to vendor/behat/mink/driver-testsuite/web-fixtures/window.html
diff --git a/core/vendor/behat/mink/phpdoc.ini.dist b/vendor/behat/mink/phpdoc.ini.dist
similarity index 100%
rename from core/vendor/behat/mink/phpdoc.ini.dist
rename to vendor/behat/mink/phpdoc.ini.dist
diff --git a/core/vendor/behat/mink/phpunit.xml.dist b/vendor/behat/mink/phpunit.xml.dist
similarity index 100%
rename from core/vendor/behat/mink/phpunit.xml.dist
rename to vendor/behat/mink/phpunit.xml.dist
diff --git a/vendor/behat/mink/src/Driver/CoreDriver.php b/vendor/behat/mink/src/Driver/CoreDriver.php
new file mode 100644
index 0000000..9b4c04e
--- /dev/null
+++ b/vendor/behat/mink/src/Driver/CoreDriver.php
@@ -0,0 +1,475 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Driver;
+
+use Behat\Mink\Element\NodeElement;
+use Behat\Mink\Exception\UnsupportedDriverActionException;
+use Behat\Mink\Session;
+
+/**
+ * Core driver.
+ * All other drivers should extend this class for future compatibility.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+abstract class CoreDriver implements DriverInterface
+{
+    /**
+     * @var Session
+     */
+    private $session;
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setSession(Session $session)
+    {
+        $this->session = $session;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function start()
+    {
+        throw new UnsupportedDriverActionException('Starting the driver is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isStarted()
+    {
+        throw new UnsupportedDriverActionException('Checking the driver state is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function stop()
+    {
+        throw new UnsupportedDriverActionException('Stopping the driver is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function reset()
+    {
+        throw new UnsupportedDriverActionException('Resetting the driver is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function visit($url)
+    {
+        throw new UnsupportedDriverActionException('Visiting an url is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCurrentUrl()
+    {
+        throw new UnsupportedDriverActionException('Getting the current url is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getContent()
+    {
+        throw new UnsupportedDriverActionException('Getting the page content is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function find($xpath)
+    {
+        $elements = array();
+
+        foreach ($this->findElementXpaths($xpath) as $xpath) {
+            $elements[] = new NodeElement($xpath, $this->session);
+        }
+
+        return $elements;
+    }
+
+    /**
+     * Finds elements with specified XPath query.
+     *
+     * @see find()
+     *
+     * @param string $xpath
+     *
+     * @return string[] The XPath of the matched elements
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     */
+    protected function findElementXpaths($xpath)
+    {
+        throw new UnsupportedDriverActionException('Finding elements is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTagName($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the tag name is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getText($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the element text is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getHtml($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the element inner HTML is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getOuterHtml($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the element outer HTML is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getAttribute($xpath, $name)
+    {
+        throw new UnsupportedDriverActionException('Getting the element attribute is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getValue($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the field value is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setValue($xpath, $value)
+    {
+        throw new UnsupportedDriverActionException('Setting the field value is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function check($xpath)
+    {
+        throw new UnsupportedDriverActionException('Checking a checkbox is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function uncheck($xpath)
+    {
+        throw new UnsupportedDriverActionException('Unchecking a checkbox is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isChecked($xpath)
+    {
+        throw new UnsupportedDriverActionException('Getting the state of a checkbox is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function selectOption($xpath, $value, $multiple = false)
+    {
+        throw new UnsupportedDriverActionException('Selecting an option is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function click($xpath)
+    {
+        throw new UnsupportedDriverActionException('Clicking on an element is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function attachFile($xpath, $path)
+    {
+        throw new UnsupportedDriverActionException('Attaching a file in an input is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function reload()
+    {
+        throw new UnsupportedDriverActionException('Page reloading is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function forward()
+    {
+        throw new UnsupportedDriverActionException('Forward action is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function back()
+    {
+        throw new UnsupportedDriverActionException('Backward action is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setBasicAuth($user, $password)
+    {
+        throw new UnsupportedDriverActionException('Basic auth setup is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function switchToWindow($name = null)
+    {
+        throw new UnsupportedDriverActionException('Windows management is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function switchToIFrame($name = null)
+    {
+        throw new UnsupportedDriverActionException('iFrames management is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setRequestHeader($name, $value)
+    {
+        throw new UnsupportedDriverActionException('Request headers manipulation is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getResponseHeaders()
+    {
+        throw new UnsupportedDriverActionException('Response headers are not available from %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function setCookie($name, $value = null)
+    {
+        throw new UnsupportedDriverActionException('Cookies manipulation is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCookie($name)
+    {
+        throw new UnsupportedDriverActionException('Cookies are not available from %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getStatusCode()
+    {
+        throw new UnsupportedDriverActionException('Status code is not available from %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getScreenshot()
+    {
+        throw new UnsupportedDriverActionException('Screenshots are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getWindowNames()
+    {
+        throw new UnsupportedDriverActionException('Listing all window names is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getWindowName()
+    {
+        throw new UnsupportedDriverActionException('Listing this window name is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function doubleClick($xpath)
+    {
+        throw new UnsupportedDriverActionException('Double-clicking is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function rightClick($xpath)
+    {
+        throw new UnsupportedDriverActionException('Right-clicking is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isVisible($xpath)
+    {
+        throw new UnsupportedDriverActionException('Element visibility check is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isSelected($xpath)
+    {
+        throw new UnsupportedDriverActionException('Element selection check is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function mouseOver($xpath)
+    {
+        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function focus($xpath)
+    {
+        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function blur($xpath)
+    {
+        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function keyPress($xpath, $char, $modifier = null)
+    {
+        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function keyDown($xpath, $char, $modifier = null)
+    {
+        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function keyUp($xpath, $char, $modifier = null)
+    {
+        throw new UnsupportedDriverActionException('Keyboard manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function dragTo($sourceXpath, $destinationXpath)
+    {
+        throw new UnsupportedDriverActionException('Mouse manipulations are not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function executeScript($script)
+    {
+        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function evaluateScript($script)
+    {
+        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function wait($timeout, $condition)
+    {
+        throw new UnsupportedDriverActionException('JS is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function resizeWindow($width, $height, $name = null)
+    {
+        throw new UnsupportedDriverActionException('Window resizing is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function maximizeWindow($name = null)
+    {
+        throw new UnsupportedDriverActionException('Window maximize is not supported by %s', $this);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function submitForm($xpath)
+    {
+        throw new UnsupportedDriverActionException('Form submission is not supported by %s', $this);
+    }
+}
diff --git a/vendor/behat/mink/src/Driver/DriverInterface.php b/vendor/behat/mink/src/Driver/DriverInterface.php
new file mode 100644
index 0000000..0880960
--- /dev/null
+++ b/vendor/behat/mink/src/Driver/DriverInterface.php
@@ -0,0 +1,637 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Driver;
+
+use Behat\Mink\Element\NodeElement;
+use Behat\Mink\Exception\DriverException;
+use Behat\Mink\Exception\UnsupportedDriverActionException;
+use Behat\Mink\Session;
+
+/**
+ * Driver interface.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+interface DriverInterface
+{
+    /**
+     * Sets driver's current session.
+     *
+     * @param Session $session
+     */
+    public function setSession(Session $session);
+
+    /**
+     * Starts driver.
+     *
+     * Once started, the driver should be ready to visit a page.
+     *
+     * Calling any action before visiting a page is an undefined behavior.
+     * The only supported method calls on a fresh driver are
+     * - visit()
+     * - setRequestHeader()
+     * - setBasicAuth()
+     * - reset()
+     * - stop()
+     *
+     * Calling start on a started driver is an undefined behavior. Driver
+     * implementations are free to handle it silently or to fail with an
+     * exception.
+     *
+     * @throws DriverException When the driver cannot be started
+     */
+    public function start();
+
+    /**
+     * Checks whether driver is started.
+     *
+     * @return Boolean
+     */
+    public function isStarted();
+
+    /**
+     * Stops driver.
+     *
+     * Once stopped, the driver should be started again before using it again.
+     *
+     * Calling any action on a stopped driver is an undefined behavior.
+     * The only supported method call after stopping a driver is starting it again.
+     *
+     * Calling stop on a stopped driver is an undefined behavior. Driver
+     * implementations are free to handle it silently or to fail with an
+     * exception.
+     *
+     * @throws DriverException When the driver cannot be closed
+     */
+    public function stop();
+
+    /**
+     * Resets driver state.
+     *
+     * This should reset cookies, request headers and basic authentication.
+     * When possible, the history should be reset as well, but this is not enforced
+     * as some implementations may not be able to reset it without restarting the
+     * driver entirely. Consumers requiring a clean history should restart the driver
+     * to enforce it.
+     *
+     * Once reset, the driver should be ready to visit a page.
+     * Calling any action before visiting a page is an undefined behavior.
+     * The only supported method calls on a fresh driver are
+     * - visit()
+     * - setRequestHeader()
+     * - setBasicAuth()
+     * - reset()
+     * - stop()
+     *
+     * Calling reset on a stopped driver is an undefined behavior.
+     */
+    public function reset();
+
+    /**
+     * Visit specified URL.
+     *
+     * @param string $url url of the page
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function visit($url);
+
+    /**
+     * Returns current URL address.
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getCurrentUrl();
+
+    /**
+     * Reloads current page.
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function reload();
+
+    /**
+     * Moves browser forward 1 page.
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function forward();
+
+    /**
+     * Moves browser backward 1 page.
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function back();
+
+    /**
+     * Sets HTTP Basic authentication parameters.
+     *
+     * @param string|Boolean $user     user name or false to disable authentication
+     * @param string         $password password
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function setBasicAuth($user, $password);
+
+    /**
+     * Switches to specific browser window.
+     *
+     * @param string $name window name (null for switching back to main window)
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function switchToWindow($name = null);
+
+    /**
+     * Switches to specific iFrame.
+     *
+     * @param string $name iframe name (null for switching back)
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function switchToIFrame($name = null);
+
+    /**
+     * Sets specific request header on client.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function setRequestHeader($name, $value);
+
+    /**
+     * Returns last response headers.
+     *
+     * @return array
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getResponseHeaders();
+
+    /**
+     * Sets cookie.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function setCookie($name, $value = null);
+
+    /**
+     * Returns cookie by name.
+     *
+     * @param string $name
+     *
+     * @return string|null
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getCookie($name);
+
+    /**
+     * Returns last response status code.
+     *
+     * @return int
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getStatusCode();
+
+    /**
+     * Returns last response content.
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getContent();
+
+    /**
+     * Capture a screenshot of the current window.
+     *
+     * @return string screenshot of MIME type image/* depending
+     *                on driver (e.g., image/png, image/jpeg)
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getScreenshot();
+
+    /**
+     * Return the names of all open windows.
+     *
+     * @return array array of all open windows
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getWindowNames();
+
+    /**
+     * Return the name of the currently active window.
+     *
+     * @return string the name of the current window
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getWindowName();
+
+    /**
+     * Finds elements with specified XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return NodeElement[]
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function find($xpath);
+
+    /**
+     * Returns element's tag name by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getTagName($xpath);
+
+    /**
+     * Returns element's text by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getText($xpath);
+
+    /**
+     * Returns element's inner html by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getHtml($xpath);
+
+    /**
+     * Returns element's outer html by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return string
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getOuterHtml($xpath);
+
+    /**
+     * Returns element's attribute by it's XPath query.
+     *
+     * @param string $xpath
+     * @param string $name
+     *
+     * @return string|null
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function getAttribute($xpath, $name);
+
+    /**
+     * Returns element's value by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return string|bool|array
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::getValue
+     */
+    public function getValue($xpath);
+
+    /**
+     * Sets element's value by it's XPath query.
+     *
+     * @param string            $xpath
+     * @param string|bool|array $value
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::setValue
+     */
+    public function setValue($xpath, $value);
+
+    /**
+     * Checks checkbox by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::check
+     */
+    public function check($xpath);
+
+    /**
+     * Unchecks checkbox by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::uncheck
+     */
+    public function uncheck($xpath);
+
+    /**
+     * Checks whether checkbox or radio button located by it's XPath query is checked.
+     *
+     * @param string $xpath
+     *
+     * @return Boolean
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::isChecked
+     */
+    public function isChecked($xpath);
+
+    /**
+     * Selects option from select field or value in radio group located by it's XPath query.
+     *
+     * @param string  $xpath
+     * @param string  $value
+     * @param Boolean $multiple
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::selectOption
+     */
+    public function selectOption($xpath, $value, $multiple = false);
+
+    /**
+     * Checks whether select option, located by it's XPath query, is selected.
+     *
+     * @param string $xpath
+     *
+     * @return Boolean
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::isSelected
+     */
+    public function isSelected($xpath);
+
+    /**
+     * Clicks button or link located by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function click($xpath);
+
+    /**
+     * Double-clicks button or link located by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function doubleClick($xpath);
+
+    /**
+     * Right-clicks button or link located by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function rightClick($xpath);
+
+    /**
+     * Attaches file path to file field located by it's XPath query.
+     *
+     * @param string $xpath
+     * @param string $path
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::attachFile
+     */
+    public function attachFile($xpath, $path);
+
+    /**
+     * Checks whether element visible located by it's XPath query.
+     *
+     * @param string $xpath
+     *
+     * @return Boolean
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function isVisible($xpath);
+
+    /**
+     * Simulates a mouse over on the element.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function mouseOver($xpath);
+
+    /**
+     * Brings focus to element.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function focus($xpath);
+
+    /**
+     * Removes focus from element.
+     *
+     * @param string $xpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function blur($xpath);
+
+    /**
+     * Presses specific keyboard key.
+     *
+     * @param string     $xpath
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function keyPress($xpath, $char, $modifier = null);
+
+    /**
+     * Pressed down specific keyboard key.
+     *
+     * @param string     $xpath
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function keyDown($xpath, $char, $modifier = null);
+
+    /**
+     * Pressed up specific keyboard key.
+     *
+     * @param string     $xpath
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function keyUp($xpath, $char, $modifier = null);
+
+    /**
+     * Drag one element onto another.
+     *
+     * @param string $sourceXpath
+     * @param string $destinationXpath
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function dragTo($sourceXpath, $destinationXpath);
+
+    /**
+     * Executes JS script.
+     *
+     * @param string $script
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function executeScript($script);
+
+    /**
+     * Evaluates JS script.
+     *
+     * The "return" keyword is optional in the script passed as argument. Driver implementations
+     * must accept the expression both with and without the keyword.
+     *
+     * @param string $script
+     *
+     * @return mixed
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function evaluateScript($script);
+
+    /**
+     * Waits some time or until JS condition turns true.
+     *
+     * @param int    $timeout   timeout in milliseconds
+     * @param string $condition JS condition
+     *
+     * @return bool
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function wait($timeout, $condition);
+
+    /**
+     * Set the dimensions of the window.
+     *
+     * @param int    $width  set the window width, measured in pixels
+     * @param int    $height set the window height, measured in pixels
+     * @param string $name   window name (null for the main window)
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function resizeWindow($width, $height, $name = null);
+
+    /**
+     * Maximizes the window if it is not maximized already.
+     *
+     * @param string $name window name (null for the main window)
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     */
+    public function maximizeWindow($name = null);
+
+    /**
+     * Submits the form.
+     *
+     * @param string $xpath Xpath.
+     *
+     * @throws UnsupportedDriverActionException When operation not supported by the driver
+     * @throws DriverException                  When the operation cannot be done
+     *
+     * @see \Behat\Mink\Element\NodeElement::submitForm
+     */
+    public function submitForm($xpath);
+}
diff --git a/vendor/behat/mink/src/Element/DocumentElement.php b/vendor/behat/mink/src/Element/DocumentElement.php
new file mode 100644
index 0000000..c2daf66
--- /dev/null
+++ b/vendor/behat/mink/src/Element/DocumentElement.php
@@ -0,0 +1,51 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Element;
+
+/**
+ * Document element.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class DocumentElement extends TraversableElement
+{
+    /**
+     * Returns XPath for handled element.
+     *
+     * @return string
+     */
+    public function getXpath()
+    {
+        return '//html';
+    }
+
+    /**
+     * Returns document content.
+     *
+     * @return string
+     */
+    public function getContent()
+    {
+        return trim($this->getDriver()->getContent());
+    }
+
+    /**
+     * Check whether document has specified content.
+     *
+     * @param string $content
+     *
+     * @return Boolean
+     */
+    public function hasContent($content)
+    {
+        return $this->has('named', array('content', $content));
+    }
+}
diff --git a/vendor/behat/mink/src/Element/Element.php b/vendor/behat/mink/src/Element/Element.php
new file mode 100644
index 0000000..a2b6c0e
--- /dev/null
+++ b/vendor/behat/mink/src/Element/Element.php
@@ -0,0 +1,214 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Element;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Exception\ElementNotFoundException;
+use Behat\Mink\Selector\SelectorsHandler;
+use Behat\Mink\Selector\Xpath\Manipulator;
+use Behat\Mink\Session;
+
+/**
+ * Base element.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+abstract class Element implements ElementInterface
+{
+    /**
+     * @var Session
+     */
+    private $session;
+
+    /**
+     * Driver.
+     *
+     * @var DriverInterface
+     */
+    private $driver;
+
+    /**
+     * @var SelectorsHandler
+     */
+    private $selectorsHandler;
+
+    /**
+     * @var Manipulator
+     */
+    private $xpathManipulator;
+
+    /**
+     * Initialize element.
+     *
+     * @param Session $session
+     */
+    public function __construct(Session $session)
+    {
+        $this->xpathManipulator = new Manipulator();
+        $this->session = $session;
+
+        $this->driver = $session->getDriver();
+        $this->selectorsHandler = $session->getSelectorsHandler();
+    }
+
+    /**
+     * Returns element session.
+     *
+     * @return Session
+     *
+     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
+     */
+    public function getSession()
+    {
+        @trigger_error(sprintf('The method %s is deprecated as of 1.6 and will be removed in 2.0', __METHOD__), E_USER_DEPRECATED);
+
+        return $this->session;
+    }
+
+    /**
+     * Returns element's driver.
+     *
+     * @return DriverInterface
+     */
+    protected function getDriver()
+    {
+        return $this->driver;
+    }
+
+    /**
+     * Returns selectors handler.
+     *
+     * @return SelectorsHandler
+     *
+     * @deprecated Accessing the selectors handler in the element is deprecated as of 1.7 and will be impossible in 2.0.
+     */
+    protected function getSelectorsHandler()
+    {
+        @trigger_error(sprintf('The method %s is deprecated as of 1.7 and will be removed in 2.0', __METHOD__), E_USER_DEPRECATED);
+
+        return $this->selectorsHandler;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function has($selector, $locator)
+    {
+        return null !== $this->find($selector, $locator);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isValid()
+    {
+        return 1 === count($this->getDriver()->find($this->getXpath()));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function waitFor($timeout, $callback)
+    {
+        if (!is_callable($callback)) {
+            throw new \InvalidArgumentException('Given callback is not a valid callable');
+        }
+
+        $start = microtime(true);
+        $end = $start + $timeout;
+
+        do {
+            $result = call_user_func($callback, $this);
+
+            if ($result) {
+                break;
+            }
+
+            usleep(100000);
+        } while (microtime(true) < $end);
+
+        return $result;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function find($selector, $locator)
+    {
+        $items = $this->findAll($selector, $locator);
+
+        return count($items) ? current($items) : null;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function findAll($selector, $locator)
+    {
+        if ('named' === $selector) {
+            $items = $this->findAll('named_exact', $locator);
+            if (empty($items)) {
+                $items = $this->findAll('named_partial', $locator);
+            }
+
+            return $items;
+        }
+
+        $xpath = $this->selectorsHandler->selectorToXpath($selector, $locator);
+        $xpath = $this->xpathManipulator->prepend($xpath, $this->getXpath());
+
+        return $this->getDriver()->find($xpath);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getText()
+    {
+        return $this->getDriver()->getText($this->getXpath());
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getHtml()
+    {
+        return $this->getDriver()->getHtml($this->getXpath());
+    }
+
+    /**
+     * Returns element outer html.
+     *
+     * @return string
+     */
+    public function getOuterHtml()
+    {
+        return $this->getDriver()->getOuterHtml($this->getXpath());
+    }
+
+    /**
+     * Builds an ElementNotFoundException.
+     *
+     * @param string      $type
+     * @param string|null $selector
+     * @param string|null $locator
+     *
+     * @return ElementNotFoundException
+     *
+     * @deprecated as of 1.7, to be removed in 2.0
+     */
+    protected function elementNotFound($type, $selector = null, $locator = null)
+    {
+        @trigger_error(sprintf('The method %s is deprecated as of 1.7 and will be removed in 2.0', __METHOD__), E_USER_DEPRECATED);
+
+        return new ElementNotFoundException($this->driver, $type, $selector, $locator);
+    }
+}
diff --git a/vendor/behat/mink/src/Element/ElementInterface.php b/vendor/behat/mink/src/Element/ElementInterface.php
new file mode 100644
index 0000000..1d9cc4f
--- /dev/null
+++ b/vendor/behat/mink/src/Element/ElementInterface.php
@@ -0,0 +1,115 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Element;
+
+use Behat\Mink\Session;
+
+/**
+ * Element interface.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+interface ElementInterface
+{
+    /**
+     * Returns XPath for handled element.
+     *
+     * @return string
+     */
+    public function getXpath();
+
+    /**
+     * Returns element's session.
+     *
+     * @return Session
+     *
+     * @deprecated Accessing the session from the element is deprecated as of 1.6 and will be impossible in 2.0.
+     */
+    public function getSession();
+
+    /**
+     * Checks whether element with specified selector exists inside the current element.
+     *
+     * @param string       $selector selector engine name
+     * @param string|array $locator  selector locator
+     *
+     * @return Boolean
+     *
+     * @see ElementInterface::findAll for the supported selectors
+     */
+    public function has($selector, $locator);
+
+    /**
+     * Checks if an element still exists in the DOM.
+     *
+     * @return bool
+     */
+    public function isValid();
+
+    /**
+     * Waits for an element(-s) to appear and returns it.
+     *
+     * @param int|float $timeout  Maximal allowed waiting time in seconds.
+     * @param callable  $callback Callback, which result is both used as waiting condition and returned.
+     *                            Will receive reference to `this element` as first argument.
+     *
+     * @return mixed
+     *
+     * @throws \InvalidArgumentException When invalid callback given.
+     */
+    public function waitFor($timeout, $callback);
+
+    /**
+     * Finds first element with specified selector inside the current element.
+     *
+     * @param string       $selector selector engine name
+     * @param string|array $locator  selector locator
+     *
+     * @return NodeElement|null
+     *
+     * @see ElementInterface::findAll for the supported selectors
+     */
+    public function find($selector, $locator);
+
+    /**
+     * Finds all elements with specified selector inside the current element.
+     *
+     * Valid selector engines are named, xpath, css, named_partial and named_exact.
+     *
+     * 'named' is a pseudo selector engine which prefers an exact match but
+     * will return a partial match if no exact match is found.
+     * 'xpath' is a pseudo selector engine supported by SelectorsHandler.
+     *
+     * More selector engines can be registered in the SelectorsHandler.
+     *
+     * @param string       $selector selector engine name
+     * @param string|array $locator  selector locator
+     *
+     * @return NodeElement[]
+     *
+     * @see NamedSelector for the locators supported by the named selectors
+     */
+    public function findAll($selector, $locator);
+
+    /**
+     * Returns element text (inside tag).
+     *
+     * @return string
+     */
+    public function getText();
+
+    /**
+     * Returns element inner html.
+     *
+     * @return string
+     */
+    public function getHtml();
+}
diff --git a/vendor/behat/mink/src/Element/NodeElement.php b/vendor/behat/mink/src/Element/NodeElement.php
new file mode 100644
index 0000000..bbb8573
--- /dev/null
+++ b/vendor/behat/mink/src/Element/NodeElement.php
@@ -0,0 +1,350 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Element;
+
+use Behat\Mink\Session;
+use Behat\Mink\Exception\ElementNotFoundException;
+
+/**
+ * Page element node.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class NodeElement extends TraversableElement
+{
+    private $xpath;
+
+    /**
+     * Initializes node element.
+     *
+     * @param string  $xpath   element xpath
+     * @param Session $session session instance
+     */
+    public function __construct($xpath, Session $session)
+    {
+        $this->xpath = $xpath;
+
+        parent::__construct($session);
+    }
+
+    /**
+     * Returns XPath for handled element.
+     *
+     * @return string
+     */
+    public function getXpath()
+    {
+        return $this->xpath;
+    }
+
+    /**
+     * Returns parent element to the current one.
+     *
+     * @return NodeElement
+     */
+    public function getParent()
+    {
+        return $this->find('xpath', '..');
+    }
+
+    /**
+     * Returns current node tag name.
+     *
+     * The value is always returned in lowercase to allow an easy comparison.
+     *
+     * @return string
+     */
+    public function getTagName()
+    {
+        return strtolower($this->getDriver()->getTagName($this->getXpath()));
+    }
+
+    /**
+     * Returns the value of the form field or option element.
+     *
+     * For checkbox fields, the value is a boolean indicating whether the checkbox is checked.
+     * For radio buttons, the value is the value of the selected button in the radio group
+     *      or null if no button is selected.
+     * For single select boxes, the value is the value of the selected option.
+     * For multiple select boxes, the value is an array of selected option values.
+     * for file inputs, the return value is undefined given that browsers don't allow accessing
+     *      the value of file inputs for security reasons. Some drivers may allow accessing the
+     *      path of the file set in the field, but this is not required if it cannot be implemented.
+     * For textarea elements and all textual fields, the value is the content of the field.
+     * Form option elements, the value is the value of the option (the value attribute or the text
+     *      content if the attribute is not set).
+     *
+     * Calling this method on other elements than form fields or option elements is not allowed.
+     *
+     * @return string|bool|array
+     */
+    public function getValue()
+    {
+        return $this->getDriver()->getValue($this->getXpath());
+    }
+
+    /**
+     * Sets the value of the form field.
+     *
+     * Calling this method on other elements than form fields is not allowed.
+     *
+     * @param string|bool|array $value
+     *
+     * @see NodeElement::getValue for the format of the value for each type of field
+     */
+    public function setValue($value)
+    {
+        $this->getDriver()->setValue($this->getXpath(), $value);
+    }
+
+    /**
+     * Checks whether element has attribute with specified name.
+     *
+     * @param string $name
+     *
+     * @return Boolean
+     */
+    public function hasAttribute($name)
+    {
+        return null !== $this->getDriver()->getAttribute($this->getXpath(), $name);
+    }
+
+    /**
+     * Returns specified attribute value.
+     *
+     * @param string $name
+     *
+     * @return string|null
+     */
+    public function getAttribute($name)
+    {
+        return $this->getDriver()->getAttribute($this->getXpath(), $name);
+    }
+
+    /**
+     * Checks whether an element has a named CSS class.
+     *
+     * @param string $className Name of the class
+     *
+     * @return bool
+     */
+    public function hasClass($className)
+    {
+        if ($this->hasAttribute('class')) {
+            return in_array($className, preg_split('/\s+/', $this->getAttribute('class')));
+        }
+
+        return false;
+    }
+
+    /**
+     * Clicks current node.
+     */
+    public function click()
+    {
+        $this->getDriver()->click($this->getXpath());
+    }
+
+    /**
+     * Presses current button.
+     */
+    public function press()
+    {
+        $this->click();
+    }
+
+    /**
+     * Double-clicks current node.
+     */
+    public function doubleClick()
+    {
+        $this->getDriver()->doubleClick($this->getXpath());
+    }
+
+    /**
+     * Right-clicks current node.
+     */
+    public function rightClick()
+    {
+        $this->getDriver()->rightClick($this->getXpath());
+    }
+
+    /**
+     * Checks current node if it's a checkbox field.
+     */
+    public function check()
+    {
+        $this->getDriver()->check($this->getXpath());
+    }
+
+    /**
+     * Unchecks current node if it's a checkbox field.
+     */
+    public function uncheck()
+    {
+        $this->getDriver()->uncheck($this->getXpath());
+    }
+
+    /**
+     * Checks whether current node is checked if it's a checkbox or radio field.
+     *
+     * Calling this method on any other elements is not allowed.
+     *
+     * @return Boolean
+     */
+    public function isChecked()
+    {
+        return (Boolean) $this->getDriver()->isChecked($this->getXpath());
+    }
+
+    /**
+     * Selects specified option for select field or specified radio button in the group.
+     *
+     * If the current node is a select box, this selects the option found by its value or
+     * its text.
+     * If the current node is a radio button, this selects the radio button with the given
+     * value in the radio button group of the current node.
+     *
+     * Calling this method on any other elements is not allowed.
+     *
+     * @param string  $option
+     * @param Boolean $multiple whether the option should be added to the selection for multiple selects
+     *
+     * @throws ElementNotFoundException when the option is not found in the select box
+     */
+    public function selectOption($option, $multiple = false)
+    {
+        if ('select' !== $this->getTagName()) {
+            $this->getDriver()->selectOption($this->getXpath(), $option, $multiple);
+
+            return;
+        }
+
+        $opt = $this->find('named', array('option', $option));
+
+        if (null === $opt) {
+            throw new ElementNotFoundException($this->getDriver(), 'select option', 'value|text', $option);
+        }
+
+        $this->getDriver()->selectOption($this->getXpath(), $opt->getValue(), $multiple);
+    }
+
+    /**
+     * Checks whether current node is selected if it's a option field.
+     *
+     * Calling this method on any other elements is not allowed.
+     *
+     * @return Boolean
+     */
+    public function isSelected()
+    {
+        return (Boolean) $this->getDriver()->isSelected($this->getXpath());
+    }
+
+    /**
+     * Attach file to current node if it's a file input.
+     *
+     * Calling this method on any other elements than file input is not allowed.
+     *
+     * @param string $path path to file (local)
+     */
+    public function attachFile($path)
+    {
+        $this->getDriver()->attachFile($this->getXpath(), $path);
+    }
+
+    /**
+     * Checks whether current node is visible on page.
+     *
+     * @return Boolean
+     */
+    public function isVisible()
+    {
+        return (Boolean) $this->getDriver()->isVisible($this->getXpath());
+    }
+
+    /**
+     * Simulates a mouse over on the element.
+     */
+    public function mouseOver()
+    {
+        $this->getDriver()->mouseOver($this->getXpath());
+    }
+
+    /**
+     * Drags current node onto other node.
+     *
+     * @param ElementInterface $destination other node
+     */
+    public function dragTo(ElementInterface $destination)
+    {
+        $this->getDriver()->dragTo($this->getXpath(), $destination->getXpath());
+    }
+
+    /**
+     * Brings focus to element.
+     */
+    public function focus()
+    {
+        $this->getDriver()->focus($this->getXpath());
+    }
+
+    /**
+     * Removes focus from element.
+     */
+    public function blur()
+    {
+        $this->getDriver()->blur($this->getXpath());
+    }
+
+    /**
+     * Presses specific keyboard key.
+     *
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     */
+    public function keyPress($char, $modifier = null)
+    {
+        $this->getDriver()->keyPress($this->getXpath(), $char, $modifier);
+    }
+
+    /**
+     * Pressed down specific keyboard key.
+     *
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     */
+    public function keyDown($char, $modifier = null)
+    {
+        $this->getDriver()->keyDown($this->getXpath(), $char, $modifier);
+    }
+
+    /**
+     * Pressed up specific keyboard key.
+     *
+     * @param string|int $char     could be either char ('b') or char-code (98)
+     * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
+     */
+    public function keyUp($char, $modifier = null)
+    {
+        $this->getDriver()->keyUp($this->getXpath(), $char, $modifier);
+    }
+
+    /**
+     * Submits the form.
+     *
+     * Calling this method on anything else than form elements is not allowed.
+     */
+    public function submit()
+    {
+        $this->getDriver()->submitForm($this->getXpath());
+    }
+}
diff --git a/vendor/behat/mink/src/Element/TraversableElement.php b/vendor/behat/mink/src/Element/TraversableElement.php
new file mode 100644
index 0000000..a5e05b9
--- /dev/null
+++ b/vendor/behat/mink/src/Element/TraversableElement.php
@@ -0,0 +1,297 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Element;
+
+use Behat\Mink\Exception\ElementNotFoundException;
+
+/**
+ * Traversable element.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+abstract class TraversableElement extends Element
+{
+    /**
+     * Finds element by its id.
+     *
+     * @param string $id element id
+     *
+     * @return NodeElement|null
+     */
+    public function findById($id)
+    {
+        return $this->find('named', array('id', $id));
+    }
+
+    /**
+     * Checks whether element has a link with specified locator.
+     *
+     * @param string $locator link id, title, text or image alt
+     *
+     * @return Boolean
+     */
+    public function hasLink($locator)
+    {
+        return null !== $this->findLink($locator);
+    }
+
+    /**
+     * Finds link with specified locator.
+     *
+     * @param string $locator link id, title, text or image alt
+     *
+     * @return NodeElement|null
+     */
+    public function findLink($locator)
+    {
+        return $this->find('named', array('link', $locator));
+    }
+
+    /**
+     * Clicks link with specified locator.
+     *
+     * @param string $locator link id, title, text or image alt
+     *
+     * @throws ElementNotFoundException
+     */
+    public function clickLink($locator)
+    {
+        $link = $this->findLink($locator);
+
+        if (null === $link) {
+            throw new ElementNotFoundException($this->getDriver(), 'link', 'id|title|alt|text', $locator);
+        }
+
+        $link->click();
+    }
+
+    /**
+     * Checks whether element has a button (input[type=submit|image|button|reset], button) with specified locator.
+     *
+     * @param string $locator button id, value or alt
+     *
+     * @return Boolean
+     */
+    public function hasButton($locator)
+    {
+        return null !== $this->findButton($locator);
+    }
+
+    /**
+     * Finds button (input[type=submit|image|button|reset], button) with specified locator.
+     *
+     * @param string $locator button id, value or alt
+     *
+     * @return NodeElement|null
+     */
+    public function findButton($locator)
+    {
+        return $this->find('named', array('button', $locator));
+    }
+
+    /**
+     * Presses button (input[type=submit|image|button|reset], button) with specified locator.
+     *
+     * @param string $locator button id, value or alt
+     *
+     * @throws ElementNotFoundException
+     */
+    public function pressButton($locator)
+    {
+        $button = $this->findButton($locator);
+
+        if (null === $button) {
+            throw new ElementNotFoundException($this->getDriver(), 'button', 'id|name|title|alt|value', $locator);
+        }
+
+        $button->press();
+    }
+
+    /**
+     * Checks whether element has a field (input, textarea, select) with specified locator.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @return Boolean
+     */
+    public function hasField($locator)
+    {
+        return null !== $this->findField($locator);
+    }
+
+    /**
+     * Finds field (input, textarea, select) with specified locator.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @return NodeElement|null
+     */
+    public function findField($locator)
+    {
+        return $this->find('named', array('field', $locator));
+    }
+
+    /**
+     * Fills in field (input, textarea, select) with specified locator.
+     *
+     * @param string $locator input id, name or label
+     * @param string $value   value
+     *
+     * @throws ElementNotFoundException
+     *
+     * @see NodeElement::setValue
+     */
+    public function fillField($locator, $value)
+    {
+        $field = $this->findField($locator);
+
+        if (null === $field) {
+            throw new ElementNotFoundException($this->getDriver(), 'form field', 'id|name|label|value|placeholder', $locator);
+        }
+
+        $field->setValue($value);
+    }
+
+    /**
+     * Checks whether element has a checkbox with specified locator, which is checked.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @return Boolean
+     *
+     * @see NodeElement::isChecked
+     */
+    public function hasCheckedField($locator)
+    {
+        $field = $this->findField($locator);
+
+        return null !== $field && $field->isChecked();
+    }
+
+    /**
+     * Checks whether element has a checkbox with specified locator, which is unchecked.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @return Boolean
+     *
+     * @see NodeElement::isChecked
+     */
+    public function hasUncheckedField($locator)
+    {
+        $field = $this->findField($locator);
+
+        return null !== $field && !$field->isChecked();
+    }
+
+    /**
+     * Checks checkbox with specified locator.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @throws ElementNotFoundException
+     */
+    public function checkField($locator)
+    {
+        $field = $this->findField($locator);
+
+        if (null === $field) {
+            throw new ElementNotFoundException($this->getDriver(), 'form field', 'id|name|label|value', $locator);
+        }
+
+        $field->check();
+    }
+
+    /**
+     * Unchecks checkbox with specified locator.
+     *
+     * @param string $locator input id, name or label
+     *
+     * @throws ElementNotFoundException
+     */
+    public function uncheckField($locator)
+    {
+        $field = $this->findField($locator);
+
+        if (null === $field) {
+            throw new ElementNotFoundException($this->getDriver(), 'form field', 'id|name|label|value', $locator);
+        }
+
+        $field->uncheck();
+    }
+
+    /**
+     * Checks whether element has a select field with specified locator.
+     *
+     * @param string $locator select id, name or label
+     *
+     * @return Boolean
+     */
+    public function hasSelect($locator)
+    {
+        return $this->has('named', array('select', $locator));
+    }
+
+    /**
+     * Selects option from select field with specified locator.
+     *
+     * @param string  $locator  input id, name or label
+     * @param string  $value    option value
+     * @param Boolean $multiple select multiple options
+     *
+     * @throws ElementNotFoundException
+     *
+     * @see NodeElement::selectOption
+     */
+    public function selectFieldOption($locator, $value, $multiple = false)
+    {
+        $field = $this->findField($locator);
+
+        if (null === $field) {
+            throw new ElementNotFoundException($this->getDriver(), 'form field', 'id|name|label|value', $locator);
+        }
+
+        $field->selectOption($value, $multiple);
+    }
+
+    /**
+     * Checks whether element has a table with specified locator.
+     *
+     * @param string $locator table id or caption
+     *
+     * @return Boolean
+     */
+    public function hasTable($locator)
+    {
+        return $this->has('named', array('table', $locator));
+    }
+
+    /**
+     * Attach file to file field with specified locator.
+     *
+     * @param string $locator input id, name or label
+     * @param string $path    path to file
+     *
+     * @throws ElementNotFoundException
+     *
+     * @see NodeElement::attachFile
+     */
+    public function attachFileToField($locator, $path)
+    {
+        $field = $this->findField($locator);
+
+        if (null === $field) {
+            throw new ElementNotFoundException($this->getDriver(), 'form field', 'id|name|label|value', $locator);
+        }
+
+        $field->attachFile($path);
+    }
+}
diff --git a/core/vendor/behat/mink/src/Exception/DriverException.php b/vendor/behat/mink/src/Exception/DriverException.php
similarity index 100%
rename from core/vendor/behat/mink/src/Exception/DriverException.php
rename to vendor/behat/mink/src/Exception/DriverException.php
diff --git a/vendor/behat/mink/src/Exception/ElementException.php b/vendor/behat/mink/src/Exception/ElementException.php
new file mode 100644
index 0000000..16ebdc9
--- /dev/null
+++ b/vendor/behat/mink/src/Exception/ElementException.php
@@ -0,0 +1,60 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Exception;
+
+@trigger_error('The class '.__NAMESPACE__.'\ElementException is deprecated as of Mink 1.6 and will be removed in 2.0', E_USER_DEPRECATED);
+
+use Behat\Mink\Element\Element;
+
+/**
+ * A standard way for elements to re-throw exceptions.
+ *
+ * @deprecated This exception class is not used anymore in Mink 1.6 and will be removed in 2.0
+ *
+ * @author Chris Worfolk <xmeltrut@gmail.com>
+ */
+class ElementException extends Exception
+{
+    private $element;
+
+    /**
+     * Initialises exception.
+     *
+     * @param Element    $element   optional message
+     * @param \Exception $exception exception
+     */
+    public function __construct(Element $element, \Exception $exception)
+    {
+        $this->element = $element;
+
+        parent::__construct(sprintf("Exception thrown by %s\n%s", $element->getXpath(), $exception->getMessage()));
+    }
+
+    /**
+     * Override default toString so we don't send a full backtrace in verbose mode.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        return $this->getMessage();
+    }
+
+    /**
+     * Get the element that caused the exception.
+     *
+     * @return Element
+     */
+    public function getElement()
+    {
+        return $this->element;
+    }
+}
diff --git a/vendor/behat/mink/src/Exception/ElementHtmlException.php b/vendor/behat/mink/src/Exception/ElementHtmlException.php
new file mode 100644
index 0000000..fb2fed6
--- /dev/null
+++ b/vendor/behat/mink/src/Exception/ElementHtmlException.php
@@ -0,0 +1,50 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Exception;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Element\Element;
+use Behat\Mink\Session;
+
+/**
+ * Exception thrown when an expectation on the HTML of an element fails.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class ElementHtmlException extends ExpectationException
+{
+    /**
+     * Element instance.
+     *
+     * @var Element
+     */
+    protected $element;
+
+    /**
+     * Initializes exception.
+     *
+     * @param string                  $message   optional message
+     * @param DriverInterface|Session $driver    driver instance
+     * @param Element                 $element   element
+     * @param \Exception              $exception expectation exception
+     */
+    public function __construct($message, $driver, Element $element, \Exception $exception = null)
+    {
+        $this->element = $element;
+
+        parent::__construct($message, $driver, $exception);
+    }
+
+    protected function getContext()
+    {
+        return $this->element->getOuterHtml();
+    }
+}
diff --git a/vendor/behat/mink/src/Exception/ElementNotFoundException.php b/vendor/behat/mink/src/Exception/ElementNotFoundException.php
new file mode 100644
index 0000000..6716ab3
--- /dev/null
+++ b/vendor/behat/mink/src/Exception/ElementNotFoundException.php
@@ -0,0 +1,54 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Exception;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Session;
+
+/**
+ * Exception thrown when an expected element is not found.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class ElementNotFoundException extends ExpectationException
+{
+    /**
+     * Initializes exception.
+     *
+     * @param DriverInterface|Session $driver   driver instance
+     * @param string                  $type     element type
+     * @param string                  $selector element selector type
+     * @param string                  $locator  element locator
+     */
+    public function __construct($driver, $type = null, $selector = null, $locator = null)
+    {
+        $message = '';
+
+        if (null !== $type) {
+            $message .= ucfirst($type);
+        } else {
+            $message .= 'Tag';
+        }
+
+        if (null !== $locator) {
+            if (null === $selector || in_array($selector, array('css', 'xpath'))) {
+                $selector = 'matching '.($selector ?: 'locator');
+            } else {
+                $selector = 'with '.$selector;
+            }
+            $message .= ' '.$selector.' "'.$locator.'"';
+        }
+
+        $message .= ' not found.';
+
+        parent::__construct($message, $driver);
+    }
+}
diff --git a/core/vendor/behat/mink/src/Exception/ElementTextException.php b/vendor/behat/mink/src/Exception/ElementTextException.php
similarity index 100%
rename from core/vendor/behat/mink/src/Exception/ElementTextException.php
rename to vendor/behat/mink/src/Exception/ElementTextException.php
diff --git a/core/vendor/behat/mink/src/Exception/Exception.php b/vendor/behat/mink/src/Exception/Exception.php
similarity index 100%
rename from core/vendor/behat/mink/src/Exception/Exception.php
rename to vendor/behat/mink/src/Exception/Exception.php
diff --git a/vendor/behat/mink/src/Exception/ExpectationException.php b/vendor/behat/mink/src/Exception/ExpectationException.php
new file mode 100644
index 0000000..35f7150
--- /dev/null
+++ b/vendor/behat/mink/src/Exception/ExpectationException.php
@@ -0,0 +1,175 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Exception;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Session;
+
+/**
+ * Exception thrown for failed expectations.
+ *
+ * Some specialized child classes are available to customize the error rendering.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class ExpectationException extends Exception
+{
+    private $session;
+    private $driver;
+
+    /**
+     * Initializes exception.
+     *
+     * @param string                  $message   optional message
+     * @param DriverInterface|Session $driver    driver instance (or session for BC)
+     * @param \Exception|null         $exception expectation exception
+     */
+    public function __construct($message, $driver, \Exception $exception = null)
+    {
+        if ($driver instanceof Session) {
+            @trigger_error('Passing a Session object to the ExpectationException constructor is deprecated as of Mink 1.7. Pass the driver instead.', E_USER_DEPRECATED);
+
+            $this->session = $driver;
+            $this->driver = $driver->getDriver();
+        } elseif (!$driver instanceof DriverInterface) {
+            // Trigger an exception as we cannot typehint a disjunction
+            throw new \InvalidArgumentException('The ExpectationException constructor expects a DriverInterface or a Session.');
+        } else {
+            $this->driver = $driver;
+        }
+
+        if (!$message && null !== $exception) {
+            $message = $exception->getMessage();
+        }
+
+        parent::__construct($message, 0, $exception);
+    }
+
+    /**
+     * Returns exception message with additional context info.
+     *
+     * @return string
+     */
+    public function __toString()
+    {
+        try {
+            $pageText = $this->pipeString($this->trimString($this->getContext())."\n");
+            $string = sprintf("%s\n\n%s%s", $this->getMessage(), $this->getResponseInfo(), $pageText);
+        } catch (\Exception $e) {
+            return $this->getMessage();
+        }
+
+        return $string;
+    }
+
+    /**
+     * Gets the context rendered for this exception.
+     *
+     * @return string
+     */
+    protected function getContext()
+    {
+        return $this->trimBody($this->driver->getContent());
+    }
+
+    /**
+     * Returns driver.
+     *
+     * @return DriverInterface
+     */
+    protected function getDriver()
+    {
+        return $this->driver;
+    }
+
+    /**
+     * Returns exception session.
+     *
+     * @return Session
+     *
+     * @deprecated since 1.7, to be removed in 2.0. Use getDriver and the driver API instead.
+     */
+    protected function getSession()
+    {
+        if (null === $this->session) {
+            throw new \LogicException(sprintf('The deprecated method %s cannot be used when passing a driver in the constructor', __METHOD__));
+        }
+
+        @trigger_error(sprintf('The method %s is deprecated as of Mink 1.7 and will be removed in 2.0. Use getDriver and the driver API instead.'));
+
+        return $this->session;
+    }
+
+    /**
+     * Prepends every line in a string with pipe (|).
+     *
+     * @param string $string
+     *
+     * @return string
+     */
+    protected function pipeString($string)
+    {
+        return '|  '.strtr($string, array("\n" => "\n|  "));
+    }
+
+    /**
+     * Removes response header/footer, letting only <body /> content.
+     *
+     * @param string $string response content
+     *
+     * @return string
+     */
+    protected function trimBody($string)
+    {
+        $string = preg_replace(array('/^.*<body>/s', '/<\/body>.*$/s'), array('<body>', '</body>'), $string);
+
+        return $string;
+    }
+
+    /**
+     * Trims string to specified number of chars.
+     *
+     * @param string $string response content
+     * @param int    $count  trim count
+     *
+     * @return string
+     */
+    protected function trimString($string, $count = 1000)
+    {
+        $string = trim($string);
+
+        if ($count < mb_strlen($string)) {
+            return mb_substr($string, 0, $count - 3).'...';
+        }
+
+        return $string;
+    }
+
+    /**
+     * Returns response information string.
+     *
+     * @return string
+     */
+    protected function getResponseInfo()
+    {
+        $driver = basename(str_replace('\\', '/', get_class($this->driver)));
+
+        $info = '+--[ ';
+        try {
+            $info .= 'HTTP/1.1 '.$this->driver->getStatusCode().' | ';
+        } catch (UnsupportedDriverActionException $e) {
+            // Ignore the status code when not supported
+        }
+        $info .= $this->driver->getCurrentUrl().' | '.$driver." ]\n|\n";
+
+        return $info;
+    }
+}
diff --git a/vendor/behat/mink/src/Exception/ResponseTextException.php b/vendor/behat/mink/src/Exception/ResponseTextException.php
new file mode 100644
index 0000000..515c569
--- /dev/null
+++ b/vendor/behat/mink/src/Exception/ResponseTextException.php
@@ -0,0 +1,24 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Exception;
+
+/**
+ * Exception thrown when an expectation on the response text fails.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class ResponseTextException extends ExpectationException
+{
+    protected function getContext()
+    {
+        return $this->getDriver()->getText('//html');
+    }
+}
diff --git a/core/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php b/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php
similarity index 100%
rename from core/vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php
rename to vendor/behat/mink/src/Exception/UnsupportedDriverActionException.php
diff --git a/vendor/behat/mink/src/Mink.php b/vendor/behat/mink/src/Mink.php
new file mode 100644
index 0000000..333bfbd
--- /dev/null
+++ b/vendor/behat/mink/src/Mink.php
@@ -0,0 +1,216 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink;
+
+/**
+ * Mink sessions manager.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class Mink
+{
+    private $defaultSessionName;
+
+    /**
+     * Sessions.
+     *
+     * @var Session[]
+     */
+    private $sessions = array();
+
+    /**
+     * Initializes manager.
+     *
+     * @param Session[] $sessions
+     */
+    public function __construct(array $sessions = array())
+    {
+        foreach ($sessions as $name => $session) {
+            $this->registerSession($name, $session);
+        }
+    }
+
+    /**
+     * Stops all started sessions.
+     */
+    public function __destruct()
+    {
+        $this->stopSessions();
+    }
+
+    /**
+     * Registers new session.
+     *
+     * @param string  $name
+     * @param Session $session
+     */
+    public function registerSession($name, Session $session)
+    {
+        $name = strtolower($name);
+
+        $this->sessions[$name] = $session;
+    }
+
+    /**
+     * Checks whether session with specified name is registered.
+     *
+     * @param string $name
+     *
+     * @return Boolean
+     */
+    public function hasSession($name)
+    {
+        return isset($this->sessions[strtolower($name)]);
+    }
+
+    /**
+     * Sets default session name to use.
+     *
+     * @param string $name name of the registered session
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function setDefaultSessionName($name)
+    {
+        $name = strtolower($name);
+
+        if (!isset($this->sessions[$name])) {
+            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
+        }
+
+        $this->defaultSessionName = $name;
+    }
+
+    /**
+     * Returns default session name or null if none.
+     *
+     * @return null|string
+     */
+    public function getDefaultSessionName()
+    {
+        return $this->defaultSessionName;
+    }
+
+    /**
+     * Returns registered session by it's name or active one and automatically starts it if required.
+     *
+     * @param string $name session name
+     *
+     * @return Session
+     *
+     * @throws \InvalidArgumentException If the named session is not registered
+     */
+    public function getSession($name = null)
+    {
+        $session = $this->locateSession($name);
+
+        // start session if needed
+        if (!$session->isStarted()) {
+            $session->start();
+        }
+
+        return $session;
+    }
+
+    /**
+     * Checks whether a named session (or the default session) has already been started.
+     *
+     * @param string $name session name - if null then the default session will be checked
+     *
+     * @return bool whether the session has been started
+     *
+     * @throws \InvalidArgumentException If the named session is not registered
+     */
+    public function isSessionStarted($name = null)
+    {
+        $session = $this->locateSession($name);
+
+        return $session->isStarted();
+    }
+
+    /**
+     * Returns session asserter.
+     *
+     * @param Session|string $session session object or name
+     *
+     * @return WebAssert
+     */
+    public function assertSession($session = null)
+    {
+        if (!($session instanceof Session)) {
+            $session = $this->getSession($session);
+        }
+
+        return new WebAssert($session);
+    }
+
+    /**
+     * Resets all started sessions.
+     */
+    public function resetSessions()
+    {
+        foreach ($this->sessions as $session) {
+            if ($session->isStarted()) {
+                $session->reset();
+            }
+        }
+    }
+
+    /**
+     * Restarts all started sessions.
+     */
+    public function restartSessions()
+    {
+        foreach ($this->sessions as $session) {
+            if ($session->isStarted()) {
+                $session->restart();
+            }
+        }
+    }
+
+    /**
+     * Stops all started sessions.
+     */
+    public function stopSessions()
+    {
+        foreach ($this->sessions as $session) {
+            if ($session->isStarted()) {
+                $session->stop();
+            }
+        }
+    }
+
+    /**
+     * Returns the named or default session without starting it.
+     *
+     * @param string $name session name
+     *
+     * @return Session
+     *
+     * @throws \InvalidArgumentException If the named session is not registered
+     */
+    protected function locateSession($name = null)
+    {
+        $name = strtolower($name) ?: $this->defaultSessionName;
+
+        if (null === $name) {
+            throw new \InvalidArgumentException('Specify session name to get');
+        }
+
+        if (!isset($this->sessions[$name])) {
+            throw new \InvalidArgumentException(sprintf('Session "%s" is not registered.', $name));
+        }
+
+        $session = $this->sessions[$name];
+
+        return $session;
+    }
+}
diff --git a/core/vendor/behat/mink/src/Selector/CssSelector.php b/vendor/behat/mink/src/Selector/CssSelector.php
similarity index 100%
rename from core/vendor/behat/mink/src/Selector/CssSelector.php
rename to vendor/behat/mink/src/Selector/CssSelector.php
diff --git a/core/vendor/behat/mink/src/Selector/ExactNamedSelector.php b/vendor/behat/mink/src/Selector/ExactNamedSelector.php
similarity index 100%
rename from core/vendor/behat/mink/src/Selector/ExactNamedSelector.php
rename to vendor/behat/mink/src/Selector/ExactNamedSelector.php
diff --git a/vendor/behat/mink/src/Selector/NamedSelector.php b/vendor/behat/mink/src/Selector/NamedSelector.php
new file mode 100644
index 0000000..d1936cc
--- /dev/null
+++ b/vendor/behat/mink/src/Selector/NamedSelector.php
@@ -0,0 +1,263 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Selector;
+
+use Behat\Mink\Selector\Xpath\Escaper;
+
+/**
+ * Named selectors engine. Uses registered XPath selectors to create new expressions.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class NamedSelector implements SelectorInterface
+{
+    private $replacements = array(
+        // simple replacements
+        '%lowercaseType%' => "translate(./@type, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
+        '%lowercaseRole%' => "translate(./@role, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz')",
+        '%tagTextMatch%' => 'contains(normalize-space(string(.)), %locator%)',
+        '%labelTextMatch%' => './@id = //label[%tagTextMatch%]/@for',
+        '%idMatch%' => './@id = %locator%',
+        '%valueMatch%' => 'contains(./@value, %locator%)',
+        '%idOrValueMatch%' => '(%idMatch% or %valueMatch%)',
+        '%idOrNameMatch%' => '(%idMatch% or ./@name = %locator%)',
+        '%placeholderMatch%' => './@placeholder = %locator%',
+        '%titleMatch%' => 'contains(./@title, %locator%)',
+        '%altMatch%' => 'contains(./@alt, %locator%)',
+        '%relMatch%' => 'contains(./@rel, %locator%)',
+        '%labelAttributeMatch%' => 'contains(./@label, %locator%)',
+
+        // complex replacements
+        '%inputTypeWithoutPlaceholderFilter%' => "%lowercaseType% = 'radio' or %lowercaseType% = 'checkbox' or %lowercaseType% = 'file'",
+        '%fieldFilterWithPlaceholder%' => 'self::input[not(%inputTypeWithoutPlaceholderFilter%)] | self::textarea',
+        '%fieldMatchWithPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch% or %placeholderMatch%)',
+        '%fieldMatchWithoutPlaceholder%' => '(%idOrNameMatch% or %labelTextMatch%)',
+        '%fieldFilterWithoutPlaceholder%' => 'self::input[%inputTypeWithoutPlaceholderFilter%] | self::select',
+        '%buttonTypeFilter%' => "%lowercaseType% = 'submit' or %lowercaseType% = 'image' or %lowercaseType% = 'button' or %lowercaseType% = 'reset'",
+        '%notFieldTypeFilter%' => "not(%buttonTypeFilter% or %lowercaseType% = 'hidden')",
+        '%buttonMatch%' => '%idOrNameMatch% or %valueMatch% or %titleMatch%',
+        '%linkMatch%' => '(%idMatch% or %tagTextMatch% or %titleMatch% or %relMatch%)',
+        '%imgAltMatch%' => './/img[%altMatch%]',
+    );
+
+    private $selectors = array(
+        'fieldset' => <<<XPATH
+.//fieldset
+[(%idMatch% or .//legend[%tagTextMatch%])]
+XPATH
+
+        ,'field' => <<<XPATH
+.//*
+[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//*[%fieldFilterWithPlaceholder%][%notFieldTypeFilter%]
+|
+.//*
+[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%][%fieldMatchWithoutPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//*[%fieldFilterWithoutPlaceholder%][%notFieldTypeFilter%]
+XPATH
+
+        ,'link' => <<<XPATH
+.//a
+[./@href][(%linkMatch% or %imgAltMatch%)]
+|
+.//*
+[%lowercaseRole% = 'link'][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
+XPATH
+
+        ,'button' => <<<XPATH
+.//input
+[%buttonTypeFilter%][(%buttonMatch%)]
+|
+.//input
+[%lowercaseType% = 'image'][%altMatch%]
+|
+.//button
+[(%buttonMatch% or %tagTextMatch%)]
+|
+.//*
+[%lowercaseRole% = 'button'][(%buttonMatch% or %tagTextMatch%)]
+XPATH
+
+        ,'link_or_button' => <<<XPATH
+.//a
+[./@href][(%linkMatch% or %imgAltMatch%)]
+|
+.//input
+[%buttonTypeFilter%][(%idOrValueMatch% or %titleMatch%)]
+|
+.//input
+[%lowercaseType% = 'image'][%altMatch%]
+|
+.//button
+[(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
+|
+.//*
+[(%lowercaseRole% = 'button' or %lowercaseRole% = 'link')][(%idOrValueMatch% or %titleMatch% or %tagTextMatch%)]
+XPATH
+
+        ,'content' => <<<XPATH
+./descendant-or-self::*
+[%tagTextMatch%]
+XPATH
+
+        ,'select' => <<<XPATH
+.//select
+[%fieldMatchWithoutPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//select
+XPATH
+
+        ,'checkbox' => <<<XPATH
+.//input
+[%lowercaseType% = 'checkbox'][%fieldMatchWithoutPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'checkbox']
+XPATH
+
+        ,'radio' => <<<XPATH
+.//input
+[%lowercaseType% = 'radio'][%fieldMatchWithoutPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'radio']
+XPATH
+
+        ,'file' => <<<XPATH
+.//input
+[%lowercaseType% = 'file'][%fieldMatchWithoutPlaceholder%]
+|
+.//label[%tagTextMatch%]//.//input[%lowercaseType% = 'file']
+XPATH
+
+        ,'optgroup' => <<<XPATH
+.//optgroup
+[%labelAttributeMatch%]
+XPATH
+
+        ,'option' => <<<XPATH
+.//option
+[(./@value = %locator% or %tagTextMatch%)]
+XPATH
+
+        ,'table' => <<<XPATH
+.//table
+[(%idMatch% or .//caption[%tagTextMatch%])]
+XPATH
+        ,'id' => <<<XPATH
+.//*[%idMatch%]
+XPATH
+    ,'id_or_name' => <<<XPATH
+.//*[%idOrNameMatch%]
+XPATH
+    );
+    private $xpathEscaper;
+
+    /**
+     * Creates selector instance.
+     */
+    public function __construct()
+    {
+        $this->xpathEscaper = new Escaper();
+
+        foreach ($this->replacements as $from => $to) {
+            $this->replacements[$from] = strtr($to, $this->replacements);
+        }
+
+        foreach ($this->selectors as $alias => $selector) {
+            $this->selectors[$alias] = strtr($selector, $this->replacements);
+        }
+    }
+
+    /**
+     * Registers new XPath selector with specified name.
+     *
+     * @param string $name  name for selector
+     * @param string $xpath xpath expression
+     */
+    public function registerNamedXpath($name, $xpath)
+    {
+        $this->selectors[$name] = $xpath;
+    }
+
+    /**
+     * Translates provided locator into XPath.
+     *
+     * @param string|array $locator selector name or array of (selector_name, locator)
+     *
+     * @return string
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function translateToXPath($locator)
+    {
+        if (2 < count($locator)) {
+            throw new \InvalidArgumentException('NamedSelector expects array(name, locator) as argument');
+        }
+
+        if (2 == count($locator)) {
+            $selector = $locator[0];
+            $locator = $locator[1];
+        } else {
+            $selector = (string) $locator;
+            $locator = null;
+        }
+
+        if (!isset($this->selectors[$selector])) {
+            throw new \InvalidArgumentException(sprintf(
+                'Unknown named selector provided: "%s". Expected one of (%s)',
+                $selector,
+                implode(', ', array_keys($this->selectors))
+            ));
+        }
+
+        $xpath = $this->selectors[$selector];
+
+        if (null !== $locator) {
+            $xpath = strtr($xpath, array('%locator%' => $this->escapeLocator($locator)));
+        }
+
+        return $xpath;
+    }
+
+    /**
+     * Registers a replacement in the list of replacements.
+     *
+     * This method must be called in the constructor before calling the parent constructor.
+     *
+     * @param string $from
+     * @param string $to
+     */
+    protected function registerReplacement($from, $to)
+    {
+        $this->replacements[$from] = $to;
+    }
+
+    private function escapeLocator($locator)
+    {
+        // If the locator looks like an escaped one, don't escape it again for BC reasons.
+        if (
+            preg_match('/^\'[^\']*+\'$/', $locator)
+            || (false !== strpos($locator, '\'') && preg_match('/^"[^"]*+"$/', $locator))
+            || ((8 < $length = strlen($locator)) && 'concat(' === substr($locator, 0, 7) && ')' === $locator[$length - 1])
+        ) {
+            @trigger_error(
+                'Passing an escaped locator to the named selector is deprecated as of 1.7 and will be removed in 2.0.'
+                .' Pass the raw value instead.',
+                E_USER_DEPRECATED
+            );
+
+            return $locator;
+        }
+
+        return $this->xpathEscaper->escapeLiteral($locator);
+    }
+}
diff --git a/core/vendor/behat/mink/src/Selector/PartialNamedSelector.php b/vendor/behat/mink/src/Selector/PartialNamedSelector.php
similarity index 100%
rename from core/vendor/behat/mink/src/Selector/PartialNamedSelector.php
rename to vendor/behat/mink/src/Selector/PartialNamedSelector.php
diff --git a/core/vendor/behat/mink/src/Selector/SelectorInterface.php b/vendor/behat/mink/src/Selector/SelectorInterface.php
similarity index 100%
rename from core/vendor/behat/mink/src/Selector/SelectorInterface.php
rename to vendor/behat/mink/src/Selector/SelectorInterface.php
diff --git a/vendor/behat/mink/src/Selector/SelectorsHandler.php b/vendor/behat/mink/src/Selector/SelectorsHandler.php
new file mode 100644
index 0000000..09b947c
--- /dev/null
+++ b/vendor/behat/mink/src/Selector/SelectorsHandler.php
@@ -0,0 +1,135 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Selector;
+
+use Behat\Mink\Selector\Xpath\Escaper;
+
+/**
+ * Selectors handler.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class SelectorsHandler
+{
+    private $selectors;
+    private $escaper;
+
+    /**
+     * Initializes selectors handler.
+     *
+     * @param SelectorInterface[] $selectors default selectors to register
+     */
+    public function __construct(array $selectors = array())
+    {
+        $this->escaper = new Escaper();
+
+        $this->registerSelector('named_partial', new PartialNamedSelector());
+        $this->registerSelector('named_exact', new ExactNamedSelector());
+        $this->registerSelector('css', new CssSelector());
+
+        foreach ($selectors as $name => $selector) {
+            $this->registerSelector($name, $selector);
+        }
+    }
+
+    /**
+     * Registers new selector engine with specified name.
+     *
+     * @param string            $name     selector engine name
+     * @param SelectorInterface $selector selector engine instance
+     */
+    public function registerSelector($name, SelectorInterface $selector)
+    {
+        $this->selectors[$name] = $selector;
+    }
+
+    /**
+     * Checks whether selector with specified name is registered on handler.
+     *
+     * @param string $name selector engine name
+     *
+     * @return Boolean
+     */
+    public function isSelectorRegistered($name)
+    {
+        return isset($this->selectors[$name]);
+    }
+
+    /**
+     * Returns selector engine with specified name.
+     *
+     * @param string $name selector engine name
+     *
+     * @return SelectorInterface
+     *
+     * @throws \InvalidArgumentException
+     */
+    public function getSelector($name)
+    {
+        if ('named' === $name) {
+            @trigger_error(
+                'Using the "named" selector directly from the handler is deprecated as of 1.6 and will be removed in 2.0.'
+                .' Use the "named_partial" or use the "named" selector through the Element API instead.',
+                E_USER_DEPRECATED
+            );
+            $name = 'named_partial';
+        }
+
+        if (!$this->isSelectorRegistered($name)) {
+            throw new \InvalidArgumentException("Selector \"$name\" is not registered.");
+        }
+
+        return $this->selectors[$name];
+    }
+
+    /**
+     * Translates selector with specified name to XPath.
+     *
+     * @param string       $selector selector engine name (registered)
+     * @param string|array $locator  selector locator (an array or a string depending of the selector being used)
+     *
+     * @return string
+     */
+    public function selectorToXpath($selector, $locator)
+    {
+        if ('xpath' === $selector) {
+            if (!is_string($locator)) {
+                throw new \InvalidArgumentException('The xpath selector expects to get a string as locator');
+            }
+
+            return $locator;
+        }
+
+        return $this->getSelector($selector)->translateToXPath($locator);
+    }
+
+    /**
+     * Translates string to XPath literal.
+     *
+     * @deprecated since Mink 1.7. Use \Behat\Mink\Selector\Xpath\Escaper::escapeLiteral when building Xpath
+     *             or pass the unescaped value when using the named selector.
+     *
+     * @param string $s
+     *
+     * @return string
+     */
+    public function xpathLiteral($s)
+    {
+        @trigger_error(
+            'The '.__METHOD__.' method is deprecated as of 1.7 and will be removed in 2.0.'
+            .' Use \Behat\Mink\Selector\Xpath\Escaper::escapeLiteral instead when building Xpath'
+            .' or pass the unescaped value when using the named selector.',
+            E_USER_DEPRECATED
+        );
+
+        return $this->escaper->escapeLiteral($s);
+    }
+}
diff --git a/vendor/behat/mink/src/Selector/Xpath/Escaper.php b/vendor/behat/mink/src/Selector/Xpath/Escaper.php
new file mode 100644
index 0000000..c3aa7a3
--- /dev/null
+++ b/vendor/behat/mink/src/Selector/Xpath/Escaper.php
@@ -0,0 +1,52 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink\Selector\Xpath;
+
+/**
+ * XPath escaper.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class Escaper
+{
+    /**
+     * Escapes the string as a XPath literal.
+     *
+     * @param string $s
+     *
+     * @return string
+     */
+    public function escapeLiteral($s)
+    {
+        if (false === strpos($s, "'")) {
+            return sprintf("'%s'", $s);
+        }
+
+        if (false === strpos($s, '"')) {
+            return sprintf('"%s"', $s);
+        }
+
+        $string = $s;
+        $parts = array();
+        while (true) {
+            if (false !== $pos = strpos($string, "'")) {
+                $parts[] = sprintf("'%s'", substr($string, 0, $pos));
+                $parts[] = "\"'\"";
+                $string = substr($string, $pos + 1);
+            } else {
+                $parts[] = "'$string'";
+                break;
+            }
+        }
+
+        return sprintf('concat(%s)', implode($parts, ','));
+    }
+}
diff --git a/core/vendor/behat/mink/src/Selector/Xpath/Manipulator.php b/vendor/behat/mink/src/Selector/Xpath/Manipulator.php
similarity index 100%
rename from core/vendor/behat/mink/src/Selector/Xpath/Manipulator.php
rename to vendor/behat/mink/src/Selector/Xpath/Manipulator.php
diff --git a/vendor/behat/mink/src/Session.php b/vendor/behat/mink/src/Session.php
new file mode 100644
index 0000000..c8815f9
--- /dev/null
+++ b/vendor/behat/mink/src/Session.php
@@ -0,0 +1,373 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Selector\SelectorsHandler;
+use Behat\Mink\Element\DocumentElement;
+
+/**
+ * Mink session.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class Session
+{
+    private $driver;
+    private $page;
+    private $selectorsHandler;
+
+    /**
+     * Initializes session.
+     *
+     * @param DriverInterface  $driver
+     * @param SelectorsHandler $selectorsHandler
+     */
+    public function __construct(DriverInterface $driver, SelectorsHandler $selectorsHandler = null)
+    {
+        $driver->setSession($this);
+
+        if (null === $selectorsHandler) {
+            $selectorsHandler = new SelectorsHandler();
+        }
+
+        $this->driver = $driver;
+        $this->selectorsHandler = $selectorsHandler;
+        $this->page = new DocumentElement($this);
+    }
+
+    /**
+     * Checks whether session (driver) was started.
+     *
+     * @return Boolean
+     */
+    public function isStarted()
+    {
+        return $this->driver->isStarted();
+    }
+
+    /**
+     * Starts session driver.
+     *
+     * Calling any action before visiting a page is an undefined behavior.
+     * The only supported method calls on a fresh driver are
+     * - visit()
+     * - setRequestHeader()
+     * - setBasicAuth()
+     * - reset()
+     * - stop()
+     */
+    public function start()
+    {
+        $this->driver->start();
+    }
+
+    /**
+     * Stops session driver.
+     */
+    public function stop()
+    {
+        $this->driver->stop();
+    }
+
+    /**
+     * Restart session driver.
+     */
+    public function restart()
+    {
+        $this->driver->stop();
+        $this->driver->start();
+    }
+
+    /**
+     * Reset session driver state.
+     *
+     * Calling any action before visiting a page is an undefined behavior.
+     * The only supported method calls on a fresh driver are
+     * - visit()
+     * - setRequestHeader()
+     * - setBasicAuth()
+     * - reset()
+     * - stop()
+     */
+    public function reset()
+    {
+        $this->driver->reset();
+    }
+
+    /**
+     * Returns session driver.
+     *
+     * @return DriverInterface
+     */
+    public function getDriver()
+    {
+        return $this->driver;
+    }
+
+    /**
+     * Returns page element.
+     *
+     * @return DocumentElement
+     */
+    public function getPage()
+    {
+        return $this->page;
+    }
+
+    /**
+     * Returns selectors handler.
+     *
+     * @return SelectorsHandler
+     */
+    public function getSelectorsHandler()
+    {
+        return $this->selectorsHandler;
+    }
+
+    /**
+     * Visit specified URL.
+     *
+     * @param string $url url of the page
+     */
+    public function visit($url)
+    {
+        $this->driver->visit($url);
+    }
+
+    /**
+     * Sets HTTP Basic authentication parameters.
+     *
+     * @param string|Boolean $user     user name or false to disable authentication
+     * @param string         $password password
+     */
+    public function setBasicAuth($user, $password = '')
+    {
+        $this->driver->setBasicAuth($user, $password);
+    }
+
+    /**
+     * Sets specific request header.
+     *
+     * @param string $name
+     * @param string $value
+     */
+    public function setRequestHeader($name, $value)
+    {
+        $this->driver->setRequestHeader($name, $value);
+    }
+
+    /**
+     * Returns all response headers.
+     *
+     * @return array
+     */
+    public function getResponseHeaders()
+    {
+        return $this->driver->getResponseHeaders();
+    }
+
+    /**
+     * Returns specific response header.
+     *
+     * @param string $name
+     *
+     * @return string|null
+     */
+    public function getResponseHeader($name)
+    {
+        $headers = $this->driver->getResponseHeaders();
+
+        $name = strtolower($name);
+        $headers = array_change_key_case($headers, CASE_LOWER);
+
+        if (!isset($headers[$name])) {
+            return null;
+        }
+
+        return is_array($headers[$name]) ? $headers[$name][0] : $headers[$name];
+    }
+
+    /**
+     * Sets cookie.
+     *
+     * @param string $name
+     * @param string $value
+     */
+    public function setCookie($name, $value = null)
+    {
+        $this->driver->setCookie($name, $value);
+    }
+
+    /**
+     * Returns cookie by name.
+     *
+     * @param string $name
+     *
+     * @return string|null
+     */
+    public function getCookie($name)
+    {
+        return $this->driver->getCookie($name);
+    }
+
+    /**
+     * Returns response status code.
+     *
+     * @return int
+     */
+    public function getStatusCode()
+    {
+        return $this->driver->getStatusCode();
+    }
+
+    /**
+     * Returns current URL address.
+     *
+     * @return string
+     */
+    public function getCurrentUrl()
+    {
+        return $this->driver->getCurrentUrl();
+    }
+
+    /**
+     * Capture a screenshot of the current window.
+     *
+     * @return string screenshot of MIME type image/* depending
+     *                on driver (e.g., image/png, image/jpeg)
+     */
+    public function getScreenshot()
+    {
+        return $this->driver->getScreenshot();
+    }
+
+    /**
+     * Return the names of all open windows.
+     *
+     * @return array Array of all open window's names.
+     */
+    public function getWindowNames()
+    {
+        return $this->driver->getWindowNames();
+    }
+
+    /**
+     * Return the name of the currently active window.
+     *
+     * @return string The name of the current window.
+     */
+    public function getWindowName()
+    {
+        return $this->driver->getWindowName();
+    }
+
+    /**
+     * Reloads current session page.
+     */
+    public function reload()
+    {
+        $this->driver->reload();
+    }
+
+    /**
+     * Moves backward 1 page in history.
+     */
+    public function back()
+    {
+        $this->driver->back();
+    }
+
+    /**
+     * Moves forward 1 page in history.
+     */
+    public function forward()
+    {
+        $this->driver->forward();
+    }
+
+    /**
+     * Switches to specific browser window.
+     *
+     * @param string $name window name (null for switching back to main window)
+     */
+    public function switchToWindow($name = null)
+    {
+        $this->driver->switchToWindow($name);
+    }
+
+    /**
+     * Switches to specific iFrame.
+     *
+     * @param string $name iframe name (null for switching back)
+     */
+    public function switchToIFrame($name = null)
+    {
+        $this->driver->switchToIFrame($name);
+    }
+
+    /**
+     * Execute JS in browser.
+     *
+     * @param string $script javascript
+     */
+    public function executeScript($script)
+    {
+        $this->driver->executeScript($script);
+    }
+
+    /**
+     * Execute JS in browser and return it's response.
+     *
+     * @param string $script javascript
+     *
+     * @return string
+     */
+    public function evaluateScript($script)
+    {
+        return $this->driver->evaluateScript($script);
+    }
+
+    /**
+     * Waits some time or until JS condition turns true.
+     *
+     * @param int    $time      time in milliseconds
+     * @param string $condition JS condition
+     *
+     * @return bool
+     */
+    public function wait($time, $condition = 'false')
+    {
+        return $this->driver->wait($time, $condition);
+    }
+
+    /**
+     * Set the dimensions of the window.
+     *
+     * @param int    $width  set the window width, measured in pixels
+     * @param int    $height set the window height, measured in pixels
+     * @param string $name   window name (null for the main window)
+     */
+    public function resizeWindow($width, $height, $name = null)
+    {
+        $this->driver->resizeWindow($width, $height, $name);
+    }
+
+    /**
+     * Maximize the window if it is not maximized already.
+     *
+     * @param string $name window name (null for the main window)
+     */
+    public function maximizeWindow($name = null)
+    {
+        $this->driver->maximizeWindow($name);
+    }
+}
diff --git a/vendor/behat/mink/src/WebAssert.php b/vendor/behat/mink/src/WebAssert.php
new file mode 100644
index 0000000..0f0e6fa
--- /dev/null
+++ b/vendor/behat/mink/src/WebAssert.php
@@ -0,0 +1,849 @@
+<?php
+
+/*
+ * This file is part of the Mink package.
+ * (c) Konstantin Kudryashov <ever.zet@gmail.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Behat\Mink;
+
+use Behat\Mink\Element\Element;
+use Behat\Mink\Element\ElementInterface;
+use Behat\Mink\Element\NodeElement;
+use Behat\Mink\Element\TraversableElement;
+use Behat\Mink\Exception\ElementNotFoundException;
+use Behat\Mink\Exception\ExpectationException;
+use Behat\Mink\Exception\ResponseTextException;
+use Behat\Mink\Exception\ElementHtmlException;
+use Behat\Mink\Exception\ElementTextException;
+
+/**
+ * Mink web assertions tool.
+ *
+ * @author Konstantin Kudryashov <ever.zet@gmail.com>
+ */
+class WebAssert
+{
+    protected $session;
+
+    /**
+     * Initializes assertion engine.
+     *
+     * @param Session $session
+     */
+    public function __construct(Session $session)
+    {
+        $this->session = $session;
+    }
+
+    /**
+     * Checks that current session address is equals to provided one.
+     *
+     * @param string $page
+     *
+     * @throws ExpectationException
+     */
+    public function addressEquals($page)
+    {
+        $expected = $this->cleanUrl($page);
+        $actual = $this->getCurrentUrlPath();
+
+        $this->assert($actual === $expected, sprintf('Current page is "%s", but "%s" expected.', $actual, $expected));
+    }
+
+    /**
+     * Checks that current session address is not equals to provided one.
+     *
+     * @param string $page
+     *
+     * @throws ExpectationException
+     */
+    public function addressNotEquals($page)
+    {
+        $expected = $this->cleanUrl($page);
+        $actual = $this->getCurrentUrlPath();
+
+        $this->assert($actual !== $expected, sprintf('Current page is "%s", but should not be.', $actual));
+    }
+
+    /**
+     * Checks that current session address matches regex.
+     *
+     * @param string $regex
+     *
+     * @throws ExpectationException
+     */
+    public function addressMatches($regex)
+    {
+        $actual = $this->getCurrentUrlPath();
+        $message = sprintf('Current page "%s" does not match the regex "%s".', $actual, $regex);
+
+        $this->assert((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that specified cookie exists and its value equals to a given one.
+     *
+     * @param string $name  cookie name
+     * @param string $value cookie value
+     *
+     * @throws ExpectationException
+     */
+    public function cookieEquals($name, $value)
+    {
+        $this->cookieExists($name);
+
+        $actualValue = $this->session->getCookie($name);
+        $message = sprintf('Cookie "%s" value is "%s", but should be "%s".', $name, $actualValue, $value);
+
+        $this->assert($actualValue == $value, $message);
+    }
+
+    /**
+     * Checks that specified cookie exists.
+     *
+     * @param string $name cookie name
+     *
+     * @throws ExpectationException
+     */
+    public function cookieExists($name)
+    {
+        $message = sprintf('Cookie "%s" is not set, but should be.', $name);
+        $this->assert($this->session->getCookie($name) !== null, $message);
+    }
+
+    /**
+     * Checks that current response code equals to provided one.
+     *
+     * @param int $code
+     *
+     * @throws ExpectationException
+     */
+    public function statusCodeEquals($code)
+    {
+        $actual = $this->session->getStatusCode();
+        $message = sprintf('Current response status code is %d, but %d expected.', $actual, $code);
+
+        $this->assert(intval($code) === intval($actual), $message);
+    }
+
+    /**
+     * Checks that current response code not equals to provided one.
+     *
+     * @param int $code
+     *
+     * @throws ExpectationException
+     */
+    public function statusCodeNotEquals($code)
+    {
+        $actual = $this->session->getStatusCode();
+        $message = sprintf('Current response status code is %d, but should not be.', $actual);
+
+        $this->assert(intval($code) !== intval($actual), $message);
+    }
+
+    /**
+     * Checks that current response header equals value.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderEquals($name, $value)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf('Current response header "%s" is "%s", but "%s" expected.', $name, $actual, $value);
+
+        $this->assert($value === $actual, $message);
+    }
+
+    /**
+     * Checks that current response header does not equal value.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderNotEquals($name, $value)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf('Current response header "%s" is "%s", but should not be.', $name, $actual, $value);
+
+        $this->assert($value !== $actual, $message);
+    }
+
+    /**
+     * Checks that current response header contains value.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderContains($name, $value)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf('The text "%s" was not found anywhere in the "%s" response header.', $value, $name);
+
+        $this->assert(false !== stripos($actual, $value), $message);
+    }
+
+    /**
+     * Checks that current response header does not contain value.
+     *
+     * @param string $name
+     * @param string $value
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderNotContains($name, $value)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf('The text "%s" was found in the "%s" response header, but it should not.', $value, $name);
+
+        $this->assert(false === stripos($actual, $value), $message);
+    }
+
+    /**
+     * Checks that current response header matches regex.
+     *
+     * @param string $name
+     * @param string $regex
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderMatches($name, $regex)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf('The pattern "%s" was not found anywhere in the "%s" response header.', $regex, $name);
+
+        $this->assert((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that current response header does not match regex.
+     *
+     * @param string $name
+     * @param string $regex
+     *
+     * @throws ExpectationException
+     */
+    public function responseHeaderNotMatches($name, $regex)
+    {
+        $actual = $this->session->getResponseHeader($name);
+        $message = sprintf(
+            'The pattern "%s" was found in the text of the "%s" response header, but it should not.',
+            $regex,
+            $name
+        );
+
+        $this->assert(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that current page contains text.
+     *
+     * @param string $text
+     *
+     * @throws ResponseTextException
+     */
+    public function pageTextContains($text)
+    {
+        $actual = $this->session->getPage()->getText();
+        $actual = preg_replace('/\s+/u', ' ', $actual);
+        $regex = '/'.preg_quote($text, '/').'/ui';
+        $message = sprintf('The text "%s" was not found anywhere in the text of the current page.', $text);
+
+        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that current page does not contains text.
+     *
+     * @param string $text
+     *
+     * @throws ResponseTextException
+     */
+    public function pageTextNotContains($text)
+    {
+        $actual = $this->session->getPage()->getText();
+        $actual = preg_replace('/\s+/u', ' ', $actual);
+        $regex = '/'.preg_quote($text, '/').'/ui';
+        $message = sprintf('The text "%s" appears in the text of this page, but it should not.', $text);
+
+        $this->assertResponseText(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that current page text matches regex.
+     *
+     * @param string $regex
+     *
+     * @throws ResponseTextException
+     */
+    public function pageTextMatches($regex)
+    {
+        $actual = $this->session->getPage()->getText();
+        $message = sprintf('The pattern %s was not found anywhere in the text of the current page.', $regex);
+
+        $this->assertResponseText((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that current page text does not matches regex.
+     *
+     * @param string $regex
+     *
+     * @throws ResponseTextException
+     */
+    public function pageTextNotMatches($regex)
+    {
+        $actual = $this->session->getPage()->getText();
+        $message = sprintf('The pattern %s was found in the text of the current page, but it should not.', $regex);
+
+        $this->assertResponseText(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that page HTML (response content) contains text.
+     *
+     * @param string $text
+     *
+     * @throws ExpectationException
+     */
+    public function responseContains($text)
+    {
+        $actual = $this->session->getPage()->getContent();
+        $regex = '/'.preg_quote($text, '/').'/ui';
+        $message = sprintf('The string "%s" was not found anywhere in the HTML response of the current page.', $text);
+
+        $this->assert((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that page HTML (response content) does not contains text.
+     *
+     * @param string $text
+     *
+     * @throws ExpectationException
+     */
+    public function responseNotContains($text)
+    {
+        $actual = $this->session->getPage()->getContent();
+        $regex = '/'.preg_quote($text, '/').'/ui';
+        $message = sprintf('The string "%s" appears in the HTML response of this page, but it should not.', $text);
+
+        $this->assert(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that page HTML (response content) matches regex.
+     *
+     * @param string $regex
+     *
+     * @throws ExpectationException
+     */
+    public function responseMatches($regex)
+    {
+        $actual = $this->session->getPage()->getContent();
+        $message = sprintf('The pattern %s was not found anywhere in the HTML response of the page.', $regex);
+
+        $this->assert((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that page HTML (response content) does not matches regex.
+     *
+     * @param $regex
+     *
+     * @throws ExpectationException
+     */
+    public function responseNotMatches($regex)
+    {
+        $actual = $this->session->getPage()->getContent();
+        $message = sprintf('The pattern %s was found in the HTML response of the page, but it should not.', $regex);
+
+        $this->assert(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that there is specified number of specific elements on the page.
+     *
+     * @param string           $selectorType element selector type (css, xpath)
+     * @param string|array     $selector     element selector
+     * @param int              $count        expected count
+     * @param ElementInterface $container    document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function elementsCount($selectorType, $selector, $count, ElementInterface $container = null)
+    {
+        $container = $container ?: $this->session->getPage();
+        $nodes = $container->findAll($selectorType, $selector);
+
+        $message = sprintf(
+            '%d %s found on the page, but should be %d.',
+            count($nodes),
+            $this->getMatchingElementRepresentation($selectorType, $selector, count($nodes) !== 1),
+            $count
+        );
+
+        $this->assert(intval($count) === count($nodes), $message);
+    }
+
+    /**
+     * Checks that specific element exists on the current page.
+     *
+     * @param string           $selectorType element selector type (css, xpath)
+     * @param string|array     $selector     element selector
+     * @param ElementInterface $container    document to check against
+     *
+     * @return NodeElement
+     *
+     * @throws ElementNotFoundException
+     */
+    public function elementExists($selectorType, $selector, ElementInterface $container = null)
+    {
+        $container = $container ?: $this->session->getPage();
+        $node = $container->find($selectorType, $selector);
+
+        if (null === $node) {
+            if (is_array($selector)) {
+                $selector = implode(' ', $selector);
+            }
+
+            throw new ElementNotFoundException($this->session->getDriver(), 'element', $selectorType, $selector);
+        }
+
+        return $node;
+    }
+
+    /**
+     * Checks that specific element does not exists on the current page.
+     *
+     * @param string           $selectorType element selector type (css, xpath)
+     * @param string|array     $selector     element selector
+     * @param ElementInterface $container    document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function elementNotExists($selectorType, $selector, ElementInterface $container = null)
+    {
+        $container = $container ?: $this->session->getPage();
+        $node = $container->find($selectorType, $selector);
+
+        $message = sprintf(
+            'An %s appears on this page, but it should not.',
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assert(null === $node, $message);
+    }
+
+    /**
+     * Checks that specific element contains text.
+     *
+     * @param string       $selectorType element selector type (css, xpath)
+     * @param string|array $selector     element selector
+     * @param string       $text         expected text
+     *
+     * @throws ElementTextException
+     */
+    public function elementTextContains($selectorType, $selector, $text)
+    {
+        $element = $this->elementExists($selectorType, $selector);
+        $actual = $element->getText();
+        $regex = '/'.preg_quote($text, '/').'/ui';
+
+        $message = sprintf(
+            'The text "%s" was not found in the text of the %s.',
+            $text,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElementText((bool) preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that specific element does not contains text.
+     *
+     * @param string       $selectorType element selector type (css, xpath)
+     * @param string|array $selector     element selector
+     * @param string       $text         expected text
+     *
+     * @throws ElementTextException
+     */
+    public function elementTextNotContains($selectorType, $selector, $text)
+    {
+        $element = $this->elementExists($selectorType, $selector);
+        $actual = $element->getText();
+        $regex = '/'.preg_quote($text, '/').'/ui';
+
+        $message = sprintf(
+            'The text "%s" appears in the text of the %s, but it should not.',
+            $text,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElementText(!preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that specific element contains HTML.
+     *
+     * @param string       $selectorType element selector type (css, xpath)
+     * @param string|array $selector     element selector
+     * @param string       $html         expected text
+     *
+     * @throws ElementHtmlException
+     */
+    public function elementContains($selectorType, $selector, $html)
+    {
+        $element = $this->elementExists($selectorType, $selector);
+        $actual = $element->getHtml();
+        $regex = '/'.preg_quote($html, '/').'/ui';
+
+        $message = sprintf(
+            'The string "%s" was not found in the HTML of the %s.',
+            $html,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that specific element does not contains HTML.
+     *
+     * @param string       $selectorType element selector type (css, xpath)
+     * @param string|array $selector     element selector
+     * @param string       $html         expected text
+     *
+     * @throws ElementHtmlException
+     */
+    public function elementNotContains($selectorType, $selector, $html)
+    {
+        $element = $this->elementExists($selectorType, $selector);
+        $actual = $element->getHtml();
+        $regex = '/'.preg_quote($html, '/').'/ui';
+
+        $message = sprintf(
+            'The string "%s" appears in the HTML of the %s, but it should not.',
+            $html,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElement(!preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that an attribute exists in an element.
+     *
+     * @param string       $selectorType
+     * @param string|array $selector
+     * @param string       $attribute
+     *
+     * @return NodeElement
+     *
+     * @throws ElementHtmlException
+     */
+    public function elementAttributeExists($selectorType, $selector, $attribute)
+    {
+        $element = $this->elementExists($selectorType, $selector);
+
+        $message = sprintf(
+            'The attribute "%s" was not found in the %s.',
+            $attribute,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElement($element->hasAttribute($attribute), $message, $element);
+
+        return $element;
+    }
+
+    /**
+     * Checks that an attribute of a specific elements contains text.
+     *
+     * @param string       $selectorType
+     * @param string|array $selector
+     * @param string       $attribute
+     * @param string       $text
+     *
+     * @throws ElementHtmlException
+     */
+    public function elementAttributeContains($selectorType, $selector, $attribute, $text)
+    {
+        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
+        $actual = $element->getAttribute($attribute);
+        $regex = '/'.preg_quote($text, '/').'/ui';
+
+        $message = sprintf(
+            'The text "%s" was not found in the attribute "%s" of the %s.',
+            $text,
+            $attribute,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElement((bool) preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that an attribute of a specific elements does not contain text.
+     *
+     * @param string       $selectorType
+     * @param string|array $selector
+     * @param string       $attribute
+     * @param string       $text
+     *
+     * @throws ElementHtmlException
+     */
+    public function elementAttributeNotContains($selectorType, $selector, $attribute, $text)
+    {
+        $element = $this->elementAttributeExists($selectorType, $selector, $attribute);
+        $actual = $element->getAttribute($attribute);
+        $regex = '/'.preg_quote($text, '/').'/ui';
+
+        $message = sprintf(
+            'The text "%s" was found in the attribute "%s" of the %s.',
+            $text,
+            $attribute,
+            $this->getMatchingElementRepresentation($selectorType, $selector)
+        );
+
+        $this->assertElement(!preg_match($regex, $actual), $message, $element);
+    }
+
+    /**
+     * Checks that specific field exists on the current page.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param TraversableElement $container document to check against
+     *
+     * @return NodeElement
+     *
+     * @throws ElementNotFoundException
+     */
+    public function fieldExists($field, TraversableElement $container = null)
+    {
+        $container = $container ?: $this->session->getPage();
+        $node = $container->findField($field);
+
+        if (null === $node) {
+            throw new ElementNotFoundException($this->session->getDriver(), 'form field', 'id|name|label|value', $field);
+        }
+
+        return $node;
+    }
+
+    /**
+     * Checks that specific field does not exists on the current page.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param TraversableElement $container document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function fieldNotExists($field, TraversableElement $container = null)
+    {
+        $container = $container ?: $this->session->getPage();
+        $node = $container->findField($field);
+
+        $this->assert(null === $node, sprintf('A field "%s" appears on this page, but it should not.', $field));
+    }
+
+    /**
+     * Checks that specific field have provided value.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param string             $value     field value
+     * @param TraversableElement $container document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function fieldValueEquals($field, $value, TraversableElement $container = null)
+    {
+        $node = $this->fieldExists($field, $container);
+        $actual = $node->getValue();
+        $regex = '/^'.preg_quote($value, '/').'$/ui';
+
+        $message = sprintf('The field "%s" value is "%s", but "%s" expected.', $field, $actual, $value);
+
+        $this->assert((bool) preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that specific field have provided value.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param string             $value     field value
+     * @param TraversableElement $container document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function fieldValueNotEquals($field, $value, TraversableElement $container = null)
+    {
+        $node = $this->fieldExists($field, $container);
+        $actual = $node->getValue();
+        $regex = '/^'.preg_quote($value, '/').'$/ui';
+
+        $message = sprintf('The field "%s" value is "%s", but it should not be.', $field, $actual);
+
+        $this->assert(!preg_match($regex, $actual), $message);
+    }
+
+    /**
+     * Checks that specific checkbox is checked.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param TraversableElement $container document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function checkboxChecked($field, TraversableElement $container = null)
+    {
+        $node = $this->fieldExists($field, $container);
+
+        $this->assert($node->isChecked(), sprintf('Checkbox "%s" is not checked, but it should be.', $field));
+    }
+
+    /**
+     * Checks that specific checkbox is unchecked.
+     *
+     * @param string             $field     field id|name|label|value
+     * @param TraversableElement $container document to check against
+     *
+     * @throws ExpectationException
+     */
+    public function checkboxNotChecked($field, TraversableElement $container = null)
+    {
+        $node = $this->fieldExists($field, $container);
+
+        $this->assert(!$node->isChecked(), sprintf('Checkbox "%s" is checked, but it should not be.', $field));
+    }
+
+    /**
+     * Gets current url of the page.
+     *
+     * @return string
+     */
+    protected function getCurrentUrlPath()
+    {
+        return $this->cleanUrl($this->session->getCurrentUrl());
+    }
+
+    /**
+     * Trims scriptname from the URL.
+     *
+     * @param string $url
+     *
+     * @return string
+     */
+    protected function cleanUrl($url)
+    {
+        $parts = parse_url($url);
+        $fragment = empty($parts['fragment']) ? '' : '#'.$parts['fragment'];
+        $path = empty($parts['path']) ? '/' : $parts['path'];
+
+        return preg_replace('/^\/[^\.\/]+\.php\//', '/', $path).$fragment;
+    }
+
+    /**
+     * Asserts a condition.
+     *
+     * @param bool   $condition
+     * @param string $message   Failure message
+     *
+     * @throws ExpectationException when the condition is not fulfilled
+     */
+    private function assert($condition, $message)
+    {
+        if ($condition) {
+            return;
+        }
+
+        throw new ExpectationException($message, $this->session->getDriver());
+    }
+
+    /**
+     * Asserts a condition involving the response text.
+     *
+     * @param bool   $condition
+     * @param string $message   Failure message
+     *
+     * @throws ResponseTextException when the condition is not fulfilled
+     */
+    private function assertResponseText($condition, $message)
+    {
+        if ($condition) {
+            return;
+        }
+
+        throw new ResponseTextException($message, $this->session->getDriver());
+    }
+
+    /**
+     * Asserts a condition on an element.
+     *
+     * @param bool    $condition
+     * @param string  $message   Failure message
+     * @param Element $element
+     *
+     * @throws ElementHtmlException when the condition is not fulfilled
+     */
+    private function assertElement($condition, $message, Element $element)
+    {
+        if ($condition) {
+            return;
+        }
+
+        throw new ElementHtmlException($message, $this->session->getDriver(), $element);
+    }
+
+    /**
+     * Asserts a condition involving the text of an element.
+     *
+     * @param bool    $condition
+     * @param string  $message   Failure message
+     * @param Element $element
+     *
+     * @throws ElementTextException when the condition is not fulfilled
+     */
+    private function assertElementText($condition, $message, Element $element)
+    {
+        if ($condition) {
+            return;
+        }
+
+        throw new ElementTextException($message, $this->session->getDriver(), $element);
+    }
+
+    /**
+     * @param string       $selectorType
+     * @param string|array $selector
+     * @param bool         $plural
+     *
+     * @return string
+     */
+    private function getMatchingElementRepresentation($selectorType, $selector, $plural = false)
+    {
+        $pluralization = $plural ? 's' : '';
+
+        if (in_array($selectorType, array('named', 'named_exact', 'named_partial'))
+            && is_array($selector) && 2 === count($selector)
+        ) {
+            return sprintf('%s%s matching locator "%s"', $selector[0], $pluralization, $selector[1]);
+        }
+
+        if (is_array($selector)) {
+            $selector = implode(' ', $selector);
+        }
+
+        return sprintf('element%s matching %s "%s"', $pluralization, $selectorType, $selector);
+    }
+}
diff --git a/vendor/behat/mink/tests/Driver/CoreDriverTest.php b/vendor/behat/mink/tests/Driver/CoreDriverTest.php
new file mode 100644
index 0000000..cd1fe64
--- /dev/null
+++ b/vendor/behat/mink/tests/Driver/CoreDriverTest.php
@@ -0,0 +1,110 @@
+<?php
+
+namespace Behat\Mink\Tests\Driver;
+
+use Behat\Mink\Element\NodeElement;
+
+class CoreDriverTest extends \PHPUnit_Framework_TestCase
+{
+    public function testNoExtraMethods()
+    {
+        $interfaceRef = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
+        $coreDriverRef = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
+
+        foreach ($coreDriverRef->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) {
+            $this->assertTrue(
+                $interfaceRef->hasMethod($method->getName()),
+                sprintf('CoreDriver should not implement methods which are not part of the DriverInterface but %s found', $method->getName())
+            );
+        }
+    }
+
+    public function testCreateNodeElements()
+    {
+        $driver = $this->getMockBuilder('Behat\Mink\Driver\CoreDriver')
+            ->setMethods(array('findElementXpaths'))
+            ->getMockForAbstractClass();
+
+        $session = $this->getMockBuilder('Behat\Mink\Session')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $driver->setSession($session);
+
+        $driver->expects($this->once())
+            ->method('findElementXpaths')
+            ->with('xpath')
+            ->willReturn(array('xpath1', 'xpath2'));
+
+        /** @var NodeElement[] $elements */
+        $elements = $driver->find('xpath');
+
+        $this->assertInternalType('array', $elements);
+        $this->assertCount(2, $elements);
+        $this->assertContainsOnlyInstancesOf('Behat\Mink\Element\NodeElement', $elements);
+
+        $this->assertSame('xpath1', $elements[0]->getXpath());
+        $this->assertSame('xpath2', $elements[1]->getXpath());
+    }
+
+    /**
+     * @dataProvider getDriverInterfaceMethods
+     */
+    public function testInterfaceMethods(\ReflectionMethod $method)
+    {
+        $refl = new \ReflectionClass('Behat\Mink\Driver\CoreDriver');
+
+        $this->assertFalse(
+            $refl->getMethod($method->getName())->isAbstract(),
+            sprintf('CoreDriver should implement a dummy %s method', $method->getName())
+        );
+
+        if ('setSession' === $method->getName()) {
+            return; // setSession is actually implemented, so we don't expect an exception here.
+        }
+
+        $driver = $this->getMockForAbstractClass('Behat\Mink\Driver\CoreDriver');
+
+        $this->setExpectedException('Behat\Mink\Exception\UnsupportedDriverActionException');
+        call_user_func_array(array($driver, $method->getName()), $this->getArguments($method));
+    }
+
+    public function getDriverInterfaceMethods()
+    {
+        $ref = new \ReflectionClass('Behat\Mink\Driver\DriverInterface');
+
+        return array_map(function ($method) {
+            return array($method);
+        }, $ref->getMethods());
+    }
+
+    private function getArguments(\ReflectionMethod $method)
+    {
+        $arguments = array();
+
+        foreach ($method->getParameters() as $parameter) {
+            $arguments[] = $this->getArgument($parameter);
+        }
+
+        return $arguments;
+    }
+
+    private function getArgument(\ReflectionParameter $argument)
+    {
+        if ($argument->isOptional()) {
+            return $argument->getDefaultValue();
+        }
+
+        if ($argument->allowsNull()) {
+            return null;
+        }
+
+        if ($argument->getClass()) {
+            return $this->getMockBuilder($argument->getClass()->getName())
+                ->disableOriginalConstructor()
+                ->getMock();
+        }
+
+        return null;
+    }
+}
diff --git a/vendor/behat/mink/tests/Element/DocumentElementTest.php b/vendor/behat/mink/tests/Element/DocumentElementTest.php
new file mode 100644
index 0000000..2105ab7
--- /dev/null
+++ b/vendor/behat/mink/tests/Element/DocumentElementTest.php
@@ -0,0 +1,449 @@
+<?php
+
+namespace Behat\Mink\Tests\Element;
+
+use Behat\Mink\Element\DocumentElement;
+
+class DocumentElementTest extends ElementTest
+{
+    /**
+     * Page.
+     *
+     * @var DocumentElement
+     */
+    private $document;
+
+    protected function setUp()
+    {
+        parent::setUp();
+        $this->document = new DocumentElement($this->session);
+    }
+
+    /**
+     * @group legacy
+     */
+    public function testGetSession()
+    {
+        $this->assertEquals($this->session, $this->document->getSession());
+    }
+
+    public function testFindAll()
+    {
+        $xpath = 'h3[a]';
+        $css = 'h3 > a';
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->will($this->returnValueMap(array(
+                array('//html/'.$xpath, array(2, 3, 4)),
+                array('//html/'.$css, array(1, 2)),
+            )));
+
+        $this->selectors
+            ->expects($this->exactly(2))
+            ->method('selectorToXpath')
+            ->will($this->returnValueMap(array(
+                array('xpath', $xpath, $xpath),
+                array('css', $css, $css),
+            )));
+
+        $this->assertEquals(3, count($this->document->findAll('xpath', $xpath)));
+        $this->assertEquals(2, count($this->document->findAll('css', $css)));
+    }
+
+    public function testFind()
+    {
+        $this->driver
+            ->expects($this->exactly(3))
+            ->method('find')
+            ->with('//html/h3[a]')
+            ->will($this->onConsecutiveCalls(array(2, 3, 4), array(1, 2), array()));
+
+        $xpath = 'h3[a]';
+        $css = 'h3 > a';
+
+        $this->selectors
+            ->expects($this->exactly(3))
+            ->method('selectorToXpath')
+            ->will($this->returnValueMap(array(
+                array('xpath', $xpath, $xpath),
+                array('xpath', $xpath, $xpath),
+                array('css', $css, $xpath),
+            )));
+
+        $this->assertEquals(2, $this->document->find('xpath', $xpath));
+        $this->assertEquals(1, $this->document->find('css', $css));
+        $this->assertNull($this->document->find('xpath', $xpath));
+    }
+
+    public function testFindField()
+    {
+        $this->mockNamedFinder(
+            '//field',
+            array('field1', 'field2', 'field3'),
+            array('field', 'some field')
+        );
+
+        $this->assertEquals('field1', $this->document->findField('some field'));
+        $this->assertEquals(null, $this->document->findField('some field'));
+    }
+
+    public function testFindLink()
+    {
+        $this->mockNamedFinder(
+            '//link',
+            array('link1', 'link2', 'link3'),
+            array('link', 'some link')
+        );
+
+        $this->assertEquals('link1', $this->document->findLink('some link'));
+        $this->assertEquals(null, $this->document->findLink('some link'));
+    }
+
+    public function testFindButton()
+    {
+        $this->mockNamedFinder(
+            '//button',
+            array('button1', 'button2', 'button3'),
+            array('button', 'some button')
+        );
+
+        $this->assertEquals('button1', $this->document->findButton('some button'));
+        $this->assertEquals(null, $this->document->findButton('some button'));
+    }
+
+    public function testFindById()
+    {
+        $xpath = '//*[@id=some-item-2]';
+
+        $this->mockNamedFinder($xpath, array(array('id2', 'id3'), array()), array('id', 'some-item-2'));
+
+        $this->assertEquals('id2', $this->document->findById('some-item-2'));
+        $this->assertEquals(null, $this->document->findById('some-item-2'));
+    }
+
+    public function testHasSelector()
+    {
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('//html/some xpath')
+            ->will($this->onConsecutiveCalls(array('id2', 'id3'), array()));
+
+        $this->selectors
+            ->expects($this->exactly(2))
+            ->method('selectorToXpath')
+            ->with('xpath', 'some xpath')
+            ->will($this->returnValue('some xpath'));
+
+        $this->assertTrue($this->document->has('xpath', 'some xpath'));
+        $this->assertFalse($this->document->has('xpath', 'some xpath'));
+    }
+
+    public function testHasContent()
+    {
+        $this->mockNamedFinder(
+            '//some content',
+            array('item1', 'item2'),
+            array('content', 'some content')
+        );
+
+        $this->assertTrue($this->document->hasContent('some content'));
+        $this->assertFalse($this->document->hasContent('some content'));
+    }
+
+    public function testHasLink()
+    {
+        $this->mockNamedFinder(
+            '//link',
+            array('link1', 'link2', 'link3'),
+            array('link', 'some link')
+        );
+
+        $this->assertTrue($this->document->hasLink('some link'));
+        $this->assertFalse($this->document->hasLink('some link'));
+    }
+
+    public function testHasButton()
+    {
+        $this->mockNamedFinder(
+            '//button',
+            array('button1', 'button2', 'button3'),
+            array('button', 'some button')
+        );
+
+        $this->assertTrue($this->document->hasButton('some button'));
+        $this->assertFalse($this->document->hasButton('some button'));
+    }
+
+    public function testHasField()
+    {
+        $this->mockNamedFinder(
+            '//field',
+            array('field1', 'field2', 'field3'),
+            array('field', 'some field')
+        );
+
+        $this->assertTrue($this->document->hasField('some field'));
+        $this->assertFalse($this->document->hasField('some field'));
+    }
+
+    public function testHasCheckedField()
+    {
+        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $checkbox
+            ->expects($this->exactly(2))
+            ->method('isChecked')
+            ->will($this->onConsecutiveCalls(true, false));
+
+        $this->mockNamedFinder(
+            '//field',
+            array(array($checkbox), array(), array($checkbox)),
+            array('field', 'some checkbox'),
+            3
+        );
+
+        $this->assertTrue($this->document->hasCheckedField('some checkbox'));
+        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
+        $this->assertFalse($this->document->hasCheckedField('some checkbox'));
+    }
+
+    public function testHasUncheckedField()
+    {
+        $checkbox = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $checkbox
+            ->expects($this->exactly(2))
+            ->method('isChecked')
+            ->will($this->onConsecutiveCalls(true, false));
+
+        $this->mockNamedFinder(
+            '//field',
+            array(array($checkbox), array(), array($checkbox)),
+            array('field', 'some checkbox'),
+            3
+        );
+
+        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
+        $this->assertFalse($this->document->hasUncheckedField('some checkbox'));
+        $this->assertTrue($this->document->hasUncheckedField('some checkbox'));
+    }
+
+    public function testHasSelect()
+    {
+        $this->mockNamedFinder(
+            '//select',
+            array('select'),
+            array('select', 'some select field')
+        );
+
+        $this->assertTrue($this->document->hasSelect('some select field'));
+        $this->assertFalse($this->document->hasSelect('some select field'));
+    }
+
+    public function testHasTable()
+    {
+        $this->mockNamedFinder(
+            '//table',
+            array('table'),
+            array('table', 'some table')
+        );
+
+        $this->assertTrue($this->document->hasTable('some table'));
+        $this->assertFalse($this->document->hasTable('some table'));
+    }
+
+    public function testClickLink()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('click');
+
+        $this->mockNamedFinder(
+            '//link',
+            array($node),
+            array('link', 'some link')
+        );
+
+        $this->document->clickLink('some link');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->clickLink('some link');
+    }
+
+    public function testClickButton()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('press');
+
+        $this->mockNamedFinder(
+            '//button',
+            array($node),
+            array('button', 'some button')
+        );
+
+        $this->document->pressButton('some button');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->pressButton('some button');
+    }
+
+    public function testFillField()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('setValue')
+            ->with('some val');
+
+        $this->mockNamedFinder(
+            '//field',
+            array($node),
+            array('field', 'some field')
+        );
+
+        $this->document->fillField('some field', 'some val');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->fillField('some field', 'some val');
+    }
+
+    public function testCheckField()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('check');
+
+        $this->mockNamedFinder(
+            '//field',
+            array($node),
+            array('field', 'some field')
+        );
+
+        $this->document->checkField('some field');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->checkField('some field');
+    }
+
+    public function testUncheckField()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('uncheck');
+
+        $this->mockNamedFinder(
+            '//field',
+            array($node),
+            array('field', 'some field')
+        );
+
+        $this->document->uncheckField('some field');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->uncheckField('some field');
+    }
+
+    public function testSelectField()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('selectOption')
+            ->with('option2');
+
+        $this->mockNamedFinder(
+            '//field',
+            array($node),
+            array('field', 'some field')
+        );
+
+        $this->document->selectFieldOption('some field', 'option2');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->selectFieldOption('some field', 'option2');
+    }
+
+    public function testAttachFileToField()
+    {
+        $node = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $node
+            ->expects($this->once())
+            ->method('attachFile')
+            ->with('/path/to/file');
+
+        $this->mockNamedFinder(
+            '//field',
+            array($node),
+            array('field', 'some field')
+        );
+
+        $this->document->attachFileToField('some field', '/path/to/file');
+        $this->setExpectedException('Behat\Mink\Exception\ElementNotFoundException');
+        $this->document->attachFileToField('some field', '/path/to/file');
+    }
+
+    public function testGetContent()
+    {
+        $expects = 'page content';
+        $this->driver
+            ->expects($this->once())
+            ->method('getContent')
+            ->will($this->returnValue($expects));
+
+        $this->assertEquals($expects, $this->document->getContent());
+    }
+
+    public function testGetText()
+    {
+        $expects = 'val1';
+        $this->driver
+            ->expects($this->once())
+            ->method('getText')
+            ->with('//html')
+            ->will($this->returnValue($expects));
+
+        $this->assertEquals($expects, $this->document->getText());
+    }
+
+    public function testGetHtml()
+    {
+        $expects = 'val1';
+        $this->driver
+            ->expects($this->once())
+            ->method('getHtml')
+            ->with('//html')
+            ->will($this->returnValue($expects));
+
+        $this->assertEquals($expects, $this->document->getHtml());
+    }
+
+    public function testGetOuterHtml()
+    {
+        $expects = 'val1';
+        $this->driver
+            ->expects($this->once())
+            ->method('getOuterHtml')
+            ->with('//html')
+            ->will($this->returnValue($expects));
+
+        $this->assertEquals($expects, $this->document->getOuterHtml());
+    }
+}
diff --git a/vendor/behat/mink/tests/Element/ElementTest.php b/vendor/behat/mink/tests/Element/ElementTest.php
new file mode 100644
index 0000000..650284c
--- /dev/null
+++ b/vendor/behat/mink/tests/Element/ElementTest.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace Behat\Mink\Tests\Element;
+
+use Behat\Mink\Driver\DriverInterface;
+use Behat\Mink\Session;
+use Behat\Mink\Selector\SelectorsHandler;
+
+abstract class ElementTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * Session.
+     *
+     * @var Session
+     */
+    protected $session;
+
+    /**
+     * @var DriverInterface|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $driver;
+
+    /**
+     * Selectors.
+     *
+     * @var SelectorsHandler|\PHPUnit_Framework_MockObject_MockObject
+     */
+    protected $selectors;
+
+    protected function setUp()
+    {
+        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
+        $this->driver
+            ->expects($this->once())
+            ->method('setSession');
+
+        $this->selectors = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
+        $this->session = new Session($this->driver, $this->selectors);
+    }
+
+    protected function mockNamedFinder($xpath, array $results, $locator, $times = 2)
+    {
+        if (!is_array($results[0])) {
+            $results = array($results, array());
+        }
+
+        // In case of empty results, a second call will be done using the partial selector
+        $processedResults = array();
+        foreach ($results as $result) {
+            $processedResults[] = $result;
+            if (empty($result)) {
+                $processedResults[] = $result;
+                ++$times;
+            }
+        }
+
+        $returnValue = call_user_func_array(array($this, 'onConsecutiveCalls'), $processedResults);
+
+        $this->driver
+            ->expects($this->exactly($times))
+            ->method('find')
+            ->with('//html'.$xpath)
+            ->will($returnValue);
+
+        $this->selectors
+            ->expects($this->exactly($times))
+            ->method('selectorToXpath')
+            ->with($this->logicalOr('named_exact', 'named_partial'), $locator)
+            ->will($this->returnValue($xpath));
+    }
+}
diff --git a/vendor/behat/mink/tests/Element/NodeElementTest.php b/vendor/behat/mink/tests/Element/NodeElementTest.php
new file mode 100644
index 0000000..f769ddd
--- /dev/null
+++ b/vendor/behat/mink/tests/Element/NodeElementTest.php
@@ -0,0 +1,598 @@
+<?php
+
+namespace Behat\Mink\Tests\Element;
+
+use Behat\Mink\Element\NodeElement;
+
+class NodeElementTest extends ElementTest
+{
+    public function testGetXpath()
+    {
+        $node = new NodeElement('some custom xpath', $this->session);
+
+        $this->assertEquals('some custom xpath', $node->getXpath());
+        $this->assertNotEquals('not some custom xpath', $node->getXpath());
+    }
+
+    public function testGetText()
+    {
+        $expected = 'val1';
+        $node = new NodeElement('text_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getText')
+            ->with('text_tag')
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $node->getText());
+    }
+
+    public function testGetOuterHtml()
+    {
+        $expected = 'val1';
+        $node = new NodeElement('text_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getOuterHtml')
+            ->with('text_tag')
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $node->getOuterHtml());
+    }
+
+    public function testElementIsValid()
+    {
+        $elementXpath = 'some xpath';
+        $node = new NodeElement($elementXpath, $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('find')
+            ->with($elementXpath)
+            ->will($this->returnValue(array($elementXpath)));
+
+        $this->assertTrue($node->isValid());
+    }
+
+    public function testElementIsNotValid()
+    {
+        $node = new NodeElement('some xpath', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('some xpath')
+            ->will($this->onConsecutiveCalls(array(), array('xpath1', 'xpath2')));
+
+        $this->assertFalse($node->isValid(), 'no elements found is invalid element');
+        $this->assertFalse($node->isValid(), 'more then 1 element found is invalid element');
+    }
+
+    public function testWaitForSuccess()
+    {
+        $callCounter = 0;
+        $node = new NodeElement('some xpath', $this->session);
+
+        $result = $node->waitFor(5, function ($givenNode) use (&$callCounter) {
+            ++$callCounter;
+
+            if (1 === $callCounter) {
+                return null;
+            } elseif (2 === $callCounter) {
+                return false;
+            } elseif (3 === $callCounter) {
+                return array();
+            }
+
+            return $givenNode;
+        });
+
+        $this->assertEquals(4, $callCounter, '->waitFor() tries to locate element several times before failing');
+        $this->assertSame($node, $result, '->waitFor() returns node found in callback');
+    }
+
+    /**
+     * @medium
+     */
+    public function testWaitForTimeout()
+    {
+        $node = new NodeElement('some xpath', $this->session);
+
+        $expectedTimeout = 2;
+        $startTime = microtime(true);
+        $result = $node->waitFor($expectedTimeout, function () {
+            return null;
+        });
+        $endTime = microtime(true);
+
+        $this->assertNull($result, '->waitFor() returns whatever callback gives');
+        $this->assertEquals($expectedTimeout, round($endTime - $startTime));
+    }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     */
+    public function testWaitForFailure()
+    {
+        $node = new NodeElement('some xpath', $this->session);
+        $node->waitFor(5, 'not a callable');
+    }
+
+    public function testHasAttribute()
+    {
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('getAttribute')
+            ->with('input_tag', 'href')
+            ->will($this->onConsecutiveCalls(null, 'http://...'));
+
+        $this->assertFalse($node->hasAttribute('href'));
+        $this->assertTrue($node->hasAttribute('href'));
+    }
+
+    public function testGetAttribute()
+    {
+        $expected = 'http://...';
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getAttribute')
+            ->with('input_tag', 'href')
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $node->getAttribute('href'));
+    }
+
+    public function testHasClass()
+    {
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(6))
+            ->method('getAttribute')
+            ->with('input_tag', 'class')
+            ->will($this->returnValue('
+            class1  class2
+            '));
+
+        $this->assertTrue($node->hasClass('class1'), 'The "class1" was found');
+        $this->assertTrue($node->hasClass('class2'), 'The "class2" was found');
+        $this->assertFalse($node->hasClass('class3'), 'The "class3" was not found');
+    }
+
+    public function testHasClassWithoutArgument()
+    {
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getAttribute')
+            ->with('input_tag', 'class')
+            ->will($this->returnValue(null));
+
+        $this->assertFalse($node->hasClass('class3'));
+    }
+
+    public function testGetValue()
+    {
+        $expected = 'val1';
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getValue')
+            ->with('input_tag')
+            ->will($this->returnValue($expected));
+
+        $this->assertEquals($expected, $node->getValue());
+    }
+
+    public function testSetValue()
+    {
+        $expected = 'new_val';
+        $node = new NodeElement('input_tag', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('setValue')
+            ->with('input_tag', $expected);
+
+        $node->setValue($expected);
+    }
+
+    public function testClick()
+    {
+        $node = new NodeElement('link_or_button', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('click')
+            ->with('link_or_button');
+
+        $node->click();
+    }
+
+    public function testPress()
+    {
+        $node = new NodeElement('link_or_button', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('click')
+            ->with('link_or_button');
+
+        $node->press();
+    }
+
+    public function testRightClick()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('rightClick')
+            ->with('elem');
+
+        $node->rightClick();
+    }
+
+    public function testDoubleClick()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('doubleClick')
+            ->with('elem');
+
+        $node->doubleClick();
+    }
+
+    public function testCheck()
+    {
+        $node = new NodeElement('checkbox_or_radio', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('check')
+            ->with('checkbox_or_radio');
+
+        $node->check();
+    }
+
+    public function testUncheck()
+    {
+        $node = new NodeElement('checkbox_or_radio', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('uncheck')
+            ->with('checkbox_or_radio');
+
+        $node->uncheck();
+    }
+
+    public function testSelectOption()
+    {
+        $node = new NodeElement('select', $this->session);
+        $option = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $option
+            ->expects($this->once())
+            ->method('getValue')
+            ->will($this->returnValue('item1'));
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getTagName')
+            ->with('select')
+            ->will($this->returnValue('select'));
+
+        $this->driver
+            ->expects($this->once())
+            ->method('find')
+            ->with('select/option')
+            ->will($this->returnValue(array($option)));
+
+        $this->selectors
+            ->expects($this->once())
+            ->method('selectorToXpath')
+            ->with('named_exact', array('option', 'item1'))
+            ->will($this->returnValue('option'));
+
+        $this->driver
+            ->expects($this->once())
+            ->method('selectOption')
+            ->with('select', 'item1', false);
+
+        $node->selectOption('item1');
+    }
+
+    /**
+     * @expectedException \Behat\Mink\Exception\ElementNotFoundException
+     */
+    public function testSelectOptionNotFound()
+    {
+        $node = new NodeElement('select', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getTagName')
+            ->with('select')
+            ->will($this->returnValue('select'));
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('select/option')
+            ->will($this->returnValue(array()));
+
+        $this->selectors
+            ->expects($this->exactly(2))
+            ->method('selectorToXpath')
+            ->with($this->logicalOr('named_exact', 'named_partial'), array('option', 'item1'))
+            ->will($this->returnValue('option'));
+
+        $node->selectOption('item1');
+    }
+
+    public function testSelectOptionOtherTag()
+    {
+        $node = new NodeElement('div', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getTagName')
+            ->with('div')
+            ->will($this->returnValue('div'));
+
+        $this->driver
+            ->expects($this->once())
+            ->method('selectOption')
+            ->with('div', 'item1', false);
+
+        $node->selectOption('item1');
+    }
+
+    public function testGetTagName()
+    {
+        $node = new NodeElement('html//h3', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('getTagName')
+            ->with('html//h3')
+            ->will($this->returnValue('h3'));
+
+        $this->assertEquals('h3', $node->getTagName());
+    }
+
+    public function testGetParent()
+    {
+        $node = new NodeElement('elem', $this->session);
+        $parent = $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $this->driver
+            ->expects($this->once())
+            ->method('find')
+            ->with('elem/..')
+            ->will($this->returnValue(array($parent)));
+
+        $this->selectors
+            ->expects($this->once())
+            ->method('selectorToXpath')
+            ->with('xpath', '..')
+            ->will($this->returnValue('..'));
+
+        $this->assertSame($parent, $node->getParent());
+    }
+
+    public function testAttachFile()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('attachFile')
+            ->with('elem', 'path');
+
+        $node->attachFile('path');
+    }
+
+    public function testIsVisible()
+    {
+        $node = new NodeElement('some_xpath', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('isVisible')
+            ->with('some_xpath')
+            ->will($this->onConsecutiveCalls(true, false));
+
+        $this->assertTrue($node->isVisible());
+        $this->assertFalse($node->isVisible());
+    }
+
+    public function testIsChecked()
+    {
+        $node = new NodeElement('some_xpath', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('isChecked')
+            ->with('some_xpath')
+            ->will($this->onConsecutiveCalls(true, false));
+
+        $this->assertTrue($node->isChecked());
+        $this->assertFalse($node->isChecked());
+    }
+
+    public function testIsSelected()
+    {
+        $node = new NodeElement('some_xpath', $this->session);
+
+        $this->driver
+            ->expects($this->exactly(2))
+            ->method('isSelected')
+            ->with('some_xpath')
+            ->will($this->onConsecutiveCalls(true, false));
+
+        $this->assertTrue($node->isSelected());
+        $this->assertFalse($node->isSelected());
+    }
+
+    public function testFocus()
+    {
+        $node = new NodeElement('some-element', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('focus')
+            ->with('some-element');
+
+        $node->focus();
+    }
+
+    public function testBlur()
+    {
+        $node = new NodeElement('some-element', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('blur')
+            ->with('some-element');
+
+        $node->blur();
+    }
+
+    public function testMouseOver()
+    {
+        $node = new NodeElement('some-element', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('mouseOver')
+            ->with('some-element');
+
+        $node->mouseOver();
+    }
+
+    public function testDragTo()
+    {
+        $node = new NodeElement('some_tag1', $this->session);
+
+        $target = $this->getMock('Behat\Mink\Element\ElementInterface');
+        $target->expects($this->any())
+            ->method('getXPath')
+            ->will($this->returnValue('some_tag2'));
+
+        $this->driver
+            ->expects($this->once())
+            ->method('dragTo')
+            ->with('some_tag1', 'some_tag2');
+
+        $node->dragTo($target);
+    }
+
+    public function testKeyPress()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('keyPress')
+            ->with('elem', 'key');
+
+        $node->keyPress('key');
+    }
+
+    public function testKeyDown()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('keyDown')
+            ->with('elem', 'key');
+
+        $node->keyDown('key');
+    }
+
+    public function testKeyUp()
+    {
+        $node = new NodeElement('elem', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('keyUp')
+            ->with('elem', 'key');
+
+        $node->keyUp('key');
+    }
+
+    public function testSubmitForm()
+    {
+        $node = new NodeElement('some_xpath', $this->session);
+
+        $this->driver
+            ->expects($this->once())
+            ->method('submitForm')
+            ->with('some_xpath');
+
+        $node->submit();
+    }
+
+    public function testFindAllUnion()
+    {
+        $node = new NodeElement('some_xpath', $this->session);
+        $xpath = "some_tag1 | some_tag2[@foo =\n 'bar|'']\n | some_tag3[foo | bar]";
+        $expected = "some_xpath/some_tag1 | some_xpath/some_tag2[@foo =\n 'bar|''] | some_xpath/some_tag3[foo | bar]";
+
+        $this->driver
+            ->expects($this->exactly(1))
+            ->method('find')
+            ->will($this->returnValueMap(array(
+                array($expected, array(2, 3, 4)),
+            )));
+
+        $this->selectors
+            ->expects($this->exactly(1))
+            ->method('selectorToXpath')
+            ->will($this->returnValueMap(array(
+                array('xpath', $xpath, $xpath),
+            )));
+
+        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
+    }
+
+    public function testFindAllParentUnion()
+    {
+        $node = new NodeElement('some_xpath | another_xpath', $this->session);
+        $xpath = 'some_tag1 | some_tag2';
+        $expectedPrefixed = '(some_xpath | another_xpath)/some_tag1 | (some_xpath | another_xpath)/some_tag2';
+
+        $this->driver
+            ->expects($this->exactly(1))
+            ->method('find')
+            ->will($this->returnValueMap(array(
+                array($expectedPrefixed, array(2, 3, 4)),
+            )));
+
+        $this->selectors
+            ->expects($this->exactly(1))
+            ->method('selectorToXpath')
+            ->will($this->returnValueMap(array(
+                array('xpath', $xpath, $xpath),
+            )));
+
+        $this->assertEquals(3, count($node->findAll('xpath', $xpath)));
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ElementExceptionTest.php b/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
new file mode 100644
index 0000000..87bf2ca
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ElementExceptionTest.php
@@ -0,0 +1,42 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ElementException;
+
+/**
+ * @group legacy
+ */
+class ElementExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    public function testMessage()
+    {
+        $exception = new ElementException($this->getElementMock(), new \Exception('Something went wrong'));
+
+        $expectedMessage = "Exception thrown by element XPath\nSomething went wrong";
+        $this->assertEquals($expectedMessage, $exception->getMessage());
+        $this->assertEquals($expectedMessage, (string) $exception);
+    }
+
+    public function testElement()
+    {
+        $element = $this->getElementMock();
+
+        $exception = new ElementException($element, new \Exception('Something went wrong'));
+
+        $this->assertSame($element, $exception->getElement());
+    }
+
+    private function getElementMock()
+    {
+        $mock = $this->getMockBuilder('Behat\Mink\Element\Element')
+            ->disableOriginalConstructor()
+            ->getMock();
+
+        $mock->expects($this->any())
+            ->method('getXPath')
+            ->will($this->returnValue('element XPath'));
+
+        return $mock;
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php b/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
new file mode 100644
index 0000000..7d6ea82
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ElementHtmlExceptionTest.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ElementHtmlException;
+
+class ElementHtmlExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    public function testExceptionToString()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+        $element = $this->getElementMock();
+
+        $driver->expects($this->any())
+            ->method('getStatusCode')
+            ->will($this->returnValue(200));
+        $driver->expects($this->any())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://localhost/test'));
+
+        $element->expects($this->any())
+            ->method('getOuterHtml')
+            ->will($this->returnValue("<div>\n    <h1>Hello world</h1>\n    <p>Test</p>\n</div>"));
+
+        $expected = <<<'TXT'
+Html error
+
++--[ HTTP/1.1 200 | http://localhost/test | %s ]
+|
+|  <div>
+|      <h1>Hello world</h1>
+|      <p>Test</p>
+|  </div>
+|
+TXT;
+
+        $expected = sprintf($expected.'  ', get_class($driver));
+
+        $exception = new ElementHtmlException('Html error', $driver, $element);
+
+        $this->assertEquals($expected, $exception->__toString());
+    }
+
+    private function getElementMock()
+    {
+        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php b/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
new file mode 100644
index 0000000..6faa55c
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ElementNotFoundExceptionTest.php
@@ -0,0 +1,50 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ElementNotFoundException;
+
+class ElementNotFoundExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @dataProvider provideExceptionMessage
+     */
+    public function testBuildMessage($message, $type, $selector = null, $locator = null)
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+
+        $exception = new ElementNotFoundException($driver, $type, $selector, $locator);
+
+        $this->assertEquals($message, $exception->getMessage());
+    }
+
+    public function provideExceptionMessage()
+    {
+        return array(
+            array('Tag not found.', null),
+            array('Field not found.', 'field'),
+            array('Tag matching locator "foobar" not found.', null, null, 'foobar'),
+            array('Tag matching css "foobar" not found.', null, 'css', 'foobar'),
+            array('Field matching xpath "foobar" not found.', 'Field', 'xpath', 'foobar'),
+            array('Tag with name "foobar" not found.', null, 'name', 'foobar'),
+        );
+    }
+
+    /**
+     * @group legacy
+     */
+    public function testConstructWithSession()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+        $session = $this->getMockBuilder('Behat\Mink\Session')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $session->expects($this->any())
+            ->method('getDriver')
+            ->will($this->returnValue($driver));
+
+        $exception = new ElementNotFoundException($session);
+
+        $this->assertEquals('Tag not found.', $exception->getMessage());
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php b/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
new file mode 100644
index 0000000..f8d5e4c
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ElementTextExceptionTest.php
@@ -0,0 +1,48 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ElementTextException;
+
+class ElementTextExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    public function testExceptionToString()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+        $element = $this->getElementMock();
+
+        $driver->expects($this->any())
+            ->method('getStatusCode')
+            ->will($this->returnValue(200));
+        $driver->expects($this->any())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://localhost/test'));
+
+        $element->expects($this->any())
+            ->method('getText')
+            ->will($this->returnValue("Hello world\nTest\n"));
+
+        $expected = <<<'TXT'
+Text error
+
++--[ HTTP/1.1 200 | http://localhost/test | %s ]
+|
+|  Hello world
+|  Test
+|
+TXT;
+
+        $expected = sprintf($expected.'  ', get_class($driver));
+
+        $exception = new ElementTextException('Text error', $driver, $element);
+
+        $this->assertEquals($expected, $exception->__toString());
+    }
+
+    private function getElementMock()
+    {
+        return $this->getMockBuilder('Behat\Mink\Element\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock();
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php b/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
new file mode 100644
index 0000000..a327fcb
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ExpectationExceptionTest.php
@@ -0,0 +1,114 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ExpectationException;
+
+class ExpectationExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    public function testEmptyMessageAndPreviousException()
+    {
+        $exception = new ExpectationException('', $this->getMock('Behat\Mink\Driver\DriverInterface'), new \Exception('Something failed'));
+
+        $this->assertEquals('Something failed', $exception->getMessage());
+    }
+
+    public function testExceptionToString()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+
+        $driver->expects($this->any())
+            ->method('getStatusCode')
+            ->will($this->returnValue(200));
+        $driver->expects($this->any())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://localhost/test'));
+
+        $html = "<html><head><title>Hello</title></head>\n<body>\n<h1>Hello world</h1>\n<p>Test</p>\n</body></html>";
+        $driver->expects($this->any())
+            ->method('getContent')
+            ->will($this->returnValue($html));
+
+        $expected = <<<'TXT'
+Expectation failure
+
++--[ HTTP/1.1 200 | http://localhost/test | %s ]
+|
+|  <body>
+|  <h1>Hello world</h1>
+|  <p>Test</p>
+|  </body>
+|
+TXT;
+
+        $expected = sprintf($expected.'  ', get_class($driver));
+
+        $exception = new ExpectationException('Expectation failure', $driver);
+
+        $this->assertEquals($expected, $exception->__toString());
+    }
+
+    public function testBigContent()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+
+        $driver->expects($this->any())
+            ->method('getStatusCode')
+            ->will($this->returnValue(200));
+        $driver->expects($this->any())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://localhost/test'));
+
+        $body = str_repeat('a', 1001 - strlen('<body></body>'));
+
+        $html = sprintf("<html><head><title>Hello</title></head>\n<body>%s</body></html>", $body);
+        $driver->expects($this->any())
+            ->method('getContent')
+            ->will($this->returnValue($html));
+
+        $expected = <<<'TXT'
+Expectation failure
+
++--[ HTTP/1.1 200 | http://localhost/test | %s ]
+|
+|  <body>%s</b...
+|
+TXT;
+
+        $expected = sprintf($expected.'  ', get_class($driver), $body);
+
+        $exception = new ExpectationException('Expectation failure', $driver);
+
+        $this->assertEquals($expected, $exception->__toString());
+    }
+
+    public function testExceptionWhileRenderingString()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+        $driver->expects($this->any())
+            ->method('getContent')
+            ->will($this->throwException(new \Exception('Broken page')));
+
+        $exception = new ExpectationException('Expectation failure', $driver);
+
+        $this->assertEquals('Expectation failure', $exception->__toString());
+    }
+
+    /**
+     * @group legacy
+     */
+    public function testConstructWithSession()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+        $session = $this->getMockBuilder('Behat\Mink\Session')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $session->expects($this->any())
+            ->method('getDriver')
+            ->will($this->returnValue($driver));
+
+        $exception = new ExpectationException('', $session, new \Exception('Something failed'));
+
+        $this->assertEquals('Something failed', $exception->getMessage());
+    }
+}
diff --git a/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php b/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
new file mode 100644
index 0000000..429721d
--- /dev/null
+++ b/vendor/behat/mink/tests/Exception/ResponseTextExceptionTest.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace Behat\Mink\Tests\Exception;
+
+use Behat\Mink\Exception\ResponseTextException;
+
+class ResponseTextExceptionTest extends \PHPUnit_Framework_TestCase
+{
+    public function testExceptionToString()
+    {
+        $driver = $this->getMock('Behat\Mink\Driver\DriverInterface');
+
+        $driver->expects($this->any())
+            ->method('getStatusCode')
+            ->will($this->returnValue(200));
+        $driver->expects($this->any())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://localhost/test'));
+        $driver->expects($this->any())
+            ->method('getText')
+            ->with('//html')
+            ->will($this->returnValue("Hello world\nTest\n"));
+
+        $expected = <<<'TXT'
+Text error
+
++--[ HTTP/1.1 200 | http://localhost/test | %s ]
+|
+|  Hello world
+|  Test
+|
+TXT;
+
+        $expected = sprintf($expected.'  ', get_class($driver));
+
+        $exception = new ResponseTextException('Text error', $driver);
+
+        $this->assertEquals($expected, $exception->__toString());
+    }
+}
diff --git a/core/vendor/behat/mink/tests/MinkTest.php b/vendor/behat/mink/tests/MinkTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/MinkTest.php
rename to vendor/behat/mink/tests/MinkTest.php
diff --git a/core/vendor/behat/mink/tests/Selector/CssSelectorTest.php b/vendor/behat/mink/tests/Selector/CssSelectorTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/Selector/CssSelectorTest.php
rename to vendor/behat/mink/tests/Selector/CssSelectorTest.php
diff --git a/core/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php b/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php
rename to vendor/behat/mink/tests/Selector/ExactNamedSelectorTest.php
diff --git a/vendor/behat/mink/tests/Selector/NamedSelectorTest.php b/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
new file mode 100644
index 0000000..5124a46
--- /dev/null
+++ b/vendor/behat/mink/tests/Selector/NamedSelectorTest.php
@@ -0,0 +1,168 @@
+<?php
+
+namespace Behat\Mink\Tests\Selector;
+
+use Behat\Mink\Selector\NamedSelector;
+use Behat\Mink\Selector\Xpath\Escaper;
+
+abstract class NamedSelectorTest extends \PHPUnit_Framework_TestCase
+{
+    public function testRegisterXpath()
+    {
+        $selector = $this->getSelector();
+
+        $selector->registerNamedXpath('some', 'my_xpath');
+        $this->assertEquals('my_xpath', $selector->translateToXPath('some'));
+
+        $this->setExpectedException('InvalidArgumentException');
+
+        $selector->translateToXPath('custom');
+    }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     */
+    public function testInvalidLocator()
+    {
+        $namedSelector = $this->getSelector();
+
+        $namedSelector->translateToXPath(array('foo', 'bar', 'baz'));
+    }
+
+    /**
+     * @dataProvider getSelectorTests
+     */
+    public function testSelectors($fixtureFile, $selector, $locator, $expectedExactCount, $expectedPartialCount = null)
+    {
+        $expectedCount = $this->allowPartialMatch() && null !== $expectedPartialCount
+            ? $expectedPartialCount
+            : $expectedExactCount;
+
+        // Don't use "loadHTMLFile" due HHVM 3.3.0 issue.
+        $dom = new \DOMDocument('1.0', 'UTF-8');
+        $dom->loadHTML(file_get_contents(__DIR__.'/fixtures/'.$fixtureFile));
+
+        $namedSelector = $this->getSelector();
+
+        $xpath = $namedSelector->translateToXPath(array($selector, $locator));
+
+        $domXpath = new \DOMXPath($dom);
+        $nodeList = $domXpath->query($xpath);
+
+        $this->assertEquals($expectedCount, $nodeList->length);
+    }
+
+    /**
+     * @dataProvider getSelectorTests
+     * @group legacy
+     */
+    public function testEscapedSelectors($fixtureFile, $selector, $locator, $expectedExactCount, $expectedPartialCount = null)
+    {
+        // Escape the locator as Mink 1.x expects the caller of the NamedSelector to handle it
+        $escaper = new Escaper();
+        $locator = $escaper->escapeLiteral($locator);
+
+        $this->testSelectors($fixtureFile, $selector, $locator, $expectedExactCount, $expectedPartialCount);
+    }
+
+    public function getSelectorTests()
+    {
+        $fieldCount = 8; // fields without `type` attribute
+        $fieldCount += 4; // fields with `type=checkbox` attribute
+        $fieldCount += 4; // fields with `type=radio` attribute
+        $fieldCount += 4; // fields with `type=file` attribute
+
+        // Fixture file,  selector name,  locator,  expected number of exact matched elements, expected number of partial matched elements if different
+        return array(
+            'fieldset' => array('test.html', 'fieldset', 'fieldset-text', 2, 3),
+
+            'field (name/placeholder/label)' => array('test.html', 'field', 'the-field', $fieldCount),
+            'field (input, with-id)' => array('test.html', 'field', 'the-field-input', 1),
+            'field (textarea, with-id)' => array('test.html', 'field', 'the-field-textarea', 1),
+            'field (select, with-id)' => array('test.html', 'field', 'the-field-select', 1),
+            'field (input type=submit, with-id) ignored' => array('test.html', 'field', 'the-field-submit-button', 0),
+            'field (input type=image, with-id) ignored' => array('test.html', 'field', 'the-field-image-button', 0),
+            'field (input type=button, with-id) ignored' => array('test.html', 'field', 'the-field-button-button', 0),
+            'field (input type=reset, with-id) ignored' => array('test.html', 'field', 'the-field-reset-button', 0),
+            'field (input type=hidden, with-id) ignored' => array('test.html', 'field', 'the-field-hidden', 0),
+
+            'link (with-href)' => array('test.html', 'link', 'link-text', 5, 9),
+            'link (without-href) ignored' => array('test.html', 'link', 'bad-link-text', 0),
+            'link* (role=link)' => array('test.html', 'link', 'link-role-text', 4, 7),
+
+            'button (input, name/value/title)' => array('test.html', 'button', 'button-text', 25, 42),
+            'button (type=image, with-alt)' => array('test.html', 'button', 'button-alt-text', 1, 2),
+            'button (input type=submit, with-id)' => array('test.html', 'button', 'input-submit-button', 1),
+            'button (input type=image, with-id)' => array('test.html', 'button', 'input-image-button', 1),
+            'button (input type=button, with-id)' => array('test.html', 'button', 'input-button-button', 1),
+            'button (input type=reset, with-id)' => array('test.html', 'button', 'input-reset-button', 1),
+            'button (button type=submit, with-id)' => array('test.html', 'button', 'button-submit-button', 1),
+            'button (button type=image, with-id)' => array('test.html', 'button', 'button-image-button', 1),
+            'button (button type=button, with-id)' => array('test.html', 'button', 'button-button-button', 1),
+            'button (button type=reset, with-id)' => array('test.html', 'button', 'button-reset-button', 1),
+            'button* (role=button, name/value/title)' => array('test.html', 'button', 'button-role-text', 12, 20),
+            'button* (role=button type=submit, with-id)' => array('test.html', 'button', 'role-button-submit-button', 1),
+            'button* (role=button type=image, with-id)' => array('test.html', 'button', 'role-button-image-button', 1),
+            'button* (role=button type=button, with-id)' => array('test.html', 'button', 'role-button-button-button', 1),
+            'button* (role=button type=reset, with-id)' => array('test.html', 'button', 'role-button-reset-button', 1),
+
+            'link_or_button (with-href)' => array('test.html', 'link_or_button', 'link-text', 5, 9),
+            'link_or_button (without-href) ignored' => array('test.html', 'link_or_button', 'bad-link-text', 0),
+            'link_or_button* (role=link)' => array('test.html', 'link_or_button', 'link-role-text', 4, 7),
+
+            // bug in selector: 17 instead of 25 and 34 instead of 42, because 8 buttons with `name` attribute were not matched
+            'link_or_button (input, name/value/title)' => array('test.html', 'link_or_button', 'button-text', 17, 34),
+            'link_or_button (type=image, with-alt)' => array('test.html', 'link_or_button', 'button-alt-text', 1, 2),
+            'link_or_button (input type=submit, with-id)' => array('test.html', 'link_or_button', 'input-submit-button', 1),
+            'link_or_button (input type=image, with-id)' => array('test.html', 'link_or_button', 'input-image-button', 1),
+            'link_or_button (input type=button, with-id)' => array('test.html', 'link_or_button', 'input-button-button', 1),
+            'link_or_button (input type=reset, with-id)' => array('test.html', 'link_or_button', 'input-reset-button', 1),
+            'link_or_button (button type=submit, with-id)' => array('test.html', 'link_or_button', 'button-submit-button', 1),
+            'link_or_button (button type=image, with-id)' => array('test.html', 'link_or_button', 'button-image-button', 1),
+            'link_or_button (button type=button, with-id)' => array('test.html', 'link_or_button', 'button-button-button', 1),
+            'link_or_button (button type=reset, with-id)' => array('test.html', 'link_or_button', 'button-reset-button', 1),
+
+            // bug in selector: 8 instead of 12 and 16 instead of 20, because 4 buttons with `name` attribute were not matched
+            'link_or_button* (role=button, name/value/title)' => array('test.html', 'link_or_button', 'button-role-text', 8, 16),
+            'link_or_button* (role=button type=submit, with-id)' => array('test.html', 'link_or_button', 'role-button-submit-button', 1),
+            'link_or_button* (role=button type=image, with-id)' => array('test.html', 'link_or_button', 'role-button-image-button', 1),
+            'link_or_button* (role=button type=button, with-id)' => array('test.html', 'link_or_button', 'role-button-button-button', 1),
+            'link_or_button* (role=button type=reset, with-id)' => array('test.html', 'link_or_button', 'role-button-reset-button', 1),
+
+            // 3 matches, because matches every HTML node in path: html > body > div
+            'content' => array('test.html', 'content', 'content-text', 1, 4),
+            'content with quotes' => array('test.html', 'content', 'some "quoted" content', 1, 3),
+
+            'select (name/label)' => array('test.html', 'select', 'the-field', 3),
+            'select (with-id)' => array('test.html', 'select', 'the-field-select', 1),
+
+            'checkbox (name/label)' => array('test.html', 'checkbox', 'the-field', 3),
+            'checkbox (with-id)' => array('test.html', 'checkbox', 'the-field-checkbox', 1),
+
+            'radio (name/label)' => array('test.html', 'radio', 'the-field', 3),
+            'radio (with-id)' => array('test.html', 'radio', 'the-field-radio', 1),
+
+            'file (name/label)' => array('test.html', 'file', 'the-field', 3),
+            'file (with-id)' => array('test.html', 'file', 'the-field-file', 1),
+
+            'optgroup' => array('test.html', 'optgroup', 'group-label', 1, 2),
+
+            'option' => array('test.html', 'option', 'option-value', 2, 3),
+
+            'table' => array('test.html', 'table', 'the-table', 2, 3),
+
+            'id' => array('test.html', 'id', 'bad-link-text', 1),
+            'id or name' => array('test.html', 'id_or_name', 'the-table', 2),
+        );
+    }
+
+    /**
+     * @return NamedSelector
+     */
+    abstract protected function getSelector();
+
+    /**
+     * @return bool
+     */
+    abstract protected function allowPartialMatch();
+}
diff --git a/core/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php b/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php
rename to vendor/behat/mink/tests/Selector/PartialNamedSelectorTest.php
diff --git a/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php b/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
new file mode 100644
index 0000000..fb63b32
--- /dev/null
+++ b/vendor/behat/mink/tests/Selector/SelectorsHandlerTest.php
@@ -0,0 +1,96 @@
+<?php
+
+namespace Behat\Mink\Tests\Selector;
+
+use Behat\Mink\Selector\SelectorsHandler;
+
+class SelectorsHandlerTest extends \PHPUnit_Framework_TestCase
+{
+    public function testRegisterSelector()
+    {
+        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
+        $handler = new SelectorsHandler();
+
+        $this->assertFalse($handler->isSelectorRegistered('custom'));
+
+        $handler->registerSelector('custom', $selector);
+
+        $this->assertTrue($handler->isSelectorRegistered('custom'));
+        $this->assertSame($selector, $handler->getSelector('custom'));
+    }
+
+    public function testRegisterSelectorThroughConstructor()
+    {
+        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
+        $handler = new SelectorsHandler(array('custom' => $selector));
+
+        $this->assertTrue($handler->isSelectorRegistered('custom'));
+        $this->assertSame($selector, $handler->getSelector('custom'));
+    }
+
+    public function testRegisterDefaultSelectors()
+    {
+        $handler = new SelectorsHandler();
+
+        $this->assertTrue($handler->isSelectorRegistered('css'));
+        $this->assertTrue($handler->isSelectorRegistered('named_exact'));
+        $this->assertTrue($handler->isSelectorRegistered('named_partial'));
+    }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     */
+    public function testXpathSelectorThrowsExceptionForArrayLocator()
+    {
+        $handler = new SelectorsHandler();
+        $handler->selectorToXpath('xpath', array('some_xpath'));
+    }
+
+    public function testXpathSelectorIsReturnedAsIs()
+    {
+        $handler = new SelectorsHandler();
+        $this->assertEquals('some_xpath', $handler->selectorToXpath('xpath', 'some_xpath'));
+    }
+
+    public function testSelectorToXpath()
+    {
+        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
+        $handler = new SelectorsHandler();
+
+        $handler->registerSelector('custom_selector', $selector);
+
+        $selector
+            ->expects($this->once())
+            ->method('translateToXPath')
+            ->with($locator = 'some[locator]')
+            ->will($this->returnValue($ret = '[]some[]locator'));
+
+        $this->assertEquals($ret, $handler->selectorToXpath('custom_selector', $locator));
+
+        $this->setExpectedException('InvalidArgumentException');
+        $handler->selectorToXpath('undefined', 'asd');
+    }
+
+    /**
+     * @group legacy
+     */
+    public function testXpathLiteral()
+    {
+        $handler = new SelectorsHandler();
+
+        $this->assertEquals("'some simple string'", $handler->xpathLiteral('some simple string'));
+    }
+
+    /**
+     * @group legacy
+     */
+    public function testBcLayer()
+    {
+        $selector = $this->getMockBuilder('Behat\Mink\Selector\SelectorInterface')->getMock();
+        $handler = new SelectorsHandler();
+
+        $handler->registerSelector('named_partial', $selector);
+
+        $this->assertSame($selector, $handler->getSelector('named'));
+    }
+}
diff --git a/core/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php b/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php
rename to vendor/behat/mink/tests/Selector/Xpath/EscaperTest.php
diff --git a/core/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php b/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php
similarity index 100%
rename from core/vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php
rename to vendor/behat/mink/tests/Selector/Xpath/ManipulatorTest.php
diff --git a/vendor/behat/mink/tests/Selector/fixtures/test.html b/vendor/behat/mink/tests/Selector/fixtures/test.html
new file mode 100644
index 0000000..1190e9e
--- /dev/null
+++ b/vendor/behat/mink/tests/Selector/fixtures/test.html
@@ -0,0 +1,312 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title></title>
+</head>
+<body>
+    <div id="test-for-link-selector">
+        <!-- match links with `href` attribute -->
+        <a href="#" id="link-text"></a>
+        <a href="#">link-text</a>
+        <a href="#" title="link-text"></a>
+        <a href="#" rel="link-text"></a>
+        <a href="#">
+            <img src="#" alt="link-text"/>
+        </a>
+        <!-- partial match -->
+        <a href="#">some link-text</a>
+        <a href="#" title="some link-text"></a>
+        <a href="#" rel="some link-text"></a>
+        <a href="#">
+            <img src="#" alt="some link-text"/>
+        </a>
+
+        <!-- don't match links without `href` attribute -->
+        <a id="bad-link-text"></a>
+        <a>bad-link-text</a>
+        <a title="bad-link-text"></a>
+        <a rel="bad-link-text"></a>
+        <a>
+            <img src="#" alt="bad-link-text"/>
+        </a>
+
+        <!-- match links with `role=link` attribute -->
+        <span role="Link" id="link-role-text"></span>
+        <span role="lInk" value="link-role-text"></span>
+        <span role="liNk" title="link-role-text"></span>
+        <span role="linK">link-role-text</span>
+        <!-- partial match -->
+        <span role="link" value="some link-role-text"></span>
+        <span role="link" title="some link-role-text"></span>
+        <span role="link">some link-role-text</span>
+    </div>
+
+    <div id="test-for-fieldset-selector">
+        <!-- match fieldsets -->
+        <fieldset id="fieldset-text"></fieldset>
+
+        <fieldset>
+            <legend>fieldset-text</legend>
+        </fieldset>
+        <!-- partial match -->
+        <fieldset>
+            <legend>fieldset-text sample</legend>
+        </fieldset>
+
+        <!-- don't match fieldsets -->
+        <fieldset>fieldset-text</fieldset>
+        <fieldset></fieldset>
+    </div>
+
+    <div id="test-for-content-selector">
+        content-text
+    </div>
+    <!-- partial match -->
+    <div id="test-for-partial-content-selector">
+        some content-text
+    </div>
+
+    <div>some "quoted" content</div>
+
+    <form>
+        <div id="test-for-field-selector">
+            <!-- match fields by `id` attribute -->
+            <input id="the-field-input"/>
+            <textarea id="the-field-textarea"></textarea>
+            <select id="the-field-select"></select>
+
+            <!-- match fields by `name` attribute -->
+            <input name="the-field"/>
+            <textarea name="the-field"></textarea>
+            <select name="the-field"></select>
+
+            <!-- match fields by `placeholder` attribute -->
+            <input placeholder="the-field"/>
+            <textarea placeholder="the-field"></textarea>
+            <select placeholder="the-field"></select>
+
+            <!-- match fields by associated label -->
+            <label for="label-for-input">the-field</label><input id="label-for-input"/>
+            <label for="label-for-textarea">the-field</label><textarea id="label-for-textarea"></textarea>
+            <label for="label-for-select">the-field</label><select id="label-for-select"></select>
+
+            <!-- match fields, surrounded by matching label -->
+            <label>the-field<input/></label>
+            <label>the-field<textarea></textarea></label>
+            <label>the-field<select></select></label>
+
+            <!-- don't match fields by `id` attribute -->
+            <input type="Submit" id="the-field-submit-button"/>
+            <input type="iMage" id="the-field-image-button"/>
+            <input type="butTon" id="the-field-button-button"/>
+            <input type="resEt" id="the-field-reset-button"/>
+            <input type="hidDen" id="the-field-hidden"/>
+
+            <!-- don't match fields by `name` attribute -->
+            <input type="submit" name="the-field"/>
+            <input type="image" name="the-field"/>
+            <input type="button" name="the-field"/>
+            <input type="reset" name="the-field"/>
+            <input type="hidden" name="the-field"/>
+
+            <!-- don't match fields by `placeholder` attribute -->
+            <input type="submit" placeholder="the-field"/>
+            <input type="image" placeholder="the-field"/>
+            <input type="button" placeholder="the-field"/>
+            <input type="reset" placeholder="the-field"/>
+            <input type="hidden" placeholder="the-field"/>
+
+            <!-- don't match fields by associated label -->
+            <label for="label-for-the-field-submit-button">the-field</label><input type="submit" id="label-for-the-field-submit-button"/>
+            <label for="label-for-the-field-image-button">the-field</label><input type="image" id="label-for-the-field-image-button"/>
+            <label for="label-for-the-field-button-button">the-field</label><input type="button" id="label-for-the-field-button-button"/>
+            <label for="label-for-the-field-reset-button">the-field</label><input type="reset" id="label-for-the-field-reset-button"/>
+            <label for="label-for-the-field-hidden">the-field</label><input type="hidden" id="label-for-the-field-hidden"/>
+
+            <!-- don't match fields, surrounded by matching label -->
+            <label>the-field<input type="submit"/></label>
+            <label>the-field<input type="image"/></label>
+            <label>the-field<input type="button"/></label>
+            <label>the-field<input type="reset"/></label>
+            <label>the-field<input type="hidden"/></label>
+        </div>
+
+        <div id="test-for-button-selector">
+            <!-- match buttons by `id` attribute -->
+            <input type="Submit" id="input-submit-button"/>
+            <input type="iMage" id="input-image-button"/>
+            <input type="butTon" id="input-button-button"/>
+            <input type="resEt" id="input-reset-button"/>
+
+            <button type="submit" id="button-submit-button"></button>
+            <button type="image" id="button-image-button"></button>
+            <button type="button" id="button-button-button"></button>
+            <button type="reset" id="button-reset-button"></button>
+
+            <!-- match buttons by `name` attribute -->
+            <input type="submit" name="button-text"/>
+            <input type="image" name="button-text"/>
+            <input type="button" name="button-text"/>
+            <input type="reset" name="button-text"/>
+            <button type="submit" name="button-text"></button>
+            <button type="image" name="button-text"></button>
+            <button type="button" name="button-text"></button>
+            <button type="reset" name="button-text"></button>
+
+            <!-- match buttons by `value` attribute -->
+            <input type="submit" value="button-text"/>
+            <input type="image" value="button-text"/>
+            <input type="button" value="button-text"/>
+            <input type="reset" value="button-text"/>
+            <button type="submit" value="button-text"></button>
+            <button type="image" value="button-text"></button>
+            <button type="button" value="button-text"></button>
+            <button type="reset" value="button-text"></button>
+            <!-- Partial match -->
+            <input type="submit" value="some button-text"/>
+            <input type="image" value="some button-text"/>
+            <input type="button" value="some button-text"/>
+            <input type="reset" value="some button-text"/>
+            <button type="submit" value="some button-text"></button>
+            <button type="image" value="some button-text"></button>
+            <button type="button" value="some button-text"></button>
+            <button type="reset" value="some button-text"></button>
+
+            <!-- match buttons by `title` attribute -->
+            <input type="submit" title="button-text"/>
+            <input type="image" title="button-text"/>
+            <input type="button" title="button-text"/>
+            <input type="reset" title="button-text"/>
+            <button type="submit" title="button-text"></button>
+            <button type="image" title="button-text"></button>
+            <button type="button" title="button-text"></button>
+            <button type="reset" title="button-text"></button>
+            <!-- partial match -->
+            <input type="submit" title="some button-text"/>
+            <input type="image" title="some button-text"/>
+            <input type="button" title="some button-text"/>
+            <input type="reset" title="some button-text"/>
+            <button type="submit" title="some button-text"></button>
+            <button type="image" title="some button-text"></button>
+            <button type="button" title="some button-text"></button>
+            <button type="reset" title="some button-text"></button>
+
+            <!-- match some buttons by `alt` attribute -->
+            <input type="submit" alt="button-alt-text"/>
+            <input type="imaGe" alt="button-alt-text"/>
+            <input type="button" alt="button-alt-text"/>
+            <input type="reset" alt="button-alt-text"/>
+            <!-- partial match -->
+            <input type="submit" alt="some button-alt-text"/>
+            <input type="image" alt="some button-alt-text"/>
+            <input type="button" alt="some button-alt-text"/>
+            <input type="reset" alt="some button-alt-text"/>
+
+            <!-- match by `button` text -->
+            <button>button-text</button>
+            <!-- partial match -->
+            <button>some button-text</button>
+
+            <!-- match buttons with `role=button` & `id` attribute -->
+            <span role="Button" type="submit" id="role-button-submit-button"></span>
+            <span role="bUtton" type="image" id="role-button-image-button"></span>
+            <span role="buTton" type="button" id="role-button-button-button"></span>
+            <span role="butTon" type="reset" id="role-button-reset-button"></span>
+
+            <!-- match buttons with `role=button` & `name` attribute -->
+            <span role="buttOn" type="submit" name="button-role-text"></span>
+            <span role="buttoN" type="image" name="button-role-text"></span>
+            <span role="button" type="button" name="button-role-text"></span>
+            <span role="button" type="reset" name="button-role-text"></span>
+
+            <!-- match buttons with `role=button` & `value` attribute -->
+            <span role="button" type="submit" value="button-role-text"></span>
+            <span role="button" type="image" value="button-role-text"></span>
+            <span role="button" type="button" value="button-role-text"></span>
+            <span role="button" type="reset" value="button-role-text"></span>
+            <!-- partial match -->
+            <span role="button" type="submit" value="some button-role-text"></span>
+            <span role="button" type="image" value="some button-role-text"></span>
+            <span role="button" type="button" value="some button-role-text"></span>
+            <span role="button" type="reset" value="some button-role-text"></span>
+
+            <!-- match buttons with `role=button` & `title` attribute -->
+            <span role="button" type="submit" title="button-role-text"></span>
+            <span role="button" type="image" title="button-role-text"></span>
+            <span role="button" type="button" title="button-role-text"></span>
+            <span role="button" type="reset" title="button-role-text"></span>
+            <!-- partial match -->
+            <span role="button" type="submit" title="some button-role-text"></span>
+            <span role="button" type="image" title="some button-role-text"></span>
+            <span role="button" type="button" title="some button-role-text"></span>
+            <span role="button" type="reset" title="some button-role-text"></span>
+        </div>
+
+        <div id="test-for-checkbox-selector">
+            <input type="Checkbox" id="the-field-checkbox"/>
+            <input type="checkBox" name="the-field"/>
+            <input type="cheCkbox" placeholder="the-field"/>
+            <label for="label-for-checkbox">the-field</label><input type="checkboX" id="label-for-checkbox"/>
+            <label>the-field<input type="chEckbox"/></label>
+        </div>
+
+        <div id="test-for-radio-selector">
+            <input type="Radio" id="the-field-radio"/>
+            <input type="raDio" name="the-field"/>
+            <input type="radIo" placeholder="the-field"/>
+            <label for="label-for-radio">the-field</label><input type="radiO" id="label-for-radio"/>
+            <label>the-field<input type="radIo"/></label>
+        </div>
+
+        <div id="test-for-file-selector">
+            <input type="File" id="the-field-file"/>
+            <input type="fIle" name="the-field"/>
+            <input type="fiLe" placeholder="the-field"/>
+            <label for="label-for-file">the-field</label><input type="filE" id="label-for-file"/>
+            <label>the-field<input type="fiLe"/></label>
+        </div>
+
+        <div id="test-for-select-related-stuff">
+            <!-- match select stuff -->
+            <select name="the-select-stuff-test">
+                <optgroup label="group-label">
+                    <option value="option-value"></option>
+                </optgroup>
+                <option value="">option-value</option>
+                <!-- partial match -->
+                <optgroup label="some group-label">
+                    <option value="">some option-value</option>
+                </optgroup>
+            </select>
+
+            <!-- don't match select stuff -->
+            <select name="the-select-stuff-test">
+                <optgroup label="">some group-label</optgroup>
+                <option value="some option-value"></option>
+            </select>
+        </div>
+    </form>
+
+    <div id="test-for-table-selector">
+        <!-- match tables -->
+        <table id="the-table"></table>
+        <table>
+            <caption>the-table</caption>
+        </table>
+        <!-- partial match -->
+        <table>
+            <caption>some the-table</caption>
+        </table>
+
+        <!-- don't match tables -->
+        <table>
+            <tr>
+                <th>the-table</th>
+                <td>the-table</td>
+            </tr>
+        </table>
+    </div>
+
+    <input name="the-table"/>
+</body>
+</html>
diff --git a/vendor/behat/mink/tests/SessionTest.php b/vendor/behat/mink/tests/SessionTest.php
new file mode 100644
index 0000000..3e0104a
--- /dev/null
+++ b/vendor/behat/mink/tests/SessionTest.php
@@ -0,0 +1,312 @@
+<?php
+
+namespace Behat\Mink\Tests;
+
+use Behat\Mink\Session;
+
+class SessionTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    private $driver;
+    private $selectorsHandler;
+
+    /**
+     * Session.
+     *
+     * @var Session
+     */
+    private $session;
+
+    protected function setUp()
+    {
+        $this->driver = $this->getMockBuilder('Behat\Mink\Driver\DriverInterface')->getMock();
+        $this->selectorsHandler = $this->getMockBuilder('Behat\Mink\Selector\SelectorsHandler')->getMock();
+        $this->session = new Session($this->driver, $this->selectorsHandler);
+    }
+
+    public function testGetDriver()
+    {
+        $this->assertSame($this->driver, $this->session->getDriver());
+    }
+
+    public function testGetPage()
+    {
+        $this->assertInstanceOf('Behat\Mink\Element\DocumentElement', $this->session->getPage());
+    }
+
+    public function testGetSelectorsHandler()
+    {
+        $this->assertSame($this->selectorsHandler, $this->session->getSelectorsHandler());
+    }
+
+    public function testInstantiateWithoutOptionalDeps()
+    {
+        $session = new Session($this->driver);
+
+        $this->assertInstanceOf('Behat\Mink\Selector\SelectorsHandler', $session->getSelectorsHandler());
+    }
+
+    public function testIsStarted()
+    {
+        $this->driver->expects($this->once())
+            ->method('isStarted')
+            ->will($this->returnValue(true));
+
+        $this->assertTrue($this->session->isStarted());
+    }
+
+    public function testStart()
+    {
+        $this->driver->expects($this->once())
+            ->method('start');
+
+        $this->session->start();
+    }
+
+    public function testStop()
+    {
+        $this->driver->expects($this->once())
+            ->method('stop');
+
+        $this->session->stop();
+    }
+
+    public function testRestart()
+    {
+        $this->driver->expects($this->at(0))
+            ->method('stop');
+        $this->driver->expects($this->at(1))
+            ->method('start');
+
+        $this->session->restart();
+    }
+
+    public function testVisit()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('visit')
+            ->with($url = 'some_url');
+
+        $this->session->visit($url);
+    }
+
+    public function testReset()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('reset');
+
+        $this->session->reset();
+    }
+
+    public function testSetBasicAuth()
+    {
+        $this->driver->expects($this->once())
+            ->method('setBasicAuth')
+            ->with('user', 'pass');
+
+        $this->session->setBasicAuth('user', 'pass');
+    }
+
+    public function testSetRequestHeader()
+    {
+        $this->driver->expects($this->once())
+            ->method('setRequestHeader')
+            ->with('name', 'value');
+
+        $this->session->setRequestHeader('name', 'value');
+    }
+
+    public function testGetResponseHeaders()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('getResponseHeaders')
+            ->will($this->returnValue($ret = array(2, 3, 4)));
+
+        $this->assertEquals($ret, $this->session->getResponseHeaders());
+    }
+
+    /**
+     * @dataProvider provideResponseHeader
+     */
+    public function testGetResponseHeader($expected, $name, array $headers)
+    {
+        $this->driver->expects($this->once())
+            ->method('getResponseHeaders')
+            ->willReturn($headers);
+
+        $this->assertSame($expected, $this->session->getResponseHeader($name));
+    }
+
+    public function provideResponseHeader()
+    {
+        return array(
+            array('test', 'Mink', array('Mink' => 'test')),
+            array('test', 'mink', array('Mink' => 'test')),
+            array('test', 'Mink', array('mink' => 'test')),
+            array('test', 'Mink', array('Mink' => array('test', 'test2'))),
+            array(null, 'other', array('Mink' => 'test')),
+        );
+    }
+
+    public function testSetCookie()
+    {
+        $this->driver->expects($this->once())
+            ->method('setCookie')
+            ->with('name', 'value');
+
+        $this->session->setCookie('name', 'value');
+    }
+
+    public function testGetCookie()
+    {
+        $this->driver->expects($this->once())
+            ->method('getCookie')
+            ->with('name')
+            ->will($this->returnValue('value'));
+
+        $this->assertEquals('value', $this->session->getCookie('name'));
+    }
+
+    public function testGetStatusCode()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('getStatusCode')
+            ->will($this->returnValue($ret = 404));
+
+        $this->assertEquals($ret, $this->session->getStatusCode());
+    }
+
+    public function testGetCurrentUrl()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('getCurrentUrl')
+            ->will($this->returnValue($ret = 'http://some.url'));
+
+        $this->assertEquals($ret, $this->session->getCurrentUrl());
+    }
+
+    public function testGetScreenshot()
+    {
+        $this->driver->expects($this->once())
+            ->method('getScreenshot')
+            ->will($this->returnValue('screenshot'));
+
+        $this->assertEquals('screenshot', $this->session->getScreenshot());
+    }
+
+    public function testGetWindowNames()
+    {
+        $this->driver->expects($this->once())
+            ->method('getWindowNames')
+            ->will($this->returnValue($names = array('window 1', 'window 2')));
+
+        $this->assertEquals($names, $this->session->getWindowNames());
+    }
+
+    public function testGetWindowName()
+    {
+        $this->driver->expects($this->once())
+            ->method('getWindowName')
+            ->will($this->returnValue('name'));
+
+        $this->assertEquals('name', $this->session->getWindowName());
+    }
+
+    public function testReload()
+    {
+        $this->driver->expects($this->once())
+            ->method('reload');
+
+        $this->session->reload();
+    }
+
+    public function testBack()
+    {
+        $this->driver->expects($this->once())
+            ->method('back');
+
+        $this->session->back();
+    }
+
+    public function testForward()
+    {
+        $this->driver->expects($this->once())
+            ->method('forward');
+
+        $this->session->forward();
+    }
+
+    public function testSwitchToWindow()
+    {
+        $this->driver->expects($this->once())
+            ->method('switchToWindow')
+            ->with('test');
+
+        $this->session->switchToWindow('test');
+    }
+
+    public function testSwitchToIFrame()
+    {
+        $this->driver->expects($this->once())
+            ->method('switchToIFrame')
+            ->with('test');
+
+        $this->session->switchToIFrame('test');
+    }
+
+    public function testExecuteScript()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('executeScript')
+            ->with($arg = 'JS');
+
+        $this->session->executeScript($arg);
+    }
+
+    public function testEvaluateScript()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('evaluateScript')
+            ->with($arg = 'JS func')
+            ->will($this->returnValue($ret = '23'));
+
+        $this->assertEquals($ret, $this->session->evaluateScript($arg));
+    }
+
+    public function testWait()
+    {
+        $this->driver
+            ->expects($this->once())
+            ->method('wait')
+            ->with(1000, 'function () {}');
+
+        $this->session->wait(1000, 'function () {}');
+    }
+
+    public function testResizeWindow()
+    {
+        $this->driver->expects($this->once())
+            ->method('resizeWindow')
+            ->with(800, 600, 'test');
+
+        $this->session->resizeWindow(800, 600, 'test');
+    }
+
+    public function testMaximizeWindow()
+    {
+        $this->driver->expects($this->once())
+            ->method('maximizeWindow')
+            ->with('test');
+
+        $this->session->maximizeWindow('test');
+    }
+}
diff --git a/vendor/behat/mink/tests/WebAssertTest.php b/vendor/behat/mink/tests/WebAssertTest.php
new file mode 100644
index 0000000..ef55d2d
--- /dev/null
+++ b/vendor/behat/mink/tests/WebAssertTest.php
@@ -0,0 +1,1297 @@
+<?php
+
+namespace Behat\Mink\Tests;
+
+use Behat\Mink\Exception\ExpectationException;
+use Behat\Mink\WebAssert;
+
+class WebAssertTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var \PHPUnit_Framework_MockObject_MockObject
+     */
+    private $session;
+    /**
+     * @var WebAssert
+     */
+    private $assert;
+
+    public function setUp()
+    {
+        $this->session = $this->getMockBuilder('Behat\\Mink\\Session')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->session->expects($this->any())
+            ->method('getDriver')
+            ->will($this->returnValue($this->getMock('Behat\Mink\Driver\DriverInterface')));
+
+        $this->assert = new WebAssert($this->session);
+    }
+
+    public function testAddressEquals()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://example.com/script.php/sub/url?param=true#webapp/nav'))
+        ;
+
+        $this->assertCorrectAssertion('addressEquals', array('/sub/url#webapp/nav'));
+        $this->assertWrongAssertion(
+            'addressEquals',
+            array('sub_url'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current page is "/sub/url#webapp/nav", but "sub_url" expected.'
+        );
+    }
+
+    public function testAddressEqualsEmptyPath()
+    {
+        $this->session
+            ->expects($this->once())
+            ->method('getCurrentUrl')
+            ->willReturn('http://example.com')
+        ;
+
+        $this->assertCorrectAssertion('addressEquals', array('/'));
+    }
+
+    public function testAddressEqualsEndingInScript()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://example.com/script.php'))
+        ;
+
+        $this->assertCorrectAssertion('addressEquals', array('/script.php'));
+        $this->assertWrongAssertion(
+            'addressEquals',
+            array('/'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current page is "/script.php", but "/" expected.'
+        );
+    }
+
+    public function testAddressNotEquals()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://example.com/script.php/sub/url'))
+        ;
+
+        $this->assertCorrectAssertion('addressNotEquals', array('sub_url'));
+        $this->assertWrongAssertion(
+            'addressNotEquals',
+            array('/sub/url'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current page is "/sub/url", but should not be.'
+        );
+    }
+
+    public function testAddressNotEqualsEndingInScript()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://example.com/script.php'))
+        ;
+
+        $this->assertCorrectAssertion('addressNotEquals', array('/'));
+        $this->assertWrongAssertion(
+            'addressNotEquals',
+            array('/script.php'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current page is "/script.php", but should not be.'
+        );
+    }
+
+    public function testAddressMatches()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getCurrentUrl')
+            ->will($this->returnValue('http://example.com/script.php/sub/url'))
+        ;
+
+        $this->assertCorrectAssertion('addressMatches', array('/su.*rl/'));
+        $this->assertWrongAssertion(
+            'addressMatches',
+            array('/suburl/'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current page "/sub/url" does not match the regex "/suburl/".'
+        );
+    }
+
+    public function testCookieEquals()
+    {
+        $this->session->
+            expects($this->any())->
+            method('getCookie')->
+            will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('cookieEquals', array('foo', 'bar'));
+        $this->assertWrongAssertion(
+            'cookieEquals',
+            array('bar', 'foo'),
+            'Behat\Mink\Exception\ExpectationException',
+            'Cookie "bar" value is "baz", but should be "foo".'
+        );
+    }
+
+    public function testCookieExists()
+    {
+        $this->session->
+            expects($this->any())->
+            method('getCookie')->
+            will($this->returnValueMap(
+                array(
+                    array('foo', '1'),
+                    array('bar', null),
+                )
+            ));
+
+        $this->assertCorrectAssertion('cookieExists', array('foo'));
+        $this->assertWrongAssertion(
+            'cookieExists',
+            array('bar'),
+            'Behat\Mink\Exception\ExpectationException',
+            'Cookie "bar" is not set, but should be.'
+        );
+    }
+
+    public function testStatusCodeEquals()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getStatusCode')
+            ->will($this->returnValue(200))
+        ;
+
+        $this->assertCorrectAssertion('statusCodeEquals', array(200));
+        $this->assertWrongAssertion(
+            'statusCodeEquals',
+            array(404),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current response status code is 200, but 404 expected.'
+        );
+    }
+
+    public function testStatusCodeNotEquals()
+    {
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getStatusCode')
+            ->will($this->returnValue(404))
+        ;
+
+        $this->assertCorrectAssertion('statusCodeNotEquals', array(200));
+        $this->assertWrongAssertion(
+            'statusCodeNotEquals',
+            array(404),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current response status code is 404, but should not be.'
+        );
+    }
+
+    public function testResponseHeaderEquals()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderEquals', array('foo', 'bar'));
+        $this->assertWrongAssertion(
+            'responseHeaderEquals',
+            array('bar', 'foo'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current response header "bar" is "baz", but "foo" expected.'
+        );
+    }
+
+    public function testResponseHeaderNotEquals()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderNotEquals', array('foo', 'baz'));
+        $this->assertWrongAssertion(
+            'responseHeaderNotEquals',
+            array('bar', 'baz'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Current response header "bar" is "baz", but should not be.'
+        );
+    }
+
+    public function testResponseHeaderContains()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderContains', array('foo', 'ba'));
+        $this->assertWrongAssertion(
+            'responseHeaderContains',
+            array('bar', 'bz'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The text "bz" was not found anywhere in the "bar" response header.'
+        );
+    }
+
+    public function testResponseHeaderNotContains()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderNotContains', array('foo', 'bz'));
+        $this->assertWrongAssertion(
+            'responseHeaderNotContains',
+            array('bar', 'ba'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The text "ba" was found in the "bar" response header, but it should not.'
+        );
+    }
+
+    public function testResponseHeaderMatches()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderMatches', array('foo', '/ba(.*)/'));
+        $this->assertWrongAssertion(
+            'responseHeaderMatches',
+            array('bar', '/b[^a]/'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The pattern "/b[^a]/" was not found anywhere in the "bar" response header.'
+        );
+    }
+
+    public function testResponseHeaderNotMatches()
+    {
+        $this->session
+            ->expects($this->any())
+            ->method('getResponseHeader')
+            ->will($this->returnValueMap(
+                array(
+                    array('foo', 'bar'),
+                    array('bar', 'baz'),
+                )
+            ));
+
+        $this->assertCorrectAssertion('responseHeaderNotMatches', array('foo', '/bz/'));
+        $this->assertWrongAssertion(
+            'responseHeaderNotMatches',
+            array('bar', '/b[ab]z/'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The pattern "/b[ab]z/" was found in the text of the "bar" response header, but it should not.'
+        );
+    }
+
+    public function testPageTextContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue("Some  page\n\ttext"))
+        ;
+
+        $this->assertCorrectAssertion('pageTextContains', array('PAGE text'));
+        $this->assertWrongAssertion(
+            'pageTextContains',
+            array('html text'),
+            'Behat\\Mink\\Exception\\ResponseTextException',
+            'The text "html text" was not found anywhere in the text of the current page.'
+        );
+    }
+
+    public function testPageTextNotContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue("Some  html\n\ttext"))
+        ;
+
+        $this->assertCorrectAssertion('pageTextNotContains', array('PAGE text'));
+        $this->assertWrongAssertion(
+            'pageTextNotContains',
+            array('HTML text'),
+            'Behat\\Mink\\Exception\\ResponseTextException',
+            'The text "HTML text" appears in the text of this page, but it should not.'
+        );
+    }
+
+    public function testPageTextMatches()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue('Some page text'))
+        ;
+
+        $this->assertCorrectAssertion('pageTextMatches', array('/PA.E/i'));
+        $this->assertWrongAssertion(
+            'pageTextMatches',
+            array('/html/'),
+            'Behat\\Mink\\Exception\\ResponseTextException',
+            'The pattern /html/ was not found anywhere in the text of the current page.'
+        );
+    }
+
+    public function testPageTextNotMatches()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue('Some html text'))
+        ;
+
+        $this->assertCorrectAssertion('pageTextNotMatches', array('/PA.E/i'));
+        $this->assertWrongAssertion(
+            'pageTextNotMatches',
+            array('/HTML/i'),
+            'Behat\\Mink\\Exception\\ResponseTextException',
+            'The pattern /HTML/i was found in the text of the current page, but it should not.'
+        );
+    }
+
+    public function testResponseContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getContent')
+            ->will($this->returnValue('Some page text'))
+        ;
+
+        $this->assertCorrectAssertion('responseContains', array('PAGE text'));
+        $this->assertWrongAssertion(
+            'responseContains',
+            array('html text'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The string "html text" was not found anywhere in the HTML response of the current page.'
+        );
+    }
+
+    public function testResponseNotContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getContent')
+            ->will($this->returnValue('Some html text'))
+        ;
+
+        $this->assertCorrectAssertion('responseNotContains', array('PAGE text'));
+        $this->assertWrongAssertion(
+            'responseNotContains',
+            array('HTML text'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The string "HTML text" appears in the HTML response of this page, but it should not.'
+        );
+    }
+
+    public function testResponseMatches()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getContent')
+            ->will($this->returnValue('Some page text'))
+        ;
+
+        $this->assertCorrectAssertion('responseMatches', array('/PA.E/i'));
+        $this->assertWrongAssertion(
+            'responseMatches',
+            array('/html/'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The pattern /html/ was not found anywhere in the HTML response of the page.'
+        );
+    }
+
+    public function testResponseNotMatches()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('getContent')
+            ->will($this->returnValue('Some html text'))
+        ;
+
+        $this->assertCorrectAssertion('responseNotMatches', array('/PA.E/i'));
+        $this->assertWrongAssertion(
+            'responseNotMatches',
+            array('/HTML/i'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The pattern /HTML/i was found in the HTML response of the page, but it should not.'
+        );
+    }
+
+    public function testElementsCount()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('findAll')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue(array(1, 2)))
+        ;
+
+        $this->assertCorrectAssertion('elementsCount', array('css', 'h2 > span', 2));
+        $this->assertWrongAssertion(
+            'elementsCount',
+            array('css', 'h2 > span', 3),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            '2 elements matching css "h2 > span" found on the page, but should be 3.'
+        );
+    }
+
+    public function testElementExists()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(4))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->onConsecutiveCalls(1, null, 1, null))
+        ;
+
+        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span'));
+        $this->assertWrongAssertion(
+            'elementExists',
+            array('css', 'h2 > span'),
+            'Behat\\Mink\\Exception\\ElementNotFoundException',
+            'Element matching css "h2 > span" not found.'
+        );
+
+        $this->assertCorrectAssertion('elementExists', array('css', 'h2 > span', $page));
+        $this->assertWrongAssertion(
+            'elementExists',
+            array('css', 'h2 > span', $page),
+            'Behat\\Mink\\Exception\\ElementNotFoundException',
+            'Element matching css "h2 > span" not found.'
+        );
+    }
+
+    public function testElementExistsWithArrayLocator()
+    {
+        $container = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session->expects($this->never())
+            ->method('getPage')
+        ;
+
+        $container
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('named', array('element', 'Test'))
+            ->will($this->onConsecutiveCalls(1, null))
+        ;
+
+        $this->assertCorrectAssertion('elementExists', array('named', array('element', 'Test'), $container));
+        $this->assertWrongAssertion(
+            'elementExists',
+            array('named', array('element', 'Test'), $container),
+            'Behat\\Mink\\Exception\\ElementNotFoundException',
+            'Element with named "element Test" not found.'
+        );
+    }
+
+    public function testElementNotExists()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(4))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->onConsecutiveCalls(null, 1, null, 1))
+        ;
+
+        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span'));
+        $this->assertWrongAssertion(
+            'elementNotExists',
+            array('css', 'h2 > span'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'An element matching css "h2 > span" appears on this page, but it should not.'
+        );
+
+        $this->assertCorrectAssertion('elementNotExists', array('css', 'h2 > span', $page));
+        $this->assertWrongAssertion(
+            'elementNotExists',
+            array('css', 'h2 > span', $page),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'An element matching css "h2 > span" appears on this page, but it should not.'
+        );
+    }
+
+    /**
+     * @dataProvider getArrayLocatorFormats
+     */
+    public function testElementNotExistsArrayLocator($selector, $locator, $expectedMessage)
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->once())
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->once())
+            ->method('find')
+            ->with($selector, $locator)
+            ->will($this->returnValue(1))
+        ;
+
+        $this->assertWrongAssertion(
+            'elementNotExists',
+            array($selector, $locator),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            $expectedMessage
+        );
+    }
+
+    public function getArrayLocatorFormats()
+    {
+        return array(
+            'named' => array(
+                'named',
+                array('button', 'Test'),
+                'An button matching locator "Test" appears on this page, but it should not.',
+            ),
+            'custom' => array(
+                'custom',
+                array('test', 'foo'),
+                'An element matching custom "test foo" appears on this page, but it should not.',
+            ),
+        );
+    }
+
+    public function testElementTextContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue('element text'))
+        ;
+
+        $this->assertCorrectAssertion('elementTextContains', array('css', 'h2 > span', 'text'));
+        $this->assertWrongAssertion(
+            'elementTextContains',
+            array('css', 'h2 > span', 'html'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The text "html" was not found in the text of the element matching css "h2 > span".'
+        );
+    }
+
+    public function testElementTextNotContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getText')
+            ->will($this->returnValue('element text'))
+        ;
+
+        $this->assertCorrectAssertion('elementTextNotContains', array('css', 'h2 > span', 'html'));
+        $this->assertWrongAssertion(
+            'elementTextNotContains',
+            array('css', 'h2 > span', 'text'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The text "text" appears in the text of the element matching css "h2 > span", but it should not.'
+        );
+    }
+
+    public function testElementContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getHtml')
+            ->will($this->returnValue('element html'))
+        ;
+
+        $this->assertCorrectAssertion('elementContains', array('css', 'h2 > span', 'html'));
+        $this->assertWrongAssertion(
+            'elementContains',
+            array('css', 'h2 > span', 'text'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The string "text" was not found in the HTML of the element matching css "h2 > span".'
+        );
+    }
+
+    public function testElementNotContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getHtml')
+            ->will($this->returnValue('element html'))
+        ;
+
+        $this->assertCorrectAssertion('elementNotContains', array('css', 'h2 > span', 'text'));
+        $this->assertWrongAssertion(
+            'elementNotContains',
+            array('css', 'h2 > span', 'html'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The string "html" appears in the HTML of the element matching css "h2 > span", but it should not.'
+        );
+    }
+
+    public function testElementAttributeContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('hasAttribute')
+            ->will($this->returnValue(true))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getAttribute')
+            ->with('name')
+            ->will($this->returnValue('foo'))
+        ;
+
+        $this->assertCorrectAssertion('elementAttributeContains', array('css', 'h2 > span', 'name', 'foo'));
+        $this->assertWrongAssertion(
+            'elementAttributeContains',
+            array('css', 'h2 > span', 'name', 'bar'),
+            'Behat\\Mink\\Exception\\ElementHtmlException',
+            'The text "bar" was not found in the attribute "name" of the element matching css "h2 > span".'
+        );
+    }
+
+    public function testElementAttributeExists()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->at(0))
+            ->method('hasAttribute')
+            ->with('name')
+            ->will($this->returnValue(true))
+        ;
+
+        $element
+            ->expects($this->at(1))
+            ->method('hasAttribute')
+            ->with('name')
+            ->will($this->returnValue(false))
+        ;
+
+        $this->assertCorrectAssertion('elementAttributeExists', array('css', 'h2 > span', 'name'));
+        $this->assertWrongAssertion(
+            'elementAttributeExists',
+            array('css', 'h2 > span', 'name'),
+            'Behat\\Mink\\Exception\\ElementHtmlException',
+            'The attribute "name" was not found in the element matching css "h2 > span".'
+        );
+    }
+
+    public function testElementAttributeNotContains()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('find')
+            ->with('css', 'h2 > span')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('hasAttribute')
+            ->will($this->returnValue(true))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('getAttribute')
+            ->with('name')
+            ->will($this->returnValue('foo'))
+        ;
+
+        $this->assertCorrectAssertion('elementAttributeNotContains', array('css', 'h2 > span', 'name', 'bar'));
+        $this->assertWrongAssertion(
+            'elementAttributeNotContains',
+            array('css', 'h2 > span', 'name', 'foo'),
+            'Behat\\Mink\\Exception\\ElementHtmlException',
+            'The text "foo" was found in the attribute "name" of the element matching css "h2 > span".'
+        );
+    }
+
+    public function testFieldExists()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('findField')
+            ->with('username')
+            ->will($this->onConsecutiveCalls($element, null))
+        ;
+
+        $this->assertCorrectAssertion('fieldExists', array('username'));
+        $this->assertWrongAssertion(
+            'fieldExists',
+            array('username'),
+            'Behat\\Mink\\Exception\\ElementNotFoundException',
+            'Form field with id|name|label|value "username" not found.'
+        );
+    }
+
+    public function testFieldNotExists()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('findField')
+            ->with('username')
+            ->will($this->onConsecutiveCalls(null, $element))
+        ;
+
+        $this->assertCorrectAssertion('fieldNotExists', array('username'));
+        $this->assertWrongAssertion(
+            'fieldNotExists',
+            array('username'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'A field "username" appears on this page, but it should not.'
+        );
+    }
+
+    public function testFieldValueEquals()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(4))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(4))
+            ->method('findField')
+            ->with('username')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(4))
+            ->method('getValue')
+            ->will($this->returnValue(234))
+        ;
+
+        $this->assertCorrectAssertion('fieldValueEquals', array('username', 234));
+        $this->assertWrongAssertion(
+            'fieldValueEquals',
+            array('username', 235),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The field "username" value is "234", but "235" expected.'
+        );
+        $this->assertWrongAssertion(
+            'fieldValueEquals',
+            array('username', 23),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The field "username" value is "234", but "23" expected.'
+        );
+        $this->assertWrongAssertion(
+            'fieldValueEquals',
+            array('username', ''),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The field "username" value is "234", but "" expected.'
+        );
+    }
+
+    public function testFieldValueNotEquals()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(4))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(4))
+            ->method('findField')
+            ->with('username')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(4))
+            ->method('getValue')
+            ->will($this->returnValue(235))
+        ;
+
+        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 234));
+        $this->assertWrongAssertion(
+            'fieldValueNotEquals',
+            array('username', 235),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'The field "username" value is "235", but it should not be.'
+        );
+        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', 23));
+        $this->assertCorrectAssertion('fieldValueNotEquals', array('username', ''));
+    }
+
+    public function testCheckboxChecked()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('findField')
+            ->with('remember_me')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('isChecked')
+            ->will($this->onConsecutiveCalls(true, false))
+        ;
+
+        $this->assertCorrectAssertion('checkboxChecked', array('remember_me'));
+        $this->assertWrongAssertion(
+            'checkboxChecked',
+            array('remember_me'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Checkbox "remember_me" is not checked, but it should be.'
+        );
+    }
+
+    public function testCheckboxNotChecked()
+    {
+        $page = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $element = $this->getMockBuilder('Behat\\Mink\\Element\\NodeElement')
+            ->disableOriginalConstructor()
+            ->getMock()
+        ;
+
+        $this->session
+            ->expects($this->exactly(2))
+            ->method('getPage')
+            ->will($this->returnValue($page))
+        ;
+
+        $page
+            ->expects($this->exactly(2))
+            ->method('findField')
+            ->with('remember_me')
+            ->will($this->returnValue($element))
+        ;
+
+        $element
+            ->expects($this->exactly(2))
+            ->method('isChecked')
+            ->will($this->onConsecutiveCalls(false, true))
+        ;
+
+        $this->assertCorrectAssertion('checkboxNotChecked', array('remember_me'));
+        $this->assertWrongAssertion(
+            'checkboxNotChecked',
+            array('remember_me'),
+            'Behat\\Mink\\Exception\\ExpectationException',
+            'Checkbox "remember_me" is checked, but it should not be.'
+        );
+    }
+
+    private function assertCorrectAssertion($assertion, $arguments)
+    {
+        try {
+            call_user_func_array(array($this->assert, $assertion), $arguments);
+        } catch (ExpectationException $e) {
+            $this->fail('Correct assertion should not throw an exception: '.$e->getMessage());
+        }
+    }
+
+    private function assertWrongAssertion($assertion, $arguments, $exceptionClass, $exceptionMessage)
+    {
+        if ('Behat\Mink\Exception\ExpectationException' !== $exceptionClass && !is_subclass_of($exceptionClass, 'Behat\Mink\Exception\ExpectationException')) {
+            throw new \LogicException('Wrong expected exception for the failed assertion. It should be a Behat\Mink\Exception\ExpectationException.');
+        }
+
+        try {
+            call_user_func_array(array($this->assert, $assertion), $arguments);
+            $this->fail('Wrong assertion should throw an exception');
+        } catch (ExpectationException $e) {
+            $this->assertInstanceOf($exceptionClass, $e);
+            $this->assertSame($exceptionMessage, $e->getMessage());
+        }
+    }
+}
diff --git a/core/vendor/bin/phpunit b/vendor/bin/phpunit
similarity index 100%
rename from core/vendor/bin/phpunit
rename to vendor/bin/phpunit
diff --git a/core/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
similarity index 100%
rename from core/vendor/composer/ClassLoader.php
rename to vendor/composer/ClassLoader.php
diff --git a/core/vendor/composer/LICENSE b/vendor/composer/LICENSE
similarity index 100%
rename from core/vendor/composer/LICENSE
rename to vendor/composer/LICENSE
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
new file mode 100644
index 0000000..3311c08
--- /dev/null
+++ b/vendor/composer/autoload_classmap.php
@@ -0,0 +1,450 @@
+<?php
+
+// autoload_classmap.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+    'Drupal\\Component\\Utility\\Timer' => $baseDir . '/core/lib/Drupal/Component/Utility/Timer.php',
+    'Drupal\\Component\\Utility\\Unicode' => $baseDir . '/core/lib/Drupal/Component/Utility/Unicode.php',
+    'Drupal\\Core\\Database\\Database' => $baseDir . '/core/lib/Drupal/Core/Database/Database.php',
+    'Drupal\\Core\\DrupalKernel' => $baseDir . '/core/lib/Drupal/Core/DrupalKernel.php',
+    'Drupal\\Core\\DrupalKernelInterface' => $baseDir . '/core/lib/Drupal/Core/DrupalKernelInterface.php',
+    'Drupal\\Core\\Site\\Settings' => $baseDir . '/core/lib/Drupal/Core/Site/Settings.php',
+    'File_Iterator' => $vendorDir . '/phpunit/php-file-iterator/src/Iterator.php',
+    'File_Iterator_Facade' => $vendorDir . '/phpunit/php-file-iterator/src/Facade.php',
+    'File_Iterator_Factory' => $vendorDir . '/phpunit/php-file-iterator/src/Factory.php',
+    'PHPUnit_Exception' => $vendorDir . '/phpunit/phpunit/src/Exception.php',
+    'PHPUnit_Extensions_GroupTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/GroupTestSuite.php',
+    'PHPUnit_Extensions_PhptTestCase' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestCase.php',
+    'PHPUnit_Extensions_PhptTestSuite' => $vendorDir . '/phpunit/phpunit/src/Extensions/PhptTestSuite.php',
+    'PHPUnit_Extensions_RepeatedTest' => $vendorDir . '/phpunit/phpunit/src/Extensions/RepeatedTest.php',
+    'PHPUnit_Extensions_TestDecorator' => $vendorDir . '/phpunit/phpunit/src/Extensions/TestDecorator.php',
+    'PHPUnit_Extensions_TicketListener' => $vendorDir . '/phpunit/phpunit/src/Extensions/TicketListener.php',
+    'PHPUnit_Framework_Assert' => $vendorDir . '/phpunit/phpunit/src/Framework/Assert.php',
+    'PHPUnit_Framework_AssertionFailedError' => $vendorDir . '/phpunit/phpunit/src/Framework/AssertionFailedError.php',
+    'PHPUnit_Framework_BaseTestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/BaseTestListener.php',
+    'PHPUnit_Framework_CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/CodeCoverageException.php',
+    'PHPUnit_Framework_Constraint' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint.php',
+    'PHPUnit_Framework_Constraint_And' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/And.php',
+    'PHPUnit_Framework_Constraint_ArrayHasKey' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php',
+    'PHPUnit_Framework_Constraint_ArraySubset' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php',
+    'PHPUnit_Framework_Constraint_Attribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Attribute.php',
+    'PHPUnit_Framework_Constraint_Callback' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Callback.php',
+    'PHPUnit_Framework_Constraint_ClassHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php',
+    'PHPUnit_Framework_Constraint_ClassHasStaticAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php',
+    'PHPUnit_Framework_Constraint_Composite' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Composite.php',
+    'PHPUnit_Framework_Constraint_Count' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Count.php',
+    'PHPUnit_Framework_Constraint_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Exception.php',
+    'PHPUnit_Framework_Constraint_ExceptionCode' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php',
+    'PHPUnit_Framework_Constraint_ExceptionMessage' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php',
+    'PHPUnit_Framework_Constraint_ExceptionMessageRegExp' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php',
+    'PHPUnit_Framework_Constraint_FileExists' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/FileExists.php',
+    'PHPUnit_Framework_Constraint_GreaterThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php',
+    'PHPUnit_Framework_Constraint_IsAnything' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsAnything.php',
+    'PHPUnit_Framework_Constraint_IsEmpty' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php',
+    'PHPUnit_Framework_Constraint_IsEqual' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsEqual.php',
+    'PHPUnit_Framework_Constraint_IsFalse' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsFalse.php',
+    'PHPUnit_Framework_Constraint_IsIdentical' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php',
+    'PHPUnit_Framework_Constraint_IsInstanceOf' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php',
+    'PHPUnit_Framework_Constraint_IsJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsJson.php',
+    'PHPUnit_Framework_Constraint_IsNull' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsNull.php',
+    'PHPUnit_Framework_Constraint_IsTrue' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsTrue.php',
+    'PHPUnit_Framework_Constraint_IsType' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/IsType.php',
+    'PHPUnit_Framework_Constraint_JsonMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php',
+    'PHPUnit_Framework_Constraint_JsonMatches_ErrorMessageProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php',
+    'PHPUnit_Framework_Constraint_LessThan' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/LessThan.php',
+    'PHPUnit_Framework_Constraint_Not' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Not.php',
+    'PHPUnit_Framework_Constraint_ObjectHasAttribute' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php',
+    'PHPUnit_Framework_Constraint_Or' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Or.php',
+    'PHPUnit_Framework_Constraint_PCREMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php',
+    'PHPUnit_Framework_Constraint_SameSize' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/SameSize.php',
+    'PHPUnit_Framework_Constraint_StringContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringContains.php',
+    'PHPUnit_Framework_Constraint_StringEndsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php',
+    'PHPUnit_Framework_Constraint_StringMatches' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringMatches.php',
+    'PHPUnit_Framework_Constraint_StringStartsWith' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php',
+    'PHPUnit_Framework_Constraint_TraversableContains' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php',
+    'PHPUnit_Framework_Constraint_TraversableContainsOnly' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php',
+    'PHPUnit_Framework_Constraint_Xor' => $vendorDir . '/phpunit/phpunit/src/Framework/Constraint/Xor.php',
+    'PHPUnit_Framework_Error' => $vendorDir . '/phpunit/phpunit/src/Framework/Error.php',
+    'PHPUnit_Framework_Error_Deprecated' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Deprecated.php',
+    'PHPUnit_Framework_Error_Notice' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Notice.php',
+    'PHPUnit_Framework_Error_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Error/Warning.php',
+    'PHPUnit_Framework_Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception.php',
+    'PHPUnit_Framework_ExceptionWrapper' => $vendorDir . '/phpunit/phpunit/src/Framework/ExceptionWrapper.php',
+    'PHPUnit_Framework_ExpectationFailedException' => $vendorDir . '/phpunit/phpunit/src/Framework/ExpectationFailedException.php',
+    'PHPUnit_Framework_IncompleteTest' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTest.php',
+    'PHPUnit_Framework_IncompleteTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestCase.php',
+    'PHPUnit_Framework_IncompleteTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/IncompleteTestError.php',
+    'PHPUnit_Framework_InvalidCoversTargetError' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php',
+    'PHPUnit_Framework_InvalidCoversTargetException' => $vendorDir . '/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php',
+    'PHPUnit_Framework_MockObject_BadMethodCallException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php',
+    'PHPUnit_Framework_MockObject_Builder_Identity' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php',
+    'PHPUnit_Framework_MockObject_Builder_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php',
+    'PHPUnit_Framework_MockObject_Builder_Match' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php',
+    'PHPUnit_Framework_MockObject_Builder_MethodNameMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php',
+    'PHPUnit_Framework_MockObject_Builder_Namespace' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php',
+    'PHPUnit_Framework_MockObject_Builder_ParametersMatch' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php',
+    'PHPUnit_Framework_MockObject_Builder_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php',
+    'PHPUnit_Framework_MockObject_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php',
+    'PHPUnit_Framework_MockObject_Generator' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php',
+    'PHPUnit_Framework_MockObject_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php',
+    'PHPUnit_Framework_MockObject_InvocationMocker' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php',
+    'PHPUnit_Framework_MockObject_Invocation_Object' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php',
+    'PHPUnit_Framework_MockObject_Invocation_Static' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php',
+    'PHPUnit_Framework_MockObject_Invokable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php',
+    'PHPUnit_Framework_MockObject_Matcher' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php',
+    'PHPUnit_Framework_MockObject_Matcher_AnyInvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php',
+    'PHPUnit_Framework_MockObject_Matcher_AnyParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php',
+    'PHPUnit_Framework_MockObject_Matcher_ConsecutiveParameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php',
+    'PHPUnit_Framework_MockObject_Matcher_Invocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtIndex' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtLeastOnce' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedAtMostCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedCount' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php',
+    'PHPUnit_Framework_MockObject_Matcher_InvokedRecorder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php',
+    'PHPUnit_Framework_MockObject_Matcher_MethodName' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php',
+    'PHPUnit_Framework_MockObject_Matcher_Parameters' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php',
+    'PHPUnit_Framework_MockObject_Matcher_StatelessInvocation' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php',
+    'PHPUnit_Framework_MockObject_MockBuilder' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php',
+    'PHPUnit_Framework_MockObject_MockObject' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php',
+    'PHPUnit_Framework_MockObject_RuntimeException' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php',
+    'PHPUnit_Framework_MockObject_Stub' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php',
+    'PHPUnit_Framework_MockObject_Stub_ConsecutiveCalls' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php',
+    'PHPUnit_Framework_MockObject_Stub_Exception' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php',
+    'PHPUnit_Framework_MockObject_Stub_MatcherCollection' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php',
+    'PHPUnit_Framework_MockObject_Stub_Return' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php',
+    'PHPUnit_Framework_MockObject_Stub_ReturnArgument' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php',
+    'PHPUnit_Framework_MockObject_Stub_ReturnCallback' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php',
+    'PHPUnit_Framework_MockObject_Stub_ReturnSelf' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php',
+    'PHPUnit_Framework_MockObject_Stub_ReturnValueMap' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php',
+    'PHPUnit_Framework_MockObject_Verifiable' => $vendorDir . '/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php',
+    'PHPUnit_Framework_OutputError' => $vendorDir . '/phpunit/phpunit/src/Framework/OutputError.php',
+    'PHPUnit_Framework_RiskyTest' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTest.php',
+    'PHPUnit_Framework_RiskyTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/RiskyTestError.php',
+    'PHPUnit_Framework_SelfDescribing' => $vendorDir . '/phpunit/phpunit/src/Framework/SelfDescribing.php',
+    'PHPUnit_Framework_SkippedTest' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTest.php',
+    'PHPUnit_Framework_SkippedTestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestCase.php',
+    'PHPUnit_Framework_SkippedTestError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestError.php',
+    'PHPUnit_Framework_SkippedTestSuiteError' => $vendorDir . '/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php',
+    'PHPUnit_Framework_SyntheticError' => $vendorDir . '/phpunit/phpunit/src/Framework/SyntheticError.php',
+    'PHPUnit_Framework_Test' => $vendorDir . '/phpunit/phpunit/src/Framework/Test.php',
+    'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
+    'PHPUnit_Framework_TestFailure' => $vendorDir . '/phpunit/phpunit/src/Framework/TestFailure.php',
+    'PHPUnit_Framework_TestListener' => $vendorDir . '/phpunit/phpunit/src/Framework/TestListener.php',
+    'PHPUnit_Framework_TestResult' => $vendorDir . '/phpunit/phpunit/src/Framework/TestResult.php',
+    'PHPUnit_Framework_TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
+    'PHPUnit_Framework_TestSuite_DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php',
+    'PHPUnit_Framework_UnintentionallyCoveredCodeError' => $vendorDir . '/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php',
+    'PHPUnit_Framework_Warning' => $vendorDir . '/phpunit/phpunit/src/Framework/Warning.php',
+    'PHPUnit_Runner_BaseTestRunner' => $vendorDir . '/phpunit/phpunit/src/Runner/BaseTestRunner.php',
+    'PHPUnit_Runner_Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception.php',
+    'PHPUnit_Runner_Filter_Factory' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Factory.php',
+    'PHPUnit_Runner_Filter_GroupFilterIterator' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group.php',
+    'PHPUnit_Runner_Filter_Group_Exclude' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php',
+    'PHPUnit_Runner_Filter_Group_Include' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Group/Include.php',
+    'PHPUnit_Runner_Filter_Test' => $vendorDir . '/phpunit/phpunit/src/Runner/Filter/Test.php',
+    'PHPUnit_Runner_StandardTestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php',
+    'PHPUnit_Runner_TestSuiteLoader' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteLoader.php',
+    'PHPUnit_Runner_Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
+    'PHPUnit_TextUI_Command' => $vendorDir . '/phpunit/phpunit/src/TextUI/Command.php',
+    'PHPUnit_TextUI_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/TextUI/ResultPrinter.php',
+    'PHPUnit_TextUI_TestRunner' => $vendorDir . '/phpunit/phpunit/src/TextUI/TestRunner.php',
+    'PHPUnit_Util_Blacklist' => $vendorDir . '/phpunit/phpunit/src/Util/Blacklist.php',
+    'PHPUnit_Util_Configuration' => $vendorDir . '/phpunit/phpunit/src/Util/Configuration.php',
+    'PHPUnit_Util_ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Util/ErrorHandler.php',
+    'PHPUnit_Util_Fileloader' => $vendorDir . '/phpunit/phpunit/src/Util/Fileloader.php',
+    'PHPUnit_Util_Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
+    'PHPUnit_Util_Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
+    'PHPUnit_Util_Getopt' => $vendorDir . '/phpunit/phpunit/src/Util/Getopt.php',
+    'PHPUnit_Util_GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
+    'PHPUnit_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/phpunit/src/Util/InvalidArgumentHelper.php',
+    'PHPUnit_Util_Log_JSON' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JSON.php',
+    'PHPUnit_Util_Log_JUnit' => $vendorDir . '/phpunit/phpunit/src/Util/Log/JUnit.php',
+    'PHPUnit_Util_Log_TAP' => $vendorDir . '/phpunit/phpunit/src/Util/Log/TAP.php',
+    'PHPUnit_Util_PHP' => $vendorDir . '/phpunit/phpunit/src/Util/PHP.php',
+    'PHPUnit_Util_PHP_Default' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Default.php',
+    'PHPUnit_Util_PHP_Windows' => $vendorDir . '/phpunit/phpunit/src/Util/PHP/Windows.php',
+    'PHPUnit_Util_Printer' => $vendorDir . '/phpunit/phpunit/src/Util/Printer.php',
+    'PHPUnit_Util_Regex' => $vendorDir . '/phpunit/phpunit/src/Util/Regex.php',
+    'PHPUnit_Util_String' => $vendorDir . '/phpunit/phpunit/src/Util/String.php',
+    'PHPUnit_Util_Test' => $vendorDir . '/phpunit/phpunit/src/Util/Test.php',
+    'PHPUnit_Util_TestDox_NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php',
+    'PHPUnit_Util_TestDox_ResultPrinter' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php',
+    'PHPUnit_Util_TestDox_ResultPrinter_HTML' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php',
+    'PHPUnit_Util_TestDox_ResultPrinter_Text' => $vendorDir . '/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php',
+    'PHPUnit_Util_TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Util/TestSuiteIterator.php',
+    'PHPUnit_Util_Type' => $vendorDir . '/phpunit/phpunit/src/Util/Type.php',
+    'PHPUnit_Util_XML' => $vendorDir . '/phpunit/phpunit/src/Util/XML.php',
+    'PHP_CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
+    'PHP_CodeCoverage_Driver' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver.php',
+    'PHP_CodeCoverage_Driver_HHVM' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php',
+    'PHP_CodeCoverage_Driver_PHPDBG' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php',
+    'PHP_CodeCoverage_Driver_Xdebug' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php',
+    'PHP_CodeCoverage_Exception' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception.php',
+    'PHP_CodeCoverage_Exception_UnintentionallyCoveredCode' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php',
+    'PHP_CodeCoverage_Filter' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Filter.php',
+    'PHP_CodeCoverage_Report_Clover' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php',
+    'PHP_CodeCoverage_Report_Crap4j' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php',
+    'PHP_CodeCoverage_Report_Factory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php',
+    'PHP_CodeCoverage_Report_HTML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php',
+    'PHP_CodeCoverage_Report_HTML_Renderer' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php',
+    'PHP_CodeCoverage_Report_HTML_Renderer_Dashboard' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php',
+    'PHP_CodeCoverage_Report_HTML_Renderer_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php',
+    'PHP_CodeCoverage_Report_HTML_Renderer_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php',
+    'PHP_CodeCoverage_Report_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php',
+    'PHP_CodeCoverage_Report_Node_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php',
+    'PHP_CodeCoverage_Report_Node_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php',
+    'PHP_CodeCoverage_Report_Node_Iterator' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php',
+    'PHP_CodeCoverage_Report_PHP' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php',
+    'PHP_CodeCoverage_Report_Text' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php',
+    'PHP_CodeCoverage_Report_XML' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php',
+    'PHP_CodeCoverage_Report_XML_Directory' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php',
+    'PHP_CodeCoverage_Report_XML_File' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php',
+    'PHP_CodeCoverage_Report_XML_File_Coverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php',
+    'PHP_CodeCoverage_Report_XML_File_Method' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php',
+    'PHP_CodeCoverage_Report_XML_File_Report' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php',
+    'PHP_CodeCoverage_Report_XML_File_Unit' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php',
+    'PHP_CodeCoverage_Report_XML_Node' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php',
+    'PHP_CodeCoverage_Report_XML_Project' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php',
+    'PHP_CodeCoverage_Report_XML_Tests' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php',
+    'PHP_CodeCoverage_Report_XML_Totals' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php',
+    'PHP_CodeCoverage_Util' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util.php',
+    'PHP_CodeCoverage_Util_InvalidArgumentHelper' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php',
+    'PHP_Timer' => $vendorDir . '/phpunit/php-timer/src/Timer.php',
+    'PHP_Token' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_TokenWithScope' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_TokenWithScopeAndVisibility' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ABSTRACT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_AMPERSAND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_AND_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ARRAY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ARRAY_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_AS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ASYNC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_AT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_AWAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BACKTICK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BAD_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BOOLEAN_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BOOLEAN_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BOOL_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_BREAK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CALLABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CARET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CASE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CATCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CHARACTER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLASS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLASS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLASS_NAME_CONSTANT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLONE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLOSE_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLOSE_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLOSE_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CLOSE_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_COALESCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_COMMA' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_COMPILER_HALT_OFFSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CONCAT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CONST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CONSTANT_ENCAPSED_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CONTINUE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_CURLY_OPEN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DEC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DEFAULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DIR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DIV' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DIV_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOC_COMMENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOLLAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOLLAR_OPEN_CURLY_BRACES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOUBLE_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOUBLE_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOUBLE_COLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_DOUBLE_QUOTES' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ELLIPSIS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ELSE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ELSEIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EMPTY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENCAPSED_AND_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDDECLARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDFOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDFOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDIF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDSWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENDWHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_END_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ENUM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EQUALS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EVAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EXCLAMATION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EXIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_EXTENDS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FINAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FINALLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FOREACH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FUNCTION' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_FUNC_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_GLOBAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_GOTO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_HALT_COMPILER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IMPLEMENTS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INCLUDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INCLUDE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INLINE_HTML' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INSTANCEOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INSTEADOF' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INTERFACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_INT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ISSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_GREATER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_NOT_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_NOT_IDENTICAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_IS_SMALLER_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_Includes' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_JOIN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LAMBDA_ARROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LAMBDA_CP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LAMBDA_OP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LINE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LIST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LNUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LOGICAL_AND' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LOGICAL_OR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LOGICAL_XOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_METHOD_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_MINUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_MINUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_MOD_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_MULT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_MUL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_NAMESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_NEW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_NS_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_NS_SEPARATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_NUM_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OBJECT_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OBJECT_OPERATOR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_ONUMBER' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OPEN_BRACKET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OPEN_CURLY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OPEN_SQUARE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OPEN_TAG' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OPEN_TAG_WITH_ECHO' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_OR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PAAMAYIM_NEKUDOTAYIM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PERCENT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PIPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PLUS' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PLUS_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_POW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_POW_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PRINT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PRIVATE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PROTECTED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_PUBLIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_QUESTION_MARK' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_REQUIRE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_REQUIRE_ONCE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_RETURN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SEMICOLON' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SHAPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SL_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SPACESHIP' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_START_HEREDOC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_STATIC' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_STRING' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_STRING_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_STRING_VARNAME' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_SWITCH' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_Stream' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream.php',
+    'PHP_Token_Stream_CachingFactory' => $vendorDir . '/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php',
+    'PHP_Token_THROW' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TILDE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TRAIT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TRAIT_C' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TRY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TYPE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TYPELIST_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_TYPELIST_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_UNSET' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_UNSET_CAST' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_USE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_VAR' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_VARIABLE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_WHERE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_WHILE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_WHITESPACE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_ATTRIBUTE' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_CATEGORY' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_CATEGORY_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_CHILDREN' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_LABEL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_REQUIRED' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_TAG_GT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_TAG_LT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XHP_TEXT' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_XOR_EQUAL' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_YIELD' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'PHP_Token_YIELD_FROM' => $vendorDir . '/phpunit/php-token-stream/src/Token.php',
+    'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
+    'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
+    'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
+    'SebastianBergmann\\Comparator\\DOMNodeComparator' => $vendorDir . '/sebastian/comparator/src/DOMNodeComparator.php',
+    'SebastianBergmann\\Comparator\\DateTimeComparator' => $vendorDir . '/sebastian/comparator/src/DateTimeComparator.php',
+    'SebastianBergmann\\Comparator\\DoubleComparator' => $vendorDir . '/sebastian/comparator/src/DoubleComparator.php',
+    'SebastianBergmann\\Comparator\\ExceptionComparator' => $vendorDir . '/sebastian/comparator/src/ExceptionComparator.php',
+    'SebastianBergmann\\Comparator\\Factory' => $vendorDir . '/sebastian/comparator/src/Factory.php',
+    'SebastianBergmann\\Comparator\\MockObjectComparator' => $vendorDir . '/sebastian/comparator/src/MockObjectComparator.php',
+    'SebastianBergmann\\Comparator\\NumericComparator' => $vendorDir . '/sebastian/comparator/src/NumericComparator.php',
+    'SebastianBergmann\\Comparator\\ObjectComparator' => $vendorDir . '/sebastian/comparator/src/ObjectComparator.php',
+    'SebastianBergmann\\Comparator\\ResourceComparator' => $vendorDir . '/sebastian/comparator/src/ResourceComparator.php',
+    'SebastianBergmann\\Comparator\\ScalarComparator' => $vendorDir . '/sebastian/comparator/src/ScalarComparator.php',
+    'SebastianBergmann\\Comparator\\SplObjectStorageComparator' => $vendorDir . '/sebastian/comparator/src/SplObjectStorageComparator.php',
+    'SebastianBergmann\\Comparator\\TypeComparator' => $vendorDir . '/sebastian/comparator/src/TypeComparator.php',
+    'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php',
+    'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php',
+    'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php',
+    'SebastianBergmann\\Diff\\LCS\\LongestCommonSubsequence' => $vendorDir . '/sebastian/diff/src/LCS/LongestCommonSubsequence.php',
+    'SebastianBergmann\\Diff\\LCS\\MemoryEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php',
+    'SebastianBergmann\\Diff\\LCS\\TimeEfficientImplementation' => $vendorDir . '/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php',
+    'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php',
+    'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php',
+    'SebastianBergmann\\Environment\\Console' => $vendorDir . '/sebastian/environment/src/Console.php',
+    'SebastianBergmann\\Environment\\Runtime' => $vendorDir . '/sebastian/environment/src/Runtime.php',
+    'SebastianBergmann\\Exporter\\Exporter' => $vendorDir . '/sebastian/exporter/src/Exporter.php',
+    'SebastianBergmann\\GlobalState\\Blacklist' => $vendorDir . '/sebastian/global-state/src/Blacklist.php',
+    'SebastianBergmann\\GlobalState\\Exception' => $vendorDir . '/sebastian/global-state/src/Exception.php',
+    'SebastianBergmann\\GlobalState\\Restorer' => $vendorDir . '/sebastian/global-state/src/Restorer.php',
+    'SebastianBergmann\\GlobalState\\RuntimeException' => $vendorDir . '/sebastian/global-state/src/RuntimeException.php',
+    'SebastianBergmann\\GlobalState\\Snapshot' => $vendorDir . '/sebastian/global-state/src/Snapshot.php',
+    'SebastianBergmann\\RecursionContext\\Context' => $vendorDir . '/sebastian/recursion-context/src/Context.php',
+    'SebastianBergmann\\RecursionContext\\Exception' => $vendorDir . '/sebastian/recursion-context/src/Exception.php',
+    'SebastianBergmann\\RecursionContext\\InvalidArgumentException' => $vendorDir . '/sebastian/recursion-context/src/InvalidArgumentException.php',
+    'SebastianBergmann\\Version' => $vendorDir . '/sebastian/version/src/Version.php',
+    'SessionHandlerInterface' => $vendorDir . '/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php',
+    'Text_Template' => $vendorDir . '/phpunit/php-text-template/src/Template.php',
+);
diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
new file mode 100644
index 0000000..52711f4
--- /dev/null
+++ b/vendor/composer/autoload_files.php
@@ -0,0 +1,13 @@
+<?php
+
+// autoload_files.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+    $vendorDir . '/guzzlehttp/promises/src/functions_include.php',
+    $vendorDir . '/guzzlehttp/psr7/src/functions_include.php',
+    $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php',
+    $baseDir . '/core/lib/Drupal.php',
+);
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
new file mode 100644
index 0000000..bb43043
--- /dev/null
+++ b/vendor/composer/autoload_namespaces.php
@@ -0,0 +1,24 @@
+<?php
+
+// autoload_namespaces.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+    'phpDocumentor' => array($vendorDir . '/phpdocumentor/reflection-docblock/src'),
+    'org\\bovigo\\vfs\\' => array($vendorDir . '/mikey179/vfsStream/src/main/php'),
+    'Twig_' => array($vendorDir . '/twig/twig/lib'),
+    'Stack' => array($vendorDir . '/stack/builder/src'),
+    'Psr\\Log\\' => array($vendorDir . '/psr/log'),
+    'Prophecy\\' => array($vendorDir . '/phpspec/prophecy/src'),
+    'Egulias\\' => array($vendorDir . '/egulias/email-validator/src'),
+    'EasyRdf_' => array($vendorDir . '/easyrdf/easyrdf/lib'),
+    'Doctrine\\Common\\Lexer\\' => array($vendorDir . '/doctrine/lexer/lib'),
+    'Doctrine\\Common\\Inflector\\' => array($vendorDir . '/doctrine/inflector/lib'),
+    'Doctrine\\Common\\Collections\\' => array($vendorDir . '/doctrine/collections/lib'),
+    'Doctrine\\Common\\Cache\\' => array($vendorDir . '/doctrine/cache/lib'),
+    'Doctrine\\Common\\Annotations\\' => array($vendorDir . '/doctrine/annotations/lib'),
+    'Doctrine\\Common\\' => array($vendorDir . '/doctrine/common/lib'),
+    'Composer\\Installers\\' => array($vendorDir . '/composer/installers/src'),
+);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
new file mode 100644
index 0000000..5c6d968
--- /dev/null
+++ b/vendor/composer/autoload_psr4.php
@@ -0,0 +1,45 @@
+<?php
+
+// autoload_psr4.php @generated by Composer
+
+$vendorDir = dirname(dirname(__FILE__));
+$baseDir = dirname($vendorDir);
+
+return array(
+    'Zend\\Stdlib\\' => array($vendorDir . '/zendframework/zend-stdlib/src'),
+    'Zend\\Hydrator\\' => array($vendorDir . '/zendframework/zend-hydrator/src'),
+    'Zend\\Feed\\' => array($vendorDir . '/zendframework/zend-feed/src'),
+    'Zend\\Escaper\\' => array($vendorDir . '/zendframework/zend-escaper/src'),
+    'Zend\\Diactoros\\' => array($vendorDir . '/zendframework/zend-diactoros/src'),
+    'Wikimedia\\Composer\\' => array($vendorDir . '/wikimedia/composer-merge-plugin/src'),
+    'Symfony\\Component\\Yaml\\' => array($vendorDir . '/symfony/yaml'),
+    'Symfony\\Component\\Validator\\' => array($vendorDir . '/symfony/validator'),
+    'Symfony\\Component\\Translation\\' => array($vendorDir . '/symfony/translation'),
+    'Symfony\\Component\\Serializer\\' => array($vendorDir . '/symfony/serializer'),
+    'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'),
+    'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
+    'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
+    'Symfony\\Component\\HttpFoundation\\' => array($vendorDir . '/symfony/http-foundation'),
+    'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'),
+    'Symfony\\Component\\DomCrawler\\' => array($vendorDir . '/symfony/dom-crawler'),
+    'Symfony\\Component\\DependencyInjection\\' => array($vendorDir . '/symfony/dependency-injection'),
+    'Symfony\\Component\\Debug\\' => array($vendorDir . '/symfony/debug'),
+    'Symfony\\Component\\CssSelector\\' => array($vendorDir . '/symfony/css-selector'),
+    'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'),
+    'Symfony\\Component\\ClassLoader\\' => array($vendorDir . '/symfony/class-loader'),
+    'Symfony\\Component\\BrowserKit\\' => array($vendorDir . '/symfony/browser-kit'),
+    'Symfony\\Cmf\\Component\\Routing\\' => array($vendorDir . '/symfony-cmf/routing'),
+    'Symfony\\Bridge\\PsrHttpMessage\\' => array($vendorDir . '/symfony/psr-http-message-bridge'),
+    'Psr\\Http\\Message\\' => array($vendorDir . '/psr/http-message/src'),
+    'Masterminds\\' => array($vendorDir . '/masterminds/html5/src'),
+    'GuzzleHttp\\Psr7\\' => array($vendorDir . '/guzzlehttp/psr7/src'),
+    'GuzzleHttp\\Promise\\' => array($vendorDir . '/guzzlehttp/promises/src'),
+    'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
+    'Goutte\\' => array($vendorDir . '/fabpot/goutte/Goutte'),
+    'Drupal\\Driver\\' => array($baseDir . '/drivers/lib/Drupal/Driver'),
+    'Drupal\\Core\\' => array($baseDir . '/core/lib/Drupal/Core'),
+    'Drupal\\Component\\' => array($baseDir . '/core/lib/Drupal/Component'),
+    'Doctrine\\Instantiator\\' => array($vendorDir . '/doctrine/instantiator/src/Doctrine/Instantiator'),
+    'Behat\\Mink\\Driver\\' => array($vendorDir . '/behat/mink-browserkit-driver/src', $vendorDir . '/behat/mink-goutte-driver/src'),
+    'Behat\\Mink\\' => array($vendorDir . '/behat/mink/src'),
+);
diff --git a/core/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
similarity index 100%
rename from core/vendor/composer/autoload_real.php
rename to vendor/composer/autoload_real.php
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
new file mode 100644
index 0000000..22f7aa0
--- /dev/null
+++ b/vendor/composer/installed.json
@@ -0,0 +1,3698 @@
+[
+    {
+        "name": "wikimedia/composer-merge-plugin",
+        "version": "dev-master",
+        "version_normalized": "9999999-dev",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/wikimedia/composer-merge-plugin.git",
+            "reference": "47bb3388cfeae41a38087ac8465a7d08fa92ea2e"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/47bb3388cfeae41a38087ac8465a7d08fa92ea2e",
+            "reference": "47bb3388cfeae41a38087ac8465a7d08fa92ea2e",
+            "shasum": ""
+        },
+        "require": {
+            "composer-plugin-api": "^1.0",
+            "php": ">=5.3.2"
+        },
+        "require-dev": {
+            "composer/composer": "1.0.*@dev",
+            "jakub-onderka/php-parallel-lint": "~0.8",
+            "phpspec/prophecy-phpunit": "~1.0",
+            "phpunit/phpunit": "~4.0",
+            "squizlabs/php_codesniffer": "~2.1.0"
+        },
+        "time": "2015-09-22 21:14:25",
+        "type": "composer-plugin",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3.x-dev"
+            },
+            "class": "Wikimedia\\Composer\\MergePlugin"
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Wikimedia\\Composer\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Bryan Davis",
+                "email": "bd808@wikimedia.org"
+            }
+        ],
+        "description": "Composer plugin to merge multiple composer.json files"
+    },
+    {
+        "name": "composer/installers",
+        "version": "v1.0.21",
+        "version_normalized": "1.0.21.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/composer/installers.git",
+            "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/composer/installers/zipball/d64e23fce42a4063d63262b19b8e7c0f3b5e4c45",
+            "reference": "d64e23fce42a4063d63262b19b8e7c0f3b5e4c45",
+            "shasum": ""
+        },
+        "replace": {
+            "roundcube/plugin-installer": "*",
+            "shama/baton": "*"
+        },
+        "require-dev": {
+            "composer/composer": "1.0.*@dev",
+            "phpunit/phpunit": "4.1.*"
+        },
+        "time": "2015-02-18 17:17:01",
+        "type": "composer-installer",
+        "extra": {
+            "class": "Composer\\Installers\\Installer",
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Composer\\Installers\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Kyle Robinson Young",
+                "email": "kyle@dontkry.com",
+                "homepage": "https://github.com/shama"
+            }
+        ],
+        "description": "A multi-framework Composer library installer",
+        "homepage": "http://composer.github.com/installers/",
+        "keywords": [
+            "Craft",
+            "Dolibarr",
+            "Hurad",
+            "MODX Evo",
+            "OXID",
+            "SMF",
+            "Thelia",
+            "WolfCMS",
+            "agl",
+            "aimeos",
+            "annotatecms",
+            "bitrix",
+            "cakephp",
+            "chef",
+            "codeigniter",
+            "concrete5",
+            "croogo",
+            "dokuwiki",
+            "drupal",
+            "elgg",
+            "fuelphp",
+            "grav",
+            "installer",
+            "joomla",
+            "kohana",
+            "laravel",
+            "lithium",
+            "magento",
+            "mako",
+            "mediawiki",
+            "modulework",
+            "moodle",
+            "phpbb",
+            "piwik",
+            "ppi",
+            "puppet",
+            "roundcube",
+            "shopware",
+            "silverstripe",
+            "symfony",
+            "typo3",
+            "wordpress",
+            "zend",
+            "zikula"
+        ]
+    },
+    {
+        "name": "psr/log",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/php-fig/log.git",
+            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
+            "shasum": ""
+        },
+        "time": "2012-12-21 11:40:51",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Psr\\Log\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "PHP-FIG",
+                "homepage": "http://www.php-fig.org/"
+            }
+        ],
+        "description": "Common interface for logging libraries",
+        "keywords": [
+            "log",
+            "psr",
+            "psr-3"
+        ]
+    },
+    {
+        "name": "symfony/debug",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Debug.git",
+            "reference": "726bf9651d29f53243281d0b6418cfaa5e318281"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Debug/zipball/726bf9651d29f53243281d0b6418cfaa5e318281",
+            "reference": "726bf9651d29f53243281d0b6418cfaa5e318281",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9",
+            "psr/log": "~1.0"
+        },
+        "conflict": {
+            "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+        },
+        "require-dev": {
+            "symfony/class-loader": "~2.2",
+            "symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-29 11:12:16",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Debug\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Debug Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/http-foundation",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/HttpFoundation.git",
+            "reference": "7253c2041652353e71560bbd300d6256d170ddaf"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/HttpFoundation/zipball/7253c2041652353e71560bbd300d6256d170ddaf",
+            "reference": "7253c2041652353e71560bbd300d6256d170ddaf",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/expression-language": "~2.4",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-27 06:45:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\HttpFoundation\\": ""
+            },
+            "classmap": [
+                "Resources/stubs"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony HttpFoundation Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/event-dispatcher",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/EventDispatcher.git",
+            "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/EventDispatcher/zipball/b58c916f1db03a611b72dd702564f30ad8fe83fa",
+            "reference": "b58c916f1db03a611b72dd702564f30ad8fe83fa",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "psr/log": "~1.0",
+            "symfony/config": "~2.0,>=2.0.5",
+            "symfony/dependency-injection": "~2.6",
+            "symfony/expression-language": "~2.6",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/stopwatch": "~2.3"
+        },
+        "suggest": {
+            "symfony/dependency-injection": "",
+            "symfony/http-kernel": ""
+        },
+        "time": "2015-08-24 07:13:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\EventDispatcher\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony EventDispatcher Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/http-kernel",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/HttpKernel.git",
+            "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/HttpKernel/zipball/fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
+            "reference": "fd9c7af92c9e3ade1327cc3af10b17731eebc4a7",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9",
+            "psr/log": "~1.0",
+            "symfony/debug": "~2.6,>=2.6.2",
+            "symfony/event-dispatcher": "~2.6,>=2.6.7",
+            "symfony/http-foundation": "~2.5,>=2.5.4"
+        },
+        "conflict": {
+            "symfony/config": "<2.7"
+        },
+        "require-dev": {
+            "symfony/browser-kit": "~2.3",
+            "symfony/class-loader": "~2.1",
+            "symfony/config": "~2.7",
+            "symfony/console": "~2.3",
+            "symfony/css-selector": "~2.0,>=2.0.5",
+            "symfony/dependency-injection": "~2.2",
+            "symfony/dom-crawler": "~2.0,>=2.0.5",
+            "symfony/expression-language": "~2.4",
+            "symfony/finder": "~2.0,>=2.0.5",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/process": "~2.0,>=2.0.5",
+            "symfony/routing": "~2.2",
+            "symfony/stopwatch": "~2.3",
+            "symfony/templating": "~2.2",
+            "symfony/translation": "~2.0,>=2.0.5",
+            "symfony/var-dumper": "~2.6"
+        },
+        "suggest": {
+            "symfony/browser-kit": "",
+            "symfony/class-loader": "",
+            "symfony/config": "",
+            "symfony/console": "",
+            "symfony/dependency-injection": "",
+            "symfony/finder": "",
+            "symfony/var-dumper": ""
+        },
+        "time": "2015-09-08 14:26:39",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\HttpKernel\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony HttpKernel Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/routing",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Routing.git",
+            "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Routing/zipball/20b1378cb6efffb77ea0608232f18c8f0dd25109",
+            "reference": "20b1378cb6efffb77ea0608232f18c8f0dd25109",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "conflict": {
+            "symfony/config": "<2.7"
+        },
+        "require-dev": {
+            "doctrine/annotations": "~1.0",
+            "doctrine/common": "~2.2",
+            "psr/log": "~1.0",
+            "symfony/config": "~2.7",
+            "symfony/expression-language": "~2.4",
+            "symfony/http-foundation": "~2.3",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/yaml": "~2.0,>=2.0.5"
+        },
+        "suggest": {
+            "doctrine/annotations": "For using the annotation loader",
+            "symfony/config": "For using the all-in-one router or any loader",
+            "symfony/expression-language": "For using expression matching",
+            "symfony/yaml": "For using the YAML loader"
+        },
+        "time": "2015-08-24 07:13:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Routing\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Routing Component",
+        "homepage": "https://symfony.com",
+        "keywords": [
+            "router",
+            "routing",
+            "uri",
+            "url"
+        ]
+    },
+    {
+        "name": "symfony-cmf/routing",
+        "version": "1.3.0",
+        "version_normalized": "1.3.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony-cmf/Routing.git",
+            "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony-cmf/Routing/zipball/8e87981d72c6930a27585dcd3119f3199f6cb2a6",
+            "reference": "8e87981d72c6930a27585dcd3119f3199f6cb2a6",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3",
+            "psr/log": "~1.0",
+            "symfony/http-kernel": "~2.2",
+            "symfony/routing": "~2.2"
+        },
+        "require-dev": {
+            "symfony/config": "~2.2",
+            "symfony/dependency-injection": "~2.0@stable",
+            "symfony/event-dispatcher": "~2.1"
+        },
+        "suggest": {
+            "symfony/event-dispatcher": "DynamicRouter can optionally trigger an event at the start of matching. Minimal version ~2.1"
+        },
+        "time": "2014-10-20 20:55:17",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Cmf\\Component\\Routing\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Symfony CMF Community",
+                "homepage": "https://github.com/symfony-cmf/Routing/contributors"
+            }
+        ],
+        "description": "Extends the Symfony2 routing component for dynamic routes and chaining several routers",
+        "homepage": "http://cmf.symfony.com",
+        "keywords": [
+            "database",
+            "routing"
+        ]
+    },
+    {
+        "name": "psr/http-message",
+        "version": "1.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/php-fig/http-message.git",
+            "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/php-fig/http-message/zipball/85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
+            "reference": "85d63699f0dbedb190bbd4b0d2b9dc707ea4c298",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0"
+        },
+        "time": "2015-05-04 20:22:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Psr\\Http\\Message\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "PHP-FIG",
+                "homepage": "http://www.php-fig.org/"
+            }
+        ],
+        "description": "Common interface for HTTP messages",
+        "keywords": [
+            "http",
+            "http-message",
+            "psr",
+            "psr-7",
+            "request",
+            "response"
+        ]
+    },
+    {
+        "name": "symfony/psr-http-message-bridge",
+        "version": "v0.2",
+        "version_normalized": "0.2.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/psr-http-message-bridge.git",
+            "reference": "dc7e308e1dc2898a46776e2221a643cb08315453"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/dc7e308e1dc2898a46776e2221a643cb08315453",
+            "reference": "dc7e308e1dc2898a46776e2221a643cb08315453",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3",
+            "psr/http-message": "~1.0",
+            "symfony/http-foundation": "~2.3|~3.0"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7|~3.0"
+        },
+        "suggest": {
+            "zendframework/zend-diactoros": "To use the Zend Diactoros factory"
+        },
+        "time": "2015-05-29 17:57:12",
+        "type": "symfony-bridge",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Bridge\\PsrHttpMessage\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Symfony Community",
+                "homepage": "http://symfony.com/contributors"
+            },
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            }
+        ],
+        "description": "PSR HTTP message bridge",
+        "homepage": "http://symfony.com",
+        "keywords": [
+            "http",
+            "http-message",
+            "psr-7"
+        ]
+    },
+    {
+        "name": "guzzlehttp/promises",
+        "version": "1.0.2",
+        "version_normalized": "1.0.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/guzzle/promises.git",
+            "reference": "97fe7210def29451ec74923b27e552238defd75a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/guzzle/promises/zipball/97fe7210def29451ec74923b27e552238defd75a",
+            "reference": "97fe7210def29451ec74923b27e552238defd75a",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.5.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.0"
+        },
+        "time": "2015-08-15 19:37:21",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "GuzzleHttp\\Promise\\": "src/"
+            },
+            "files": [
+                "src/functions_include.php"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Michael Dowling",
+                "email": "mtdowling@gmail.com",
+                "homepage": "https://github.com/mtdowling"
+            }
+        ],
+        "description": "Guzzle promises library",
+        "keywords": [
+            "promise"
+        ]
+    },
+    {
+        "name": "guzzlehttp/psr7",
+        "version": "1.2.0",
+        "version_normalized": "1.2.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/guzzle/psr7.git",
+            "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/guzzle/psr7/zipball/4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
+            "reference": "4ef919b0cf3b1989523138b60163bbcb7ba1ff7e",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.4.0",
+            "psr/http-message": "~1.0"
+        },
+        "provide": {
+            "psr/http-message-implementation": "1.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.0"
+        },
+        "time": "2015-08-15 19:32:36",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "GuzzleHttp\\Psr7\\": "src/"
+            },
+            "files": [
+                "src/functions_include.php"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Michael Dowling",
+                "email": "mtdowling@gmail.com",
+                "homepage": "https://github.com/mtdowling"
+            }
+        ],
+        "description": "PSR-7 message implementation",
+        "keywords": [
+            "http",
+            "message",
+            "stream",
+            "uri"
+        ]
+    },
+    {
+        "name": "guzzlehttp/guzzle",
+        "version": "6.1.0",
+        "version_normalized": "6.1.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/guzzle/guzzle.git",
+            "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
+            "reference": "66fd14b4d0b8f2389eaf37c5458608c7cb793a81",
+            "shasum": ""
+        },
+        "require": {
+            "guzzlehttp/promises": "~1.0",
+            "guzzlehttp/psr7": "~1.1",
+            "php": ">=5.5.0"
+        },
+        "require-dev": {
+            "ext-curl": "*",
+            "phpunit/phpunit": "~4.0",
+            "psr/log": "~1.0"
+        },
+        "time": "2015-09-08 17:36:26",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "6.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "files": [
+                "src/functions_include.php"
+            ],
+            "psr-4": {
+                "GuzzleHttp\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Michael Dowling",
+                "email": "mtdowling@gmail.com",
+                "homepage": "https://github.com/mtdowling"
+            }
+        ],
+        "description": "Guzzle is a PHP HTTP client library",
+        "homepage": "http://guzzlephp.org/",
+        "keywords": [
+            "client",
+            "curl",
+            "framework",
+            "http",
+            "http client",
+            "rest",
+            "web service"
+        ]
+    },
+    {
+        "name": "symfony/dom-crawler",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/DomCrawler.git",
+            "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/DomCrawler/zipball/2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
+            "reference": "2a161e4ee2b2f33d4153be58df4f6f2a5506936e",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/css-selector": "~2.3",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "suggest": {
+            "symfony/css-selector": ""
+        },
+        "time": "2015-08-26 10:48:03",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\DomCrawler\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony DomCrawler Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/css-selector",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/CssSelector.git",
+            "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/CssSelector/zipball/ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
+            "reference": "ffb5f3b8a75f8d1b9801e74dc6789a0751a670ad",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-24 07:13:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\CssSelector\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Jean-FranÃ§ois Simon",
+                "email": "jeanfrancois.simon@sensiolabs.com"
+            },
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony CssSelector Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/browser-kit",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/BrowserKit.git",
+            "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/BrowserKit/zipball/277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
+            "reference": "277a2457776d4cc25706fbdd9d1e4ab2dac884e4",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9",
+            "symfony/dom-crawler": "~2.0,>=2.0.5"
+        },
+        "require-dev": {
+            "symfony/css-selector": "~2.0,>=2.0.5",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/process": "~2.0,>=2.0.5"
+        },
+        "suggest": {
+            "symfony/process": ""
+        },
+        "time": "2015-09-06 08:36:38",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\BrowserKit\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony BrowserKit Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "fabpot/goutte",
+        "version": "v3.1.1",
+        "version_normalized": "3.1.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/FriendsOfPHP/Goutte.git",
+            "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
+            "reference": "751a3dc5c4d86ec3e97c9f27133ef9694d9243cc",
+            "shasum": ""
+        },
+        "require": {
+            "guzzlehttp/guzzle": "^6.0",
+            "php": ">=5.5.0",
+            "symfony/browser-kit": "~2.1",
+            "symfony/css-selector": "~2.1",
+            "symfony/dom-crawler": "~2.1"
+        },
+        "time": "2015-08-29 16:16:56",
+        "type": "application",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "3.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Goutte\\": "Goutte"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            }
+        ],
+        "description": "A simple PHP Web Scraper",
+        "homepage": "https://github.com/FriendsOfPHP/Goutte",
+        "keywords": [
+            "scraper"
+        ]
+    },
+    {
+        "name": "symfony/process",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Process.git",
+            "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Process/zipball/f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
+            "reference": "f7b3f73f70a7f8f49a1c838dc3debbf054732d8e",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-27 06:45:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Process\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Process Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "behat/mink",
+        "version": "v1.7.0",
+        "version_normalized": "1.7.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/minkphp/Mink.git",
+            "reference": "6c129030ec2cc029905cf969a56ca8f087b2dfdf"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/minkphp/Mink/zipball/6c129030ec2cc029905cf969a56ca8f087b2dfdf",
+            "reference": "6c129030ec2cc029905cf969a56ca8f087b2dfdf",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.1",
+            "symfony/css-selector": "~2.1"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "suggest": {
+            "behat/mink-browserkit-driver": "extremely fast headless driver for Symfony\\Kernel-based apps (Sf2, Silex)",
+            "behat/mink-goutte-driver": "fast headless driver for any app without JS emulation",
+            "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)",
+            "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)"
+        },
+        "time": "2015-09-20 20:24:03",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.7.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Behat\\Mink\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Konstantin Kudryashov",
+                "email": "ever.zet@gmail.com",
+                "homepage": "http://everzet.com"
+            }
+        ],
+        "description": "Browser controller/emulator abstraction for PHP",
+        "homepage": "http://mink.behat.org/",
+        "keywords": [
+            "browser",
+            "testing",
+            "web"
+        ]
+    },
+    {
+        "name": "behat/mink-browserkit-driver",
+        "version": "v1.3.0",
+        "version_normalized": "1.3.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/minkphp/MinkBrowserKitDriver.git",
+            "reference": "da47df1593dac132f04d24e7277ef40d33d9f201"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/da47df1593dac132f04d24e7277ef40d33d9f201",
+            "reference": "da47df1593dac132f04d24e7277ef40d33d9f201",
+            "shasum": ""
+        },
+        "require": {
+            "behat/mink": "~1.7@dev",
+            "php": ">=5.3.6",
+            "symfony/browser-kit": "~2.3",
+            "symfony/dom-crawler": "~2.3"
+        },
+        "require-dev": {
+            "silex/silex": "~1.2",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-09-21 20:56:13",
+        "type": "mink-driver",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Behat\\Mink\\Driver\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Konstantin Kudryashov",
+                "email": "ever.zet@gmail.com",
+                "homepage": "http://everzet.com"
+            }
+        ],
+        "description": "Symfony2 BrowserKit driver for Mink framework",
+        "homepage": "http://mink.behat.org/",
+        "keywords": [
+            "Mink",
+            "Symfony2",
+            "browser",
+            "testing"
+        ]
+    },
+    {
+        "name": "behat/mink-goutte-driver",
+        "version": "dev-master",
+        "version_normalized": "9999999-dev",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/minkphp/MinkGoutteDriver.git",
+            "reference": "c8e254f127d6f2242b994afd4339fb62d471df3f"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/minkphp/MinkGoutteDriver/zipball/c8e254f127d6f2242b994afd4339fb62d471df3f",
+            "reference": "c8e254f127d6f2242b994afd4339fb62d471df3f",
+            "shasum": ""
+        },
+        "require": {
+            "behat/mink": "~1.6@dev",
+            "behat/mink-browserkit-driver": "~1.2@dev",
+            "fabpot/goutte": "~1.0.4|~2.0|~3.1",
+            "php": ">=5.3.1"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-09-21 21:31:11",
+        "type": "mink-driver",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Behat\\Mink\\Driver\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Konstantin Kudryashov",
+                "email": "ever.zet@gmail.com",
+                "homepage": "http://everzet.com"
+            }
+        ],
+        "description": "Goutte driver for Mink framework",
+        "homepage": "http://mink.behat.org/",
+        "keywords": [
+            "browser",
+            "goutte",
+            "headless",
+            "testing"
+        ]
+    },
+    {
+        "name": "symfony/class-loader",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/ClassLoader.git",
+            "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/ClassLoader/zipball/d957ea6295d7016e20d7eff33a6c1deef819c0d4",
+            "reference": "d957ea6295d7016e20d7eff33a6c1deef819c0d4",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/finder": "~2.0,>=2.0.5",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-26 17:56:37",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\ClassLoader\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony ClassLoader Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/console",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Console.git",
+            "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Console/zipball/9ff9032151186bd66ecee727d728f1319f52d1d8",
+            "reference": "9ff9032151186bd66ecee727d728f1319f52d1d8",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "psr/log": "~1.0",
+            "symfony/event-dispatcher": "~2.1",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/process": "~2.1"
+        },
+        "suggest": {
+            "psr/log": "For using the console logger",
+            "symfony/event-dispatcher": "",
+            "symfony/process": ""
+        },
+        "time": "2015-09-03 11:40:38",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Console\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Console Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/dependency-injection",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/DependencyInjection.git",
+            "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/DependencyInjection/zipball/c0a3a97b9450d77cd8eff81c5825efb3624c255b",
+            "reference": "c0a3a97b9450d77cd8eff81c5825efb3624c255b",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "conflict": {
+            "symfony/expression-language": "<2.6"
+        },
+        "require-dev": {
+            "symfony/config": "~2.2",
+            "symfony/expression-language": "~2.6",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/yaml": "~2.1"
+        },
+        "suggest": {
+            "symfony/config": "",
+            "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them",
+            "symfony/yaml": ""
+        },
+        "time": "2015-08-24 07:16:32",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\DependencyInjection\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony DependencyInjection Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/serializer",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Serializer.git",
+            "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Serializer/zipball/baf24f86a8656eea9c80988f332e51461bfcb67f",
+            "reference": "baf24f86a8656eea9c80988f332e51461bfcb67f",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "doctrine/annotations": "~1.0",
+            "doctrine/cache": "~1.0",
+            "symfony/config": "~2.2",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/property-access": "~2.3",
+            "symfony/yaml": "~2.0,>=2.0.5"
+        },
+        "suggest": {
+            "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
+            "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+            "symfony/config": "For using the XML mapping loader.",
+            "symfony/property-access": "For using the ObjectNormalizer.",
+            "symfony/yaml": "For using the default YAML mapping loader."
+        },
+        "time": "2015-08-31 16:44:53",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Serializer\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Serializer Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/translation",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Translation.git",
+            "reference": "485877661835e188cd78345c6d4eef1290d17571"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Translation/zipball/485877661835e188cd78345c6d4eef1290d17571",
+            "reference": "485877661835e188cd78345c6d4eef1290d17571",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "conflict": {
+            "symfony/config": "<2.7"
+        },
+        "require-dev": {
+            "psr/log": "~1.0",
+            "symfony/config": "~2.7",
+            "symfony/intl": "~2.4",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/yaml": "~2.2"
+        },
+        "suggest": {
+            "psr/log": "To use logging capability in translator",
+            "symfony/config": "",
+            "symfony/yaml": ""
+        },
+        "time": "2015-09-06 08:36:38",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Translation\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Translation Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/validator",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Validator.git",
+            "reference": "356459a697e26274d44c608513c05c23dc1d8ea7"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Validator/zipball/356459a697e26274d44c608513c05c23dc1d8ea7",
+            "reference": "356459a697e26274d44c608513c05c23dc1d8ea7",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9",
+            "symfony/translation": "~2.4"
+        },
+        "require-dev": {
+            "doctrine/annotations": "~1.0",
+            "doctrine/cache": "~1.0",
+            "egulias/email-validator": "~1.2,>=1.2.1",
+            "symfony/config": "~2.2",
+            "symfony/expression-language": "~2.4",
+            "symfony/http-foundation": "~2.1",
+            "symfony/intl": "~2.4",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/property-access": "~2.3",
+            "symfony/yaml": "~2.0,>=2.0.5"
+        },
+        "suggest": {
+            "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.",
+            "doctrine/cache": "For using the default cached annotation reader and metadata cache.",
+            "egulias/email-validator": "Strict (RFC compliant) email validation",
+            "symfony/config": "",
+            "symfony/expression-language": "For using the 2.4 Expression validator",
+            "symfony/http-foundation": "",
+            "symfony/intl": "",
+            "symfony/property-access": "For using the 2.4 Validator API",
+            "symfony/yaml": ""
+        },
+        "time": "2015-09-06 08:36:38",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Validator\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Validator Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "twig/twig",
+        "version": "v1.22.2",
+        "version_normalized": "1.22.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/twigphp/Twig.git",
+            "reference": "79249fc8c9ff62e41e217e0c630e2e00bcadda6a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/twigphp/Twig/zipball/79249fc8c9ff62e41e217e0c630e2e00bcadda6a",
+            "reference": "79249fc8c9ff62e41e217e0c630e2e00bcadda6a",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.2.7"
+        },
+        "require-dev": {
+            "symfony/debug": "~2.7",
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-09-22 13:59:32",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.22-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Twig_": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com",
+                "homepage": "http://fabien.potencier.org",
+                "role": "Lead Developer"
+            },
+            {
+                "name": "Armin Ronacher",
+                "email": "armin.ronacher@active-4.com",
+                "role": "Project Founder"
+            },
+            {
+                "name": "Twig Team",
+                "homepage": "http://twig.sensiolabs.org/contributors",
+                "role": "Contributors"
+            }
+        ],
+        "description": "Twig, the flexible, fast, and secure template language for PHP",
+        "homepage": "http://twig.sensiolabs.org",
+        "keywords": [
+            "templating"
+        ]
+    },
+    {
+        "name": "doctrine/lexer",
+        "version": "v1.0.1",
+        "version_normalized": "1.0.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/lexer.git",
+            "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/lexer/zipball/83893c552fd2045dd78aef794c31e694c37c0b8c",
+            "reference": "83893c552fd2045dd78aef794c31e694c37c0b8c",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.2"
+        },
+        "time": "2014-09-09 13:34:57",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\Lexer\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "lexer",
+            "parser"
+        ]
+    },
+    {
+        "name": "doctrine/annotations",
+        "version": "v1.2.7",
+        "version_normalized": "1.2.7.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/annotations.git",
+            "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/annotations/zipball/f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
+            "reference": "f25c8aab83e0c3e976fd7d19875f198ccf2f7535",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/lexer": "1.*",
+            "php": ">=5.3.2"
+        },
+        "require-dev": {
+            "doctrine/cache": "1.*",
+            "phpunit/phpunit": "4.*"
+        },
+        "time": "2015-08-31 12:32:49",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\Annotations\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Docblock Annotations Parser",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "annotations",
+            "docblock",
+            "parser"
+        ]
+    },
+    {
+        "name": "doctrine/collections",
+        "version": "v1.3.0",
+        "version_normalized": "1.3.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/collections.git",
+            "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/collections/zipball/6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
+            "reference": "6c1e4eef75f310ea1b3e30945e9f06e652128b8a",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.0"
+        },
+        "time": "2015-04-14 22:21:58",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\Collections\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Collections Abstraction library",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "array",
+            "collections",
+            "iterator"
+        ]
+    },
+    {
+        "name": "doctrine/cache",
+        "version": "v1.4.2",
+        "version_normalized": "1.4.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/cache.git",
+            "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/cache/zipball/8c434000f420ade76a07c64cbe08ca47e5c101ca",
+            "reference": "8c434000f420ade76a07c64cbe08ca47e5c101ca",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.2"
+        },
+        "conflict": {
+            "doctrine/common": ">2.2,<2.4"
+        },
+        "require-dev": {
+            "phpunit/phpunit": ">=3.7",
+            "predis/predis": "~1.0",
+            "satooshi/php-coveralls": "~0.6"
+        },
+        "time": "2015-08-31 12:36:41",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.5.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\Cache\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Caching library offering an object-oriented API for many cache backends",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "cache",
+            "caching"
+        ]
+    },
+    {
+        "name": "doctrine/inflector",
+        "version": "v1.0.1",
+        "version_normalized": "1.0.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/inflector.git",
+            "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/inflector/zipball/0bcb2e79d8571787f18b7eb036ed3d004908e604",
+            "reference": "0bcb2e79d8571787f18b7eb036ed3d004908e604",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "4.*"
+        },
+        "time": "2014-12-20 21:24:13",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\Inflector\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Common String Manipulations with regard to casing and singular/plural rules.",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "inflection",
+            "pluralize",
+            "singularize",
+            "string"
+        ]
+    },
+    {
+        "name": "doctrine/common",
+        "version": "v2.5.1",
+        "version_normalized": "2.5.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/common.git",
+            "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/common/zipball/0009b8f0d4a917aabc971fb089eba80e872f83f9",
+            "reference": "0009b8f0d4a917aabc971fb089eba80e872f83f9",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/annotations": "1.*",
+            "doctrine/cache": "1.*",
+            "doctrine/collections": "1.*",
+            "doctrine/inflector": "1.*",
+            "doctrine/lexer": "1.*",
+            "php": ">=5.3.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~3.7"
+        },
+        "time": "2015-08-31 13:00:22",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.6.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common\\": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org"
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de"
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com"
+            },
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com"
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com"
+            }
+        ],
+        "description": "Common Library for Doctrine projects",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "annotations",
+            "collections",
+            "eventmanager",
+            "persistence",
+            "spl"
+        ]
+    },
+    {
+        "name": "easyrdf/easyrdf",
+        "version": "0.9.1",
+        "version_normalized": "0.9.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/njh/easyrdf.git",
+            "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/njh/easyrdf/zipball/acd09dfe0555fbcfa254291e433c45fdd4652566",
+            "reference": "acd09dfe0555fbcfa254291e433c45fdd4652566",
+            "shasum": ""
+        },
+        "require": {
+            "ext-mbstring": "*",
+            "ext-pcre": "*",
+            "php": ">=5.2.8"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~3.5",
+            "sami/sami": "~1.4",
+            "squizlabs/php_codesniffer": "~1.4.3"
+        },
+        "suggest": {
+            "ml/json-ld": "~1.0"
+        },
+        "time": "2015-02-27 09:45:49",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "EasyRdf_": "lib/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Nicholas Humfrey",
+                "email": "njh@aelius.com",
+                "homepage": "http://www.aelius.com/njh/",
+                "role": "Developer"
+            },
+            {
+                "name": "Alexey Zakhlestin",
+                "email": "indeyets@gmail.com",
+                "role": "Developer"
+            }
+        ],
+        "description": "EasyRdf is a PHP library designed to make it easy to consume and produce RDF.",
+        "homepage": "http://www.easyrdf.org/",
+        "keywords": [
+            "Linked Data",
+            "RDF",
+            "Semantic Web",
+            "Turtle",
+            "rdfa",
+            "sparql"
+        ]
+    },
+    {
+        "name": "zendframework/zend-hydrator",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-hydrator.git",
+            "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-hydrator/zipball/f3ed8b833355140350bbed98d8a7b8b66875903f",
+            "reference": "f3ed8b833355140350bbed98d8a7b8b66875903f",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.5",
+            "zendframework/zend-stdlib": "^2.5.1"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.0",
+            "squizlabs/php_codesniffer": "^2.0@dev",
+            "zendframework/zend-eventmanager": "^2.5.1",
+            "zendframework/zend-filter": "^2.5.1",
+            "zendframework/zend-inputfilter": "^2.5.1",
+            "zendframework/zend-serializer": "^2.5.1",
+            "zendframework/zend-servicemanager": "^2.5.1"
+        },
+        "suggest": {
+            "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage",
+            "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage",
+            "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy",
+            "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage"
+        },
+        "time": "2015-09-17 14:06:43",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev",
+                "dev-develop": "1.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Hydrator\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "homepage": "https://github.com/zendframework/zend-hydrator",
+        "keywords": [
+            "hydrator",
+            "zf2"
+        ]
+    },
+    {
+        "name": "zendframework/zend-stdlib",
+        "version": "2.7.2",
+        "version_normalized": "2.7.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-stdlib.git",
+            "reference": "130eaa89e24acbc6386af9061aabc78e1948b1f9"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/130eaa89e24acbc6386af9061aabc78e1948b1f9",
+            "reference": "130eaa89e24acbc6386af9061aabc78e1948b1f9",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.5",
+            "zendframework/zend-hydrator": "~1.0"
+        },
+        "require-dev": {
+            "athletic/athletic": "~0.1",
+            "fabpot/php-cs-fixer": "1.7.*",
+            "phpunit/phpunit": "~4.0",
+            "zendframework/zend-config": "~2.5",
+            "zendframework/zend-eventmanager": "~2.5",
+            "zendframework/zend-filter": "~2.5",
+            "zendframework/zend-inputfilter": "~2.5",
+            "zendframework/zend-serializer": "~2.5",
+            "zendframework/zend-servicemanager": "~2.5"
+        },
+        "suggest": {
+            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+            "zendframework/zend-filter": "To support naming strategy hydrator usage",
+            "zendframework/zend-serializer": "Zend\\Serializer component",
+            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
+        },
+        "time": "2015-09-23 13:11:47",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev",
+                "dev-develop": "2.8-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Stdlib\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "homepage": "https://github.com/zendframework/zend-stdlib",
+        "keywords": [
+            "stdlib",
+            "zf2"
+        ]
+    },
+    {
+        "name": "zendframework/zend-escaper",
+        "version": "2.5.1",
+        "version_normalized": "2.5.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-escaper.git",
+            "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
+            "reference": "a4b227d8a477f4e7e9073f8e0a7ae7dbd3104a73",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.23"
+        },
+        "require-dev": {
+            "fabpot/php-cs-fixer": "1.7.*",
+            "phpunit/phpunit": "~4.0"
+        },
+        "time": "2015-06-03 14:05:37",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.5-dev",
+                "dev-develop": "2.6-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Escaper\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "homepage": "https://github.com/zendframework/zend-escaper",
+        "keywords": [
+            "escaper",
+            "zf2"
+        ]
+    },
+    {
+        "name": "zendframework/zend-feed",
+        "version": "2.5.2",
+        "version_normalized": "2.5.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-feed.git",
+            "reference": "0661345b82b51428619e05d3aadd3de65b57fa54"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-feed/zipball/0661345b82b51428619e05d3aadd3de65b57fa54",
+            "reference": "0661345b82b51428619e05d3aadd3de65b57fa54",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.5",
+            "zendframework/zend-escaper": "~2.5",
+            "zendframework/zend-stdlib": "~2.5"
+        },
+        "require-dev": {
+            "fabpot/php-cs-fixer": "1.7.*",
+            "phpunit/phpunit": "~4.0",
+            "zendframework/zend-cache": "~2.5",
+            "zendframework/zend-db": "~2.5",
+            "zendframework/zend-http": "~2.5",
+            "zendframework/zend-servicemanager": "~2.5",
+            "zendframework/zend-validator": "~2.5"
+        },
+        "suggest": {
+            "zendframework/zend-cache": "Zend\\Cache component",
+            "zendframework/zend-db": "Zend\\Db component",
+            "zendframework/zend-http": "Zend\\Http for PubSubHubbub, and optionally for use with Zend\\Feed\\Reader",
+            "zendframework/zend-servicemanager": "Zend\\ServiceManager component, for default/recommended ExtensionManager implementations",
+            "zendframework/zend-validator": "Zend\\Validator component"
+        },
+        "time": "2015-08-04 21:39:18",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.5-dev",
+                "dev-develop": "2.6-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Feed\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "description": "provides functionality for consuming RSS and Atom feeds",
+        "homepage": "https://github.com/zendframework/zend-feed",
+        "keywords": [
+            "feed",
+            "zf2"
+        ]
+    },
+    {
+        "name": "stack/builder",
+        "version": "v1.0.3",
+        "version_normalized": "1.0.3.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/stackphp/builder.git",
+            "reference": "c1f8a4693b55c563405024f708a76ef576c3b276"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/stackphp/builder/zipball/c1f8a4693b55c563405024f708a76ef576c3b276",
+            "reference": "c1f8a4693b55c563405024f708a76ef576c3b276",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0",
+            "symfony/http-foundation": "~2.1",
+            "symfony/http-kernel": "~2.1"
+        },
+        "require-dev": {
+            "silex/silex": "~1.0"
+        },
+        "time": "2014-11-23 20:37:11",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Stack": "src"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Igor Wiedler",
+                "email": "igor@wiedler.ch"
+            }
+        ],
+        "description": "Builder for stack middlewares based on HttpKernelInterface.",
+        "keywords": [
+            "stack"
+        ]
+    },
+    {
+        "name": "egulias/email-validator",
+        "version": "1.2.9",
+        "version_normalized": "1.2.9.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/egulias/EmailValidator.git",
+            "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/af864423f50ea59f96c87bb1eae147a70bcf67a1",
+            "reference": "af864423f50ea59f96c87bb1eae147a70bcf67a1",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/lexer": "~1.0,>=1.0.1",
+            "php": ">= 5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4",
+            "satooshi/php-coveralls": "dev-master"
+        },
+        "time": "2015-06-22 21:07:51",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Egulias\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Eduardo Gulias Davis"
+            }
+        ],
+        "description": "A library for validating emails",
+        "homepage": "https://github.com/egulias/EmailValidator",
+        "keywords": [
+            "email",
+            "emailvalidation",
+            "emailvalidator",
+            "validation",
+            "validator"
+        ]
+    },
+    {
+        "name": "masterminds/html5",
+        "version": "2.1.2",
+        "version_normalized": "2.1.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/Masterminds/html5-php.git",
+            "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
+            "reference": "8f782e0f01a6e33a319bdc8f6de9cfd6569979a4",
+            "shasum": ""
+        },
+        "require": {
+            "ext-libxml": "*",
+            "php": ">=5.3.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "4.*",
+            "sami/sami": "~2.0",
+            "satooshi/php-coveralls": "0.6.*"
+        },
+        "time": "2015-06-07 08:43:18",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Masterminds\\": "src"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Matt Butcher",
+                "email": "technosophos@gmail.com"
+            },
+            {
+                "name": "Asmir Mustafic",
+                "email": "goetas@gmail.com"
+            },
+            {
+                "name": "Matt Farina",
+                "email": "matt@mattfarina.com"
+            }
+        ],
+        "description": "An HTML5 parser and serializer.",
+        "homepage": "http://masterminds.github.io/html5-php",
+        "keywords": [
+            "HTML5",
+            "dom",
+            "html",
+            "parser",
+            "querypath",
+            "serializer",
+            "xml"
+        ]
+    },
+    {
+        "name": "zendframework/zend-diactoros",
+        "version": "1.1.3",
+        "version_normalized": "1.1.3.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-diactoros.git",
+            "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
+            "reference": "e2f5c12916c74da384058d0dfbc7fbc0b03d1181",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.4",
+            "psr/http-message": "~1.0"
+        },
+        "provide": {
+            "psr/http-message-implementation": "~1.0.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.6",
+            "squizlabs/php_codesniffer": "^2.3.1"
+        },
+        "time": "2015-08-10 20:04:20",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev",
+                "dev-develop": "1.1-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Diactoros\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-2-Clause"
+        ],
+        "description": "PSR HTTP Message implementations",
+        "homepage": "https://github.com/zendframework/zend-diactoros",
+        "keywords": [
+            "http",
+            "psr",
+            "psr-7"
+        ]
+    },
+    {
+        "name": "mikey179/vfsStream",
+        "version": "v1.5.0",
+        "version_normalized": "1.5.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/mikey179/vfsStream.git",
+            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/mikey179/vfsStream/zipball/4dc0d2f622412f561f5b242b19b98068bbbc883a",
+            "reference": "4dc0d2f622412f561f5b242b19b98068bbbc883a",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.5"
+        },
+        "time": "2015-03-29 11:19:49",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.5.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "org\\bovigo\\vfs\\": "src/main/php"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Frank Kleine",
+                "homepage": "http://frankkleine.de/",
+                "role": "Developer"
+            }
+        ],
+        "description": "Virtual file system to mock the real file system in unit tests.",
+        "homepage": "http://vfs.bovigo.org/"
+    },
+    {
+        "name": "sebastian/version",
+        "version": "1.0.6",
+        "version_normalized": "1.0.6.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/version.git",
+            "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+            "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
+            "shasum": ""
+        },
+        "time": "2015-06-21 13:59:46",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+        "homepage": "https://github.com/sebastianbergmann/version"
+    },
+    {
+        "name": "sebastian/global-state",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/global-state.git",
+            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+            "reference": "c7428acdb62ece0a45e6306f1ae85e1c05b09c01",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.2"
+        },
+        "suggest": {
+            "ext-uopz": "*"
+        },
+        "time": "2014-10-06 09:23:50",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            }
+        ],
+        "description": "Snapshotting of global state",
+        "homepage": "http://www.github.com/sebastianbergmann/global-state",
+        "keywords": [
+            "global state"
+        ]
+    },
+    {
+        "name": "sebastian/recursion-context",
+        "version": "1.0.1",
+        "version_normalized": "1.0.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/recursion-context.git",
+            "reference": "994d4a811bafe801fb06dccbee797863ba2792ba"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba",
+            "reference": "994d4a811bafe801fb06dccbee797863ba2792ba",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4"
+        },
+        "time": "2015-06-21 08:04:50",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
+            },
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            },
+            {
+                "name": "Adam Harvey",
+                "email": "aharvey@php.net"
+            }
+        ],
+        "description": "Provides functionality to recursively process PHP variables",
+        "homepage": "http://www.github.com/sebastianbergmann/recursion-context"
+    },
+    {
+        "name": "sebastian/exporter",
+        "version": "1.2.1",
+        "version_normalized": "1.2.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/exporter.git",
+            "reference": "7ae5513327cb536431847bcc0c10edba2701064e"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e",
+            "reference": "7ae5513327cb536431847bcc0c10edba2701064e",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3",
+            "sebastian/recursion-context": "~1.0"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4"
+        },
+        "time": "2015-06-21 07:55:53",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
+            },
+            {
+                "name": "Volker Dusch",
+                "email": "github@wallbash.com"
+            },
+            {
+                "name": "Bernhard Schussek",
+                "email": "bschussek@2bepublished.at"
+            },
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            },
+            {
+                "name": "Adam Harvey",
+                "email": "aharvey@php.net"
+            }
+        ],
+        "description": "Provides the functionality to export PHP variables for visualization",
+        "homepage": "http://www.github.com/sebastianbergmann/exporter",
+        "keywords": [
+            "export",
+            "exporter"
+        ]
+    },
+    {
+        "name": "sebastian/environment",
+        "version": "1.3.2",
+        "version_normalized": "1.3.2.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/environment.git",
+            "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44",
+            "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4"
+        },
+        "time": "2015-08-03 06:14:51",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            }
+        ],
+        "description": "Provides functionality to handle HHVM/PHP environments",
+        "homepage": "http://www.github.com/sebastianbergmann/environment",
+        "keywords": [
+            "Xdebug",
+            "environment",
+            "hhvm"
+        ]
+    },
+    {
+        "name": "sebastian/diff",
+        "version": "1.3.0",
+        "version_normalized": "1.3.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/diff.git",
+            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3",
+            "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.2"
+        },
+        "time": "2015-02-22 15:13:53",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.3-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Kore Nordmann",
+                "email": "mail@kore-nordmann.de"
+            },
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            }
+        ],
+        "description": "Diff implementation",
+        "homepage": "http://www.github.com/sebastianbergmann/diff",
+        "keywords": [
+            "diff"
+        ]
+    },
+    {
+        "name": "sebastian/comparator",
+        "version": "1.2.0",
+        "version_normalized": "1.2.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/comparator.git",
+            "reference": "937efb279bd37a375bcadf584dec0726f84dbf22"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22",
+            "reference": "937efb279bd37a375bcadf584dec0726f84dbf22",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3",
+            "sebastian/diff": "~1.2",
+            "sebastian/exporter": "~1.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4"
+        },
+        "time": "2015-07-26 15:48:44",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Jeff Welch",
+                "email": "whatthejeff@gmail.com"
+            },
+            {
+                "name": "Volker Dusch",
+                "email": "github@wallbash.com"
+            },
+            {
+                "name": "Bernhard Schussek",
+                "email": "bschussek@2bepublished.at"
+            },
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            }
+        ],
+        "description": "Provides the functionality to compare PHP values for equality",
+        "homepage": "http://www.github.com/sebastianbergmann/comparator",
+        "keywords": [
+            "comparator",
+            "compare",
+            "equality"
+        ]
+    },
+    {
+        "name": "symfony/yaml",
+        "version": "v2.7.4",
+        "version_normalized": "2.7.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/Yaml.git",
+            "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/Yaml/zipball/2dc7b06c065df96cc686c66da2705e5e18aef661",
+            "reference": "2dc7b06c065df96cc686c66da2705e5e18aef661",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.9"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-08-24 07:13:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.7-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Symfony\\Component\\Yaml\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Yaml Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "doctrine/instantiator",
+        "version": "1.0.5",
+        "version_normalized": "1.0.5.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/instantiator.git",
+            "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
+            "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3,<8.0-DEV"
+        },
+        "require-dev": {
+            "athletic/athletic": "~0.1.8",
+            "ext-pdo": "*",
+            "ext-phar": "*",
+            "phpunit/phpunit": "~4.0",
+            "squizlabs/php_codesniffer": "~2.0"
+        },
+        "time": "2015-06-14 21:17:01",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Marco Pivetta",
+                "email": "ocramius@gmail.com",
+                "homepage": "http://ocramius.github.com/"
+            }
+        ],
+        "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+        "homepage": "https://github.com/doctrine/instantiator",
+        "keywords": [
+            "constructor",
+            "instantiate"
+        ]
+    },
+    {
+        "name": "phpdocumentor/reflection-docblock",
+        "version": "2.0.4",
+        "version_normalized": "2.0.4.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8",
+            "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.0"
+        },
+        "suggest": {
+            "dflydev/markdown": "~1.0",
+            "erusev/parsedown": "~1.0"
+        },
+        "time": "2015-02-03 12:10:50",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "phpDocumentor": [
+                    "src/"
+                ]
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Mike van Riel",
+                "email": "mike.vanriel@naenius.com"
+            }
+        ]
+    },
+    {
+        "name": "phpspec/prophecy",
+        "version": "v1.5.0",
+        "version_normalized": "1.5.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/phpspec/prophecy.git",
+            "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7",
+            "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/instantiator": "^1.0.2",
+            "phpdocumentor/reflection-docblock": "~2.0",
+            "sebastian/comparator": "~1.1"
+        },
+        "require-dev": {
+            "phpspec/phpspec": "~2.0"
+        },
+        "time": "2015-08-13 10:07:40",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.4.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Prophecy\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Konstantin Kudryashov",
+                "email": "ever.zet@gmail.com",
+                "homepage": "http://everzet.com"
+            },
+            {
+                "name": "Marcello Duarte",
+                "email": "marcello.duarte@gmail.com"
+            }
+        ],
+        "description": "Highly opinionated mocking framework for PHP 5.3+",
+        "homepage": "https://github.com/phpspec/prophecy",
+        "keywords": [
+            "Double",
+            "Dummy",
+            "fake",
+            "mock",
+            "spy",
+            "stub"
+        ]
+    },
+    {
+        "name": "phpunit/php-text-template",
+        "version": "1.2.1",
+        "version_normalized": "1.2.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/php-text-template.git",
+            "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+            "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "time": "2015-06-21 13:50:34",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Simple template engine.",
+        "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+        "keywords": [
+            "template"
+        ]
+    },
+    {
+        "name": "phpunit/phpunit-mock-objects",
+        "version": "2.3.7",
+        "version_normalized": "2.3.7.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
+            "reference": "5e2645ad49d196e020b85598d7c97e482725786a"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/5e2645ad49d196e020b85598d7c97e482725786a",
+            "reference": "5e2645ad49d196e020b85598d7c97e482725786a",
+            "shasum": ""
+        },
+        "require": {
+            "doctrine/instantiator": "^1.0.2",
+            "php": ">=5.3.3",
+            "phpunit/php-text-template": "~1.2",
+            "sebastian/exporter": "~1.2"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.4"
+        },
+        "suggest": {
+            "ext-soap": "*"
+        },
+        "time": "2015-08-19 09:14:08",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Mock Object library for PHPUnit",
+        "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
+        "keywords": [
+            "mock",
+            "xunit"
+        ]
+    },
+    {
+        "name": "phpunit/php-timer",
+        "version": "1.0.7",
+        "version_normalized": "1.0.7.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/php-timer.git",
+            "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
+            "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "time": "2015-06-21 08:01:12",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Utility class for timing",
+        "homepage": "https://github.com/sebastianbergmann/php-timer/",
+        "keywords": [
+            "timer"
+        ]
+    },
+    {
+        "name": "phpunit/php-token-stream",
+        "version": "1.4.8",
+        "version_normalized": "1.4.8.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/php-token-stream.git",
+            "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
+            "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da",
+            "shasum": ""
+        },
+        "require": {
+            "ext-tokenizer": "*",
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "phpunit/phpunit": "~4.2"
+        },
+        "time": "2015-09-15 10:49:45",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.4-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de"
+            }
+        ],
+        "description": "Wrapper around PHP's tokenizer extension.",
+        "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
+        "keywords": [
+            "tokenizer"
+        ]
+    },
+    {
+        "name": "phpunit/php-file-iterator",
+        "version": "1.4.1",
+        "version_normalized": "1.4.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+            "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
+            "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "time": "2015-06-21 13:08:43",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.4.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
+            }
+        ],
+        "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+        "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+        "keywords": [
+            "filesystem",
+            "iterator"
+        ]
+    },
+    {
+        "name": "phpunit/php-code-coverage",
+        "version": "2.2.3",
+        "version_normalized": "2.2.3.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+            "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef1ca6835468857944d5c3b48fa503d5554cff2f",
+            "reference": "ef1ca6835468857944d5c3b48fa503d5554cff2f",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3",
+            "phpunit/php-file-iterator": "~1.3",
+            "phpunit/php-text-template": "~1.2",
+            "phpunit/php-token-stream": "~1.3",
+            "sebastian/environment": "^1.3.2",
+            "sebastian/version": "~1.0"
+        },
+        "require-dev": {
+            "ext-xdebug": ">=2.1.4",
+            "phpunit/phpunit": "~4"
+        },
+        "suggest": {
+            "ext-dom": "*",
+            "ext-xdebug": ">=2.2.1",
+            "ext-xmlwriter": "*"
+        },
+        "time": "2015-09-14 06:51:16",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.2.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sb@sebastian-bergmann.de",
+                "role": "lead"
+            }
+        ],
+        "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+        "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+        "keywords": [
+            "coverage",
+            "testing",
+            "xunit"
+        ]
+    },
+    {
+        "name": "phpunit/phpunit",
+        "version": "4.8.9",
+        "version_normalized": "4.8.9.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/sebastianbergmann/phpunit.git",
+            "reference": "73fad41adb5b7bc3a494bb930d90648df1d5e74b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/73fad41adb5b7bc3a494bb930d90648df1d5e74b",
+            "reference": "73fad41adb5b7bc3a494bb930d90648df1d5e74b",
+            "shasum": ""
+        },
+        "require": {
+            "ext-dom": "*",
+            "ext-json": "*",
+            "ext-pcre": "*",
+            "ext-reflection": "*",
+            "ext-spl": "*",
+            "php": ">=5.3.3",
+            "phpspec/prophecy": "^1.3.1",
+            "phpunit/php-code-coverage": "~2.1",
+            "phpunit/php-file-iterator": "~1.4",
+            "phpunit/php-text-template": "~1.2",
+            "phpunit/php-timer": ">=1.0.6",
+            "phpunit/phpunit-mock-objects": "~2.3",
+            "sebastian/comparator": "~1.1",
+            "sebastian/diff": "~1.2",
+            "sebastian/environment": "~1.3",
+            "sebastian/exporter": "~1.2",
+            "sebastian/global-state": "~1.0",
+            "sebastian/version": "~1.0",
+            "symfony/yaml": "~2.1|~3.0"
+        },
+        "suggest": {
+            "phpunit/php-invoker": "~1.1"
+        },
+        "time": "2015-09-20 12:56:44",
+        "bin": [
+            "phpunit"
+        ],
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "4.8.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "classmap": [
+                "src/"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "authors": [
+            {
+                "name": "Sebastian Bergmann",
+                "email": "sebastian@phpunit.de",
+                "role": "lead"
+            }
+        ],
+        "description": "The PHP Unit Testing framework.",
+        "homepage": "https://phpunit.de/",
+        "keywords": [
+            "phpunit",
+            "testing",
+            "xunit"
+        ]
+    }
+]
diff --git a/vendor/composer/installers/.editorconfig b/vendor/composer/installers/.editorconfig
new file mode 100644
index 0000000..153cf3e
--- /dev/null
+++ b/vendor/composer/installers/.editorconfig
@@ -0,0 +1,10 @@
+; top-most EditorConfig file
+root = true
+
+; Unix-style newlines
+[*]
+end_of_line = LF
+
+[*.php]
+indent_style = space
+indent_size = 4
diff --git a/vendor/composer/installers/.gitignore b/vendor/composer/installers/.gitignore
new file mode 100644
index 0000000..ff7f293
--- /dev/null
+++ b/vendor/composer/installers/.gitignore
@@ -0,0 +1,3 @@
+vendor/
+composer.lock
+.idea/
diff --git a/vendor/composer/installers/.travis.yml b/vendor/composer/installers/.travis.yml
new file mode 100644
index 0000000..81ca8e1
--- /dev/null
+++ b/vendor/composer/installers/.travis.yml
@@ -0,0 +1,14 @@
+language: php
+
+php:
+  - 5.3
+  - 5.4
+  - 5.5
+  - 5.6
+  - hhvm
+
+before_script:
+  - curl -s http://getcomposer.org/installer | php -- --quiet
+  - php composer.phar install --dev
+
+script: phpunit
diff --git a/vendor/composer/installers/LICENSE b/vendor/composer/installers/LICENSE
new file mode 100644
index 0000000..85f97fc
--- /dev/null
+++ b/vendor/composer/installers/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2012 Kyle Robinson Young
+
+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.
\ No newline at end of file
diff --git a/vendor/composer/installers/README.md b/vendor/composer/installers/README.md
new file mode 100644
index 0000000..b331771
--- /dev/null
+++ b/vendor/composer/installers/README.md
@@ -0,0 +1,191 @@
+# A Multi-Framework [Composer](http://getcomposer.org) Library Installer
+
+[![Build Status](http://img.shields.io/travis/composer/installers.svg)](http://travis-ci.org/composer/installers)
+
+This is for PHP package authors to require in their `composer.json`. It will
+install their package to the correct location based on the specified package
+type.
+
+The goal of `installers` is to be a simple package type to install path map.
+Users can also customize the install path per package and package authors can
+modify the package name upon installing.
+
+`installers` isn't intended on replacing all custom installers. If your
+package requires special installation handling then by all means, create a
+custom installer to handle it.
+
+**Natively Supported Frameworks**:
+
+The following frameworks natively work with Composer and will be
+installed to the default `vendor` directory. `composer/installers`
+is not needed to install packages with these frameworks:
+
+* Aura
+* Symfony2
+* Yii
+* Yii2
+
+**Current Supported Package Types**:
+
+> Stable types are marked as **bold**, this means that installation paths
+> for those type will not be changed. Any adjustment for those types would
+> require creation of brand new type that will cover required changes.
+
+| Framework    | Types
+| ---------    | -----
+| Aimeos       | `aimeos-extension`
+| Asgard       | `asgard-module`<br>`asgard-theme`
+| AGL          | `agl-module`
+| AnnotateCms  | `annotatecms-module`<br>`annotatecms-component`<br>`annotatecms-service`
+| Bitrix       | `bitrix-module`<br>`bitrix-component`<br>`bitrix-theme`
+| CakePHP 2+   | **`cakephp-plugin`**
+| Chef         | `chef-cookbook`<br>`chef-role`
+| CCFramework  | `ccframework-ship`<br>`ccframework-theme`
+| CodeIgniter  | `codeigniter-library`<br>`codeigniter-third-party`<br>`codeigniter-module`
+| concrete5    | `concrete5-block`<br>`concrete5-package`<br>`concrete5-theme`<br>`concrete5-update`
+| Craft        | `craft-plugin`
+| Croogo       | `croogo-plugin`<br>`croogo-theme`
+| DokuWiki     | `dokuwiki-plugin`<br>`dokuwiki-template`
+| Dolibarr     | `dolibarr-module`
+| Drupal       | <b>`drupal-module`<br>`drupal-theme`</b><br>`drupal-library`<br>`drupal-profile`<br>`drupal-drush`
+| Elgg         | `elgg-plugin`
+| FuelPHP v1.x | `fuel-module`<br>`fuel-package`<br/>`fuel-theme`
+| FuelPHP v2.x | `fuelphp-component`
+| Grav         | `grav-plugin`<br>`grav-theme`
+| Hurad        | `hurad-plugin`<br>`hurad-theme`
+| Joomla       | `joomla-component`<br>`joomla-module`<br>`joomla-template`<br>`joomla-plugin`<br>`joomla-library`
+| Kirby        | **`kirby-plugin`**
+| Kohana       | **`kohana-module`**
+| Laravel      | `laravel-library`
+| Lithium      | **`lithium-library`<br>`lithium-source`**
+| Magento      | `magento-library`<br>`magento-skin`<br>`magento-theme`
+| Mako         | `mako-package`
+| MODX Evo     | `modxevo-snippet`<br>`modxevo-plugin`<br>`modxevo-module`<br>`modxevo-template`<br>`modxevo-lib`
+| MediaWiki    | `mediawiki-extension`
+| October      | **`october-module`<br>`october-plugin`<br>`october-theme`**
+| OXID         | `oxid-module`<br>`oxid-theme`<br>`oxid-out`
+| MODULEWork   | `modulework-module`
+| Moodle       | `moodle-*` (Please [check source](https://raw.githubusercontent.com/composer/installers/master/src/Composer/Installers/MoodleInstaller.php) for all supported types)
+| Piwik        | `piwik-plugin`
+| phpBB        | `phpbb-extension`<br>`phpbb-style`<br>`phpbb-language`
+| Pimcore      | `pimcore-plugin`
+| PPI          | **`ppi-module`**
+| Puppet       | `puppet-module`
+| REDAXO       | `redaxo-addon`
+| Roundcube    | `roundcube-plugin`
+| shopware     | `shopware-backend-plugin`<br/>`shopware-core-plugin`<br/>`shopware-frontend-plugin`<br/>`shopware-theme`
+| SilverStripe | `silverstripe-module`<br>`silverstripe-theme`
+| SMF          | `smf-module`<br>`smf-theme`
+| symfony1     | **`symfony1-plugin`**
+| Tusk         | `tusk-task`<br>`tusk-command`<br>`tusk-asset`
+| TYPO3 Flow   | `typo3-flow-package`<br>`typo3-flow-framework`<br>`typo3-flow-plugin`<br>`typo3-flow-site`<br>`typo3-flow-boilerplate`<br>`typo3-flow-build`
+| TYPO3 CMS    | `typo3-cms-extension`
+| Wolf CMS     | `wolfcms-plugin`
+| WordPress    | <b>`wordpress-plugin`<br>`wordpress-theme`</b><br>`wordpress-muplugin`
+| Zend         | `zend-library`<br>`zend-extra`<br>`zend-module`
+| Zikula       | `zikula-module`<br>`zikula-theme`
+| Prestashop   | `prestashop-module`<br>`prestashop-theme`
+
+## Example `composer.json` File
+
+This is an example for a CakePHP plugin. The only important parts to set in your
+composer.json file are `"type": "cakephp-plugin"` which describes what your
+package is and `"require": { "composer/installers": "~1.0" }` which tells composer
+to load the custom installers.
+
+```json
+{
+    "name": "you/ftp",
+    "type": "cakephp-plugin",
+    "require": {
+        "composer/installers": "~1.0"
+    }
+}
+```
+
+This would install your package to the `Plugin/Ftp/` folder of a CakePHP app
+when a user runs `php composer.phar install`.
+
+So submit your packages to [packagist.org](http://packagist.org)!
+
+## Custom Install Paths
+
+If you are consuming a package that uses the `composer/installers` you can
+override the install path with the following extra in your `composer.json`:
+
+```json
+{
+    "extra": {
+        "installer-paths": {
+            "your/custom/path/{$name}/": ["shama/ftp", "vendor/package"]
+        }
+    }
+}
+```
+
+A package type can have a custom installation path with a `type:` prefix.
+
+``` json
+{
+    "extra": {
+        "installer-paths": {
+            "your/custom/path/{$name}/": ["type:wordpress-plugin"]
+        }
+    }
+}
+```
+
+This would use your custom path for each of the listed packages. The available
+variables to use in your paths are: `{$name}`, `{$vendor}`, `{$type}`.
+
+## Custom Install Names
+
+If you're a package author and need your package to be named differently when
+installed consider using the `installer-name` extra.
+
+For example you have a package named `shama/cakephp-ftp` with the type
+`cakephp-plugin`. Installing with `composer/installers` would install to the
+path `Plugin/CakephpFtp`. Due to the strict naming conventions, you as a
+package author actually need the package to be named and installed to
+`Plugin/Ftp`. Using the following config within your **package** `composer.json`
+will allow this:
+
+```json
+{
+    "name": "shama/cakephp-ftp",
+    "type": "cakephp-plugin",
+    "extra": {
+        "installer-name": "Ftp"
+    }
+}
+```
+
+Please note the name entered into `installer-name` will be the final and will
+not be inflected.
+
+## Contribute!
+
+* [Fork and clone](https://help.github.com/articles/fork-a-repo).
+* Run the command `php composer.phar install --dev` to install the dev
+  dependencies. See [Composer](https://github.com/composer/composer#installation--usage).
+* Use the command `phpunit` to run the tests. See [PHPUnit](http://phpunit.de).
+* Create a branch, commit, push and send us a
+  [pull request](https://help.github.com/articles/using-pull-requests).
+
+To ensure a consistent code base, you should make sure the code follows the
+[Coding Standards](http://symfony.com/doc/2.0/contributing/code/standards.html)
+which we borrowed from Symfony.
+
+If you would like to help, please take a look at the list of
+[issues](https://github.com/composer/installers/issues).
+
+### Should we allow dynamic package types or paths? No.
+What are they? The ability for a package author to determine where a package
+will be installed either through setting the path directly in their
+`composer.json` or through a dynamic package type: `"type":
+"framework-install-here"`.
+
+It has been proposed many times. Even implemented once early on and then
+removed. `installers` won't do this because it would allow a single package
+author to wipe out entire folders without the user's consent. That user would
+then come here to yell at us.
diff --git a/vendor/composer/installers/composer.json b/vendor/composer/installers/composer.json
new file mode 100644
index 0000000..6ee931e
--- /dev/null
+++ b/vendor/composer/installers/composer.json
@@ -0,0 +1,77 @@
+{
+    "name": "composer/installers",
+    "type": "composer-installer",
+    "license": "MIT",
+    "description": "A multi-framework Composer library installer",
+    "keywords": [
+        "installer",
+        "Aimeos",
+        "AGL",
+        "AnnotateCms",
+        "Bitrix",
+        "CakePHP",
+        "Chef",
+        "CodeIgniter",
+        "concrete5",
+        "Craft",
+        "Croogo",
+        "DokuWiki",
+        "Dolibarr",
+        "Drupal",
+        "Elgg",
+        "FuelPHP",
+        "Grav",
+        "Hurad",
+        "Joomla",
+        "Kohana",
+        "Laravel",
+        "Lithium",
+        "Magento",
+        "Mako",
+        "MODX Evo",
+        "MediaWiki",
+        "OXID",
+        "MODULEWork",
+        "Moodle",
+        "Piwik",
+        "phpBB",
+        "PPI",
+        "Puppet",
+        "Roundcube",
+        "shopware",
+        "SilverStripe",
+        "SMF",
+        "symfony",
+        "Thelia",
+        "TYPO3",
+        "WolfCMS",
+        "WordPress",
+        "Zend",
+        "Zikula"
+    ],
+    "homepage": "http://composer.github.com/installers/",
+    "authors": [
+        {
+            "name": "Kyle Robinson Young",
+            "email": "kyle@dontkry.com",
+            "homepage": "https://github.com/shama"
+        }
+    ],
+    "autoload": {
+        "psr-0": { "Composer\\Installers\\": "src/" }
+    },
+    "extra": {
+        "class": "Composer\\Installers\\Installer",
+        "branch-alias": {
+            "dev-master": "1.0-dev"
+        }
+    },
+    "replace": {
+        "shama/baton": "*",
+        "roundcube/plugin-installer": "*"
+    },
+    "require-dev": {
+        "composer/composer": "1.0.*@dev",
+        "phpunit/phpunit": "4.1.*"
+    }
+}
diff --git a/vendor/composer/installers/phpunit.xml.dist b/vendor/composer/installers/phpunit.xml.dist
new file mode 100644
index 0000000..cc5cc99
--- /dev/null
+++ b/vendor/composer/installers/phpunit.xml.dist
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<phpunit backupGlobals="false"
+         backupStaticAttributes="false"
+         colors="true"
+         convertErrorsToExceptions="true"
+         convertNoticesToExceptions="true"
+         convertWarningsToExceptions="true"
+         processIsolation="false"
+         stopOnFailure="false"
+         syntaxCheck="false"
+         bootstrap="tests/bootstrap.php"
+>
+    <testsuites>
+        <testsuite name="Installers Test Suite">
+            <directory>tests/Composer/Installers</directory>
+        </testsuite>
+    </testsuites>
+
+    <filter>
+        <whitelist>
+            <directory>src/Composer/Installers</directory>
+        </whitelist>
+    </filter>
+</phpunit>
\ No newline at end of file
diff --git a/vendor/composer/installers/src/Composer/Installers/AglInstaller.php b/vendor/composer/installers/src/Composer/Installers/AglInstaller.php
new file mode 100644
index 0000000..01b8a41
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/AglInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class AglInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'More/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = preg_replace_callback('/(?:^|_|-)(.?)/', function ($matches) {
+            return strtoupper($matches[1]);
+        }, $vars['name']);
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php b/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php
new file mode 100644
index 0000000..79a0e95
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/AimeosInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class AimeosInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'extension'   => 'ext/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php b/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
new file mode 100644
index 0000000..89d7ad9
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/AnnotateCmsInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class AnnotateCmsInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'    => 'addons/modules/{$name}/',
+        'component' => 'addons/components/{$name}/',
+        'service'   => 'addons/services/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php b/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php
new file mode 100644
index 0000000..995ee2b
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/AsgardInstaller.php
@@ -0,0 +1,45 @@
+<?php
+namespace Composer\Installers;
+
+class AsgardInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'Modules/{$name}/',
+        'theme' => 'Themes/{$name}/'
+    );
+
+    /**
+     * Format package name.
+     *
+     * For package type asgard-module, cut off a trailing '-plugin' if present.
+     *
+     * For package type asgard-theme, cut off a trailing '-theme' if present.
+     *
+     */
+    public function inflectPackageVars($vars)
+    {
+        if ($vars['type'] === 'asgard-module') {
+            return $this->inflectPluginVars($vars);
+        }
+
+        if ($vars['type'] === 'asgard-theme') {
+            return $this->inflectThemeVars($vars);
+        }
+
+        return $vars;
+    }
+
+    protected function inflectPluginVars($vars)
+    {
+        $vars['name'] = ucfirst(preg_replace('/-module/', '', $vars['name']));
+
+        return $vars;
+    }
+
+    protected function inflectThemeVars($vars)
+    {
+        $vars['name'] = ucfirst(preg_replace('/-theme$/', '', $vars['name']));
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php b/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
new file mode 100644
index 0000000..cc27d3e
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/BaseInstaller.php
@@ -0,0 +1,131 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\Composer;
+use Composer\Package\PackageInterface;
+
+abstract class BaseInstaller
+{
+    protected $locations = array();
+    protected $composer;
+    protected $package;
+
+    /**
+     * Initializes base installer.
+     *
+     * @param PackageInterface $package
+     * @param Composer         $composer
+     */
+    public function __construct(PackageInterface $package = null, Composer $composer = null)
+    {
+        $this->composer = $composer;
+        $this->package = $package;
+    }
+
+    /**
+     * Return the install path based on package type.
+     *
+     * @param  PackageInterface $package
+     * @param  string           $frameworkType
+     * @return string
+     */
+    public function getInstallPath(PackageInterface $package, $frameworkType = '')
+    {
+        $type = $this->package->getType();
+
+        $prettyName = $this->package->getPrettyName();
+        if (strpos($prettyName, '/') !== false) {
+            list($vendor, $name) = explode('/', $prettyName);
+        } else {
+            $vendor = '';
+            $name = $prettyName;
+        }
+
+        $availableVars = $this->inflectPackageVars(compact('name', 'vendor', 'type'));
+
+        $extra = $package->getExtra();
+        if (!empty($extra['installer-name'])) {
+            $availableVars['name'] = $extra['installer-name'];
+        }
+
+        if ($this->composer->getPackage()) {
+            $extra = $this->composer->getPackage()->getExtra();
+            if (!empty($extra['installer-paths'])) {
+                $customPath = $this->mapCustomInstallPaths($extra['installer-paths'], $prettyName, $type);
+                if ($customPath !== false) {
+                    return $this->templatePath($customPath, $availableVars);
+                }
+            }
+        }
+
+        $packageType = substr($type, strlen($frameworkType) + 1);
+        $locations = $this->getLocations();
+        if (!isset($locations[$packageType])) {
+            throw new \InvalidArgumentException(sprintf('Package type "%s" is not supported', $type));
+        }
+
+        return $this->templatePath($locations[$packageType], $availableVars);
+    }
+
+    /**
+     * For an installer to override to modify the vars per installer.
+     *
+     * @param  array $vars
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        return $vars;
+    }
+
+    /**
+     * Gets the installer's locations
+     *
+     * @return array
+     */
+    public function getLocations()
+    {
+        return $this->locations;
+    }
+
+    /**
+     * Replace vars in a path
+     *
+     * @param  string $path
+     * @param  array  $vars
+     * @return string
+     */
+    protected function templatePath($path, array $vars = array())
+    {
+        if (strpos($path, '{') !== false) {
+            extract($vars);
+            preg_match_all('@\{\$([A-Za-z0-9_]*)\}@i', $path, $matches);
+            if (!empty($matches[1])) {
+                foreach ($matches[1] as $var) {
+                    $path = str_replace('{$' . $var . '}', $$var, $path);
+                }
+            }
+        }
+
+        return $path;
+    }
+
+    /**
+     * Search through a passed paths array for a custom install path.
+     *
+     * @param  array  $paths
+     * @param  string $name
+     * @param  string $type
+     * @return string
+     */
+    protected function mapCustomInstallPaths(array $paths, $name, $type)
+    {
+        foreach ($paths as $path => $names) {
+            if (in_array($name, $names) || in_array('type:' . $type, $names)) {
+                return $path;
+            }
+        }
+
+        return false;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php b/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
new file mode 100644
index 0000000..48a8367
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/BitrixInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class BitrixInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'    => 'local/modules/{$name}/',
+        'component' => 'local/components/{$name}/',
+        'theme'     => 'local/templates/{$name}/'
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php b/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
new file mode 100644
index 0000000..cbeb60b
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/CakePHPInstaller.php
@@ -0,0 +1,78 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\DependencyResolver\Pool;
+use Composer\Package\PackageInterface;
+use Composer\Package\LinkConstraint\MultiConstraint;
+use Composer\Package\LinkConstraint\VersionConstraint;
+
+class CakePHPInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'Plugin/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        if ($this->matchesCakeVersion('>=', '3.0.0')) {
+            return $vars;
+        }
+
+        $nameParts = explode('/', $vars['name']);
+        foreach ($nameParts as &$value) {
+            $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
+            $value = str_replace(array('-', '_'), ' ', $value);
+            $value = str_replace(' ', '', ucwords($value));
+        }
+        $vars['name'] = implode('/', $nameParts);
+
+        return $vars;
+    }
+
+    /**
+     * Change the default plugin location when cakephp >= 3.0
+     */
+    public function getLocations()
+    {
+        if ($this->matchesCakeVersion('>=', '3.0.0')) {
+            $this->locations['plugin'] =  $this->composer->getConfig()->get('vendor-dir') . '/{$vendor}/{$name}/';
+        }
+        return $this->locations;
+    }
+
+    /**
+     * Check if CakePHP version matches against a version
+     *
+     * @param string $matcher
+     * @param string $version
+     * @return bool
+     */
+    protected function matchesCakeVersion($matcher, $version)
+    {
+        $repositoryManager = $this->composer->getRepositoryManager();
+        if ($repositoryManager) {
+            $repos = $repositoryManager->getLocalRepository();
+            if (!$repos) {
+                return false;
+            }
+            $cake3 = new MultiConstraint(array(
+                new VersionConstraint($matcher, $version),
+                new VersionConstraint('!=', '9999999-dev'),
+            ));
+            $pool = new Pool('dev');
+            $pool->addRepository($repos);
+            $packages = $pool->whatProvides('cakephp/cakephp');
+            foreach ($packages as $package) {
+                $installed = new VersionConstraint('=', $package->getVersion());
+                if ($cake3->matches($installed)) {
+                    return true;
+                    break;
+                }
+            }
+        }
+        return false;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php b/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php
new file mode 100644
index 0000000..ab2f9aa
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ChefInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class ChefInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'cookbook'  => 'Chef/{$vendor}/{$name}/',
+        'role'      => 'Chef/roles/{$name}/',
+    );
+}
+
diff --git a/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php b/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php
new file mode 100644
index 0000000..c887815
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ClanCatsFrameworkInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class ClanCatsFrameworkInstaller extends BaseInstaller
+{
+	protected $locations = array(
+		'ship'      => 'CCF/orbit/{$name}/',
+		'theme'     => 'CCF/app/themes/{$name}/',
+	);
+}
\ No newline at end of file
diff --git a/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php b/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
new file mode 100644
index 0000000..3b4a4ec
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/CodeIgniterInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class CodeIgniterInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'library'     => 'application/libraries/{$name}/',
+        'third-party' => 'application/third_party/{$name}/',
+        'module'      => 'application/modules/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php b/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
new file mode 100644
index 0000000..4d398a4
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/Concrete5Installer.php
@@ -0,0 +1,12 @@
+<?php
+namespace Composer\Installers;
+
+class Concrete5Installer extends BaseInstaller
+{
+    protected $locations = array(
+        'block'      => 'blocks/{$name}/',
+        'package'    => 'packages/{$name}/',
+        'theme'      => 'themes/{$name}/',
+        'update'     => 'updates/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php b/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
new file mode 100644
index 0000000..dc3be8d
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/CraftInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class CraftInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'craft/plugins/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php b/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
new file mode 100644
index 0000000..d94219d
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/CroogoInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class CroogoInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'Plugin/{$name}/',
+        'theme' => 'View/Themed/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = strtolower(str_replace(array('-', '_'), ' ', $vars['name']));
+        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php b/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php
new file mode 100644
index 0000000..cfd638d
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/DokuWikiInstaller.php
@@ -0,0 +1,50 @@
+<?php
+namespace Composer\Installers;
+
+class DokuWikiInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'lib/plugins/{$name}/',
+        'template' => 'lib/tpl/{$name}/',
+    );
+
+    /**
+     * Format package name.
+     *
+     * For package type dokuwiki-plugin, cut off a trailing '-plugin', 
+     * or leading dokuwiki_ if present.
+     * 
+     * For package type dokuwiki-template, cut off a trailing '-template' if present.
+     *
+     */
+    public function inflectPackageVars($vars)
+    {
+
+        if ($vars['type'] === 'dokuwiki-plugin') {
+            return $this->inflectPluginVars($vars);
+        }
+
+        if ($vars['type'] === 'dokuwiki-template') {
+            return $this->inflectTemplateVars($vars);
+        }
+
+        return $vars;
+    }
+
+    protected function inflectPluginVars($vars)
+    {
+        $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectTemplateVars($vars)
+    {
+        $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/^dokuwiki_?-?/', '', $vars['name']);
+
+        return $vars;
+    }
+
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php b/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php
new file mode 100644
index 0000000..21f7e8e
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/DolibarrInstaller.php
@@ -0,0 +1,16 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Class DolibarrInstaller
+ *
+ * @package Composer\Installers
+ * @author  RaphaÃ«l Doursenaud <rdoursenaud@gpcsolutions.fr>
+ */
+class DolibarrInstaller extends BaseInstaller
+{
+    //TODO: Add support for scripts and themes
+    protected $locations = array(
+        'module' => 'htdocs/custom/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php b/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
new file mode 100644
index 0000000..1794131
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/DrupalInstaller.php
@@ -0,0 +1,14 @@
+<?php
+namespace Composer\Installers;
+
+class DrupalInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'core'      => 'core/',
+        'module'    => 'modules/{$name}/',
+        'theme'     => 'themes/{$name}/',
+        'library'   => 'libraries/{$name}/',
+        'profile'   => 'profiles/{$name}/',
+        'drush'     => 'drush/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php b/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
new file mode 100644
index 0000000..c0bb609
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ElggInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class ElggInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'mod/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php b/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
new file mode 100644
index 0000000..6eba2e3
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/FuelInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class FuelInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'  => 'fuel/app/modules/{$name}/',
+        'package' => 'fuel/packages/{$name}/',
+        'theme'   => 'fuel/app/themes/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php b/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php
new file mode 100644
index 0000000..29d980b
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/FuelphpInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class FuelphpInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'component'  => 'components/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/GravInstaller.php b/vendor/composer/installers/src/Composer/Installers/GravInstaller.php
new file mode 100644
index 0000000..dbe63e0
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/GravInstaller.php
@@ -0,0 +1,30 @@
+<?php
+namespace Composer\Installers;
+
+class GravInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'user/plugins/{$name}/',
+        'theme'  => 'user/themes/{$name}/',
+    );
+
+    /**
+     * Format package name
+     *
+     * @param array $vars
+     *
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        $restrictedWords = implode('|', array_keys($this->locations));
+
+        $vars['name'] = strtolower($vars['name']);
+        $vars['name'] = preg_replace('/^(?:grav-)?(?:(?:'.$restrictedWords.')-)?(.*?)(?:-(?:'.$restrictedWords.'))?$/ui',
+            '$1',
+            $vars['name']
+        );
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php b/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
new file mode 100644
index 0000000..8fe017f
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/HuradInstaller.php
@@ -0,0 +1,25 @@
+<?php
+namespace Composer\Installers;
+
+class HuradInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'plugins/{$name}/',
+        'theme' => 'plugins/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        $nameParts = explode('/', $vars['name']);
+        foreach ($nameParts as &$value) {
+            $value = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $value));
+            $value = str_replace(array('-', '_'), ' ', $value);
+            $value = str_replace(' ', '', ucwords($value));
+        }
+        $vars['name'] = implode('/', $nameParts);
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/Installer.php b/vendor/composer/installers/src/Composer/Installers/Installer.php
new file mode 100644
index 0000000..63ba64c
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/Installer.php
@@ -0,0 +1,163 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\Installer\LibraryInstaller;
+use Composer\Package\PackageInterface;
+use Composer\Repository\InstalledRepositoryInterface;
+
+class Installer extends LibraryInstaller
+{
+    /**
+     * Package types to installer class map
+     *
+     * @var array
+     */
+    private $supportedTypes = array(
+        'aimeos'       => 'AimeosInstaller',
+        'asgard'       => 'AsgardInstaller',
+        'agl'          => 'AglInstaller',
+        'annotatecms'  => 'AnnotateCmsInstaller',
+        'bitrix'       => 'BitrixInstaller',
+        'cakephp'      => 'CakePHPInstaller',
+        'chef'         => 'ChefInstaller',
+        'ccframework'  => 'ClanCatsFrameworkInstaller',
+        'codeigniter'  => 'CodeIgniterInstaller',
+        'concrete5'    => 'Concrete5Installer',
+        'craft'        => 'CraftInstaller',
+        'croogo'       => 'CroogoInstaller',
+        'dokuwiki'     => 'DokuWikiInstaller',
+        'dolibarr'     => 'DolibarrInstaller',
+        'drupal'       => 'DrupalInstaller',
+        'elgg'         => 'ElggInstaller',
+        'fuel'         => 'FuelInstaller',
+        'fuelphp'      => 'FuelphpInstaller',
+        'grav'         => 'GravInstaller',
+        'hurad'        => 'HuradInstaller',
+        'joomla'       => 'JoomlaInstaller',
+        'kirby'        => 'KirbyInstaller',
+        'kohana'       => 'KohanaInstaller',
+        'laravel'      => 'LaravelInstaller',
+        'lithium'      => 'LithiumInstaller',
+        'magento'      => 'MagentoInstaller',
+        'mako'         => 'MakoInstaller',
+        'mediawiki'    => 'MediaWikiInstaller',
+        'microweber'    => 'MicroweberInstaller',
+        'modulework'   => 'MODULEWorkInstaller',
+        'modxevo'      => 'MODXEvoInstaller',
+        'moodle'       => 'MoodleInstaller',
+        'october'      => 'OctoberInstaller',
+        'oxid'         => 'OxidInstaller',
+        'phpbb'        => 'PhpBBInstaller',
+        'pimcore'      => 'PimcoreInstaller',
+        'piwik'        => 'PiwikInstaller',
+        'ppi'          => 'PPIInstaller',
+        'puppet'       => 'PuppetInstaller',
+        'redaxo'       => 'RedaxoInstaller',
+        'roundcube'    => 'RoundcubeInstaller',
+        'shopware'     => 'ShopwareInstaller',
+        'silverstripe' => 'SilverStripeInstaller',
+        'smf'          => 'SMFInstaller',
+        'symfony1'     => 'Symfony1Installer',
+        'thelia'       => 'TheliaInstaller',
+        'tusk'         => 'TuskInstaller',
+        'typo3-cms'    => 'TYPO3CmsInstaller',
+        'typo3-flow'   => 'TYPO3FlowInstaller',
+        'whmcs'        => 'WHMCSInstaller',
+        'wolfcms'      => 'WolfCMSInstaller',
+        'wordpress'    => 'WordPressInstaller',
+        'zend'         => 'ZendInstaller',
+        'zikula'       => 'ZikulaInstaller',
+        'prestashop'   => 'PrestashopInstaller',
+    );
+
+    /**
+     * {@inheritDoc}
+     */
+    public function getInstallPath(PackageInterface $package)
+    {
+        $type = $package->getType();
+        $frameworkType = $this->findFrameworkType($type);
+
+        if ($frameworkType === false) {
+            throw new \InvalidArgumentException(
+                'Sorry the package type of this package is not yet supported.'
+            );
+        }
+
+        $class = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
+        $installer = new $class($package, $this->composer);
+
+        return $installer->getInstallPath($package, $frameworkType);
+    }
+
+    public function uninstall(InstalledRepositoryInterface $repo, PackageInterface $package)
+    {
+        if (!$repo->hasPackage($package)) {
+            throw new \InvalidArgumentException('Package is not installed: '.$package);
+        }
+
+        $repo->removePackage($package);
+
+        $installPath = $this->getInstallPath($package);
+        $this->io->write(sprintf('Deleting %s - %s', $installPath, $this->filesystem->removeDirectory($installPath) ? '<comment>deleted</comment>' : '<error>not deleted</error>'));
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function supports($packageType)
+    {
+        $frameworkType = $this->findFrameworkType($packageType);
+
+        if ($frameworkType === false) {
+            return false;
+        }
+
+        $locationPattern = $this->getLocationPattern($frameworkType);
+
+        return preg_match('#' . $frameworkType . '-' . $locationPattern . '#', $packageType, $matches) === 1;
+    }
+
+    /**
+     * Finds a supported framework type if it exists and returns it
+     *
+     * @param  string $type
+     * @return string
+     */
+    protected function findFrameworkType($type)
+    {
+        $frameworkType = false;
+
+        krsort($this->supportedTypes);
+
+        foreach ($this->supportedTypes as $key => $val) {
+            if ($key === substr($type, 0, strlen($key))) {
+                $frameworkType = substr($type, 0, strlen($key));
+                break;
+            }
+        }
+
+        return $frameworkType;
+    }
+
+    /**
+     * Get the second part of the regular expression to check for support of a
+     * package type
+     *
+     * @param  string $frameworkType
+     * @return string
+     */
+    protected function getLocationPattern($frameworkType)
+    {
+        $pattern = false;
+        if (!empty($this->supportedTypes[$frameworkType])) {
+            $frameworkClass = 'Composer\\Installers\\' . $this->supportedTypes[$frameworkType];
+            /** @var BaseInstaller $framework */
+            $framework = new $frameworkClass(null, $this->composer);
+            $locations = array_keys($framework->getLocations());
+            $pattern = $locations ? '(' . implode('|', $locations) . ')' : false;
+        }
+
+        return $pattern ? : '(\w+)';
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php b/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
new file mode 100644
index 0000000..9ee7759
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/JoomlaInstaller.php
@@ -0,0 +1,15 @@
+<?php
+namespace Composer\Installers;
+
+class JoomlaInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'component'    => 'components/{$name}/',
+        'module'       => 'modules/{$name}/',
+        'template'     => 'templates/{$name}/',
+        'plugin'       => 'plugins/{$name}/',
+        'library'      => 'libraries/{$name}/',
+    );
+
+    // TODO: Add inflector for mod_ and com_ names
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php b/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php
new file mode 100644
index 0000000..ae7ba8a
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/KirbyInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class KirbyInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin'    => 'site/plugins/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php b/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
new file mode 100644
index 0000000..dcd6d26
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/KohanaInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class KohanaInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'modules/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php b/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
new file mode 100644
index 0000000..be4d53a
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/LaravelInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class LaravelInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'library' => 'libraries/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php b/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
new file mode 100644
index 0000000..47bbd4c
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/LithiumInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class LithiumInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'library' => 'libraries/{$name}/',
+        'source'  => 'libraries/_source/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php b/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
new file mode 100644
index 0000000..9c2e9fb
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MODULEWorkInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class MODULEWorkInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'    => 'modules/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
new file mode 100644
index 0000000..5a66460
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MODXEvoInstaller.php
@@ -0,0 +1,16 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * An installer to handle MODX Evolution specifics when installing packages.
+ */
+class MODXEvoInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'snippet'       => 'assets/snippets/{$name}/',
+        'plugin'        => 'assets/plugins/{$name}/',
+        'module'        => 'assets/modules/{$name}/',
+        'template'      => 'assets/templates/{$name}/',
+        'lib'           => 'assets/lib/{$name}/'
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
new file mode 100644
index 0000000..cf18e94
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MagentoInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class MagentoInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'theme'   => 'app/design/frontend/{$name}/',
+        'skin'    => 'skin/frontend/default/{$name}/',
+        'library' => 'lib/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php b/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
new file mode 100644
index 0000000..ca3cfac
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MakoInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class MakoInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'package' => 'app/packages/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php b/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
new file mode 100644
index 0000000..01008c6
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MediaWikiInstaller.php
@@ -0,0 +1,50 @@
+<?php
+namespace Composer\Installers;
+
+class MediaWikiInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'extension' => 'extensions/{$name}/',
+        'skin' => 'skins/{$name}/',
+    );
+
+    /**
+     * Format package name.
+     *
+     * For package type mediawiki-extension, cut off a trailing '-extension' if present and transform
+     * to CamelCase keeping existing uppercase chars.
+     *
+     * For package type mediawiki-skin, cut off a trailing '-skin' if present.
+     *
+     */
+    public function inflectPackageVars($vars)
+    {
+
+        if ($vars['type'] === 'mediawiki-extension') {
+            return $this->inflectExtensionVars($vars);
+        }
+
+        if ($vars['type'] === 'mediawiki-skin') {
+            return $this->inflectSkinVars($vars);
+        }
+
+        return $vars;
+    }
+
+    protected function inflectExtensionVars($vars)
+    {
+        $vars['name'] = preg_replace('/-extension$/', '', $vars['name']);
+        $vars['name'] = str_replace('-', ' ', $vars['name']);
+        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+        return $vars;
+    }
+
+    protected function inflectSkinVars($vars)
+    {
+        $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php b/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php
new file mode 100644
index 0000000..4bbbec8
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MicroweberInstaller.php
@@ -0,0 +1,111 @@
+<?php
+namespace Composer\Installers;
+
+class MicroweberInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'      => 'userfiles/modules/{$name}/',
+        'module-skin' => 'userfiles/modules/{$name}/templates/',
+        'template'    => 'userfiles/templates/{$name}/',
+        'element'     => 'userfiles/elements/{$name}/',
+        'vendor'      => 'vendor/{$name}/',
+        'components'  => 'components/{$name}/'
+    );
+
+    /**
+     * Format package name.
+     *
+     * For package type microweber-module, cut off a trailing '-module' if present
+     *
+     * For package type microweber-template, cut off a trailing '-template' if present.
+     *
+     */
+    public function inflectPackageVars($vars)
+    {
+        if ($vars['type'] === 'microweber-template') {
+            return $this->inflectTemplateVars($vars);
+        }
+        if ($vars['type'] === 'microweber-templates') {
+            return $this->inflectTemplatesVars($vars);
+        }
+        if ($vars['type'] === 'microweber-core') {
+            return $this->inflectCoreVars($vars);
+        }
+        if ($vars['type'] === 'microweber-adapter') {
+            return $this->inflectCoreVars($vars);
+        }
+        if ($vars['type'] === 'microweber-module') {
+            return $this->inflectModuleVars($vars);
+        }
+        if ($vars['type'] === 'microweber-modules') {
+            return $this->inflectModulesVars($vars);
+        }
+        if ($vars['type'] === 'microweber-skin') {
+            return $this->inflectSkinVars($vars);
+        }
+        if ($vars['type'] === 'microweber-element' or $vars['type'] === 'microweber-elements') {
+            return $this->inflectElementVars($vars);
+        }
+
+        return $vars;
+    }
+
+    protected function inflectTemplateVars($vars)
+    {
+        $vars['name'] = preg_replace('/-template$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/template-$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectTemplatesVars($vars)
+    {
+        $vars['name'] = preg_replace('/-templates$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/templates-$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectCoreVars($vars)
+    {
+        $vars['name'] = preg_replace('/-providers$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/-provider$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/-adapter$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectModuleVars($vars)
+    {
+        $vars['name'] = preg_replace('/-module$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/module-$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectModulesVars($vars)
+    {
+        $vars['name'] = preg_replace('/-modules$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/modules-$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectSkinVars($vars)
+    {
+        $vars['name'] = preg_replace('/-skin$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/skin-$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectElementVars($vars)
+    {
+        $vars['name'] = preg_replace('/-elements$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/elements-$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/-element$/', '', $vars['name']);
+        $vars['name'] = preg_replace('/element-$/', '', $vars['name']);
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php b/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
new file mode 100644
index 0000000..04be73c
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/MoodleInstaller.php
@@ -0,0 +1,47 @@
+<?php
+namespace Composer\Installers;
+
+class MoodleInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'mod'                => 'mod/{$name}/',
+        'admin_report'       => 'admin/report/{$name}/',
+        'tool'               => 'admin/tool/{$name}/',
+        'assignment'         => 'mod/assignment/type/{$name}/',
+        'assignsubmission'   => 'mod/assign/submission/{$name}/',
+        'assignfeedback'     => 'mod/assign/feedback/{$name}/',
+        'auth'               => 'auth/{$name}/',
+        'availability'       => 'availability/condition/{$name}/',
+        'block'              => 'blocks/{$name}/',
+        'calendartype'       => 'calendar/type/{$name}/',
+        'format'             => 'course/format/{$name}/',
+        'coursereport'       => 'course/report/{$name}/',
+        'datafield'          => 'mod/data/field/{$name}/',
+        'datapreset'         => 'mod/data/preset/{$name}/',
+        'editor'             => 'lib/editor/{$name}/',
+        'enrol'              => 'enrol/{$name}/',
+        'filter'             => 'filter/{$name}/',
+        'gradeexport'        => 'grade/export/{$name}/',
+        'gradeimport'        => 'grade/import/{$name}/',
+        'gradereport'        => 'grade/report/{$name}/',
+        'gradingform'        => 'grade/grading/form/{$name}/',
+        'local'              => 'local/{$name}/',
+        'message'            => 'message/output/{$name}/',
+        'plagiarism'         => 'plagiarism/{$name}/',
+        'portfolio'          => 'portfolio/{$name}/',
+        'qbehaviour'         => 'question/behaviour/{$name}/',
+        'qformat'            => 'question/format/{$name}/',
+        'qtype'              => 'question/type/{$name}/',
+        'quizaccess'         => 'mod/quiz/accessrule/{$name}/',
+        'quiz'               => 'mod/quiz/report/{$name}/',
+        'report'             => 'report/{$name}/',
+        'repository'         => 'repository/{$name}/',
+        'scormreport'        => 'mod/scorm/report/{$name}/',
+        'theme'              => 'theme/{$name}/',
+        'profilefield'       => 'user/profile/field/{$name}/',
+        'webservice'         => 'webservice/{$name}/',
+        'workshopallocation' => 'mod/workshop/allocation/{$name}/',
+        'workshopeval'       => 'mod/workshop/eval/{$name}/',
+        'workshopform'       => 'mod/workshop/form/{$name}/'
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php b/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php
new file mode 100644
index 0000000..6bf53fd
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/OctoberInstaller.php
@@ -0,0 +1,46 @@
+<?php
+namespace Composer\Installers;
+
+class OctoberInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'    => 'modules/{$name}/',
+        'plugin'    => 'plugins/{$vendor}/{$name}/',
+        'theme'     => 'themes/{$name}/'
+    );
+
+    /**
+     * Format package name.
+     *
+     * For package type october-plugin, cut off a trailing '-plugin' if present.
+     *
+     * For package type october-theme, cut off a trailing '-theme' if present.
+     *
+     */
+    public function inflectPackageVars($vars)
+    {
+        if ($vars['type'] === 'october-plugin') {
+            return $this->inflectPluginVars($vars);
+        }
+
+        if ($vars['type'] === 'october-theme') {
+            return $this->inflectThemeVars($vars);
+        }
+
+        return $vars;
+    }
+
+    protected function inflectPluginVars($vars)
+    {
+        $vars['name'] = preg_replace('/-plugin$/', '', $vars['name']);
+
+        return $vars;
+    }
+
+    protected function inflectThemeVars($vars)
+    {
+        $vars['name'] = preg_replace('/-theme$/', '', $vars['name']);
+
+        return $vars;
+    }
+}
\ No newline at end of file
diff --git a/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php b/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
new file mode 100644
index 0000000..22fb56a
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/OxidInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class OxidInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'    => 'modules/{$name}/',
+        'theme'  => 'application/views/{$name}/',
+        'out'    => 'out/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php b/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
new file mode 100644
index 0000000..170136f
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PPIInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class PPIInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'modules/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php b/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
new file mode 100644
index 0000000..deb2b77
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PhpBBInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class PhpBBInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'extension' => 'ext/{$vendor}/{$name}/',
+        'language'  => 'language/{$name}/',
+        'style'     => 'styles/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php b/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php
new file mode 100644
index 0000000..4781fa6
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PimcoreInstaller.php
@@ -0,0 +1,21 @@
+<?php
+namespace Composer\Installers;
+
+class PimcoreInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'plugins/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
+        $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
+        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php b/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
new file mode 100644
index 0000000..c17f457
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PiwikInstaller.php
@@ -0,0 +1,32 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Class PiwikInstaller
+ *
+ * @package Composer\Installers
+ */
+class PiwikInstaller extends BaseInstaller
+{
+    /**
+     * @var array
+     */
+    protected $locations = array(
+        'plugin' => 'plugins/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     * @param array $vars
+     *
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
+        $vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
+        $vars['name'] = str_replace(' ', '', ucwords($vars['name']));
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php b/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php
new file mode 100644
index 0000000..4c8421e
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PrestashopInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class PrestashopInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'modules/{$name}/',
+        'theme'  => 'themes/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php b/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php
new file mode 100644
index 0000000..77cc3dd
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/PuppetInstaller.php
@@ -0,0 +1,11 @@
+<?php
+
+namespace Composer\Installers;
+
+class PuppetInstaller extends BaseInstaller
+{
+
+    protected $locations = array(
+        'module' => 'modules/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php b/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php
new file mode 100644
index 0000000..0954457
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/RedaxoInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class RedaxoInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'addon'          => 'redaxo/include/addons/{$name}/',
+        'bestyle-plugin' => 'redaxo/include/addons/be_style/plugins/{$name}/'
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php b/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php
new file mode 100644
index 0000000..d8d795b
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/RoundcubeInstaller.php
@@ -0,0 +1,22 @@
+<?php
+namespace Composer\Installers;
+
+class RoundcubeInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'plugins/{$name}/',
+    );
+
+    /**
+     * Lowercase name and changes the name to a underscores
+     *
+     * @param  array $vars
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = strtolower(str_replace('-', '_', $vars['name']));
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php b/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php
new file mode 100644
index 0000000..1acd3b1
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/SMFInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class SMFInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'Sources/{$name}/',
+        'theme' => 'Themes/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php b/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
new file mode 100644
index 0000000..673f1fc
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ShopwareInstaller.php
@@ -0,0 +1,58 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Plugin/theme installer for shopware
+ * @author Benjamin Boit
+ */
+class ShopwareInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'backend-plugin'    => 'engine/Shopware/Plugins/Local/Backend/{$name}/',
+        'core-plugin'       => 'engine/Shopware/Plugins/Local/Core/{$name}/',
+        'frontend-plugin'   => 'engine/Shopware/Plugins/Local/Frontend/{$name}/',
+        'theme'             => 'templates/{$name}/'
+    );
+
+    /**
+     * Transforms the names
+     * @param  array $vars
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        if ($vars['type'] === 'shopware-theme') {
+            return $this->correctThemeName($vars);
+        } else {
+            return $this->correctPluginName($vars);
+        }
+    }
+
+    /**
+     * Changes the name to a camelcased combination of vendor and name
+     * @param  array $vars
+     * @return array
+     */
+    private function correctPluginName($vars)
+    {
+        $camelCasedName = preg_replace_callback('/(-[a-z])/', function ($matches) {
+            return strtoupper($matches[0][1]);
+        }, $vars['name']);
+
+        $vars['name'] = ucfirst($vars['vendor']) . ucfirst($camelCasedName);
+
+        return $vars;
+    }
+
+    /**
+     * Changes the name to a underscore separated name
+     * @param  array $vars
+     * @return array
+     */
+    private function correctThemeName($vars)
+    {
+        $vars['name'] = str_replace('-', '_', $vars['name']);
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php b/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
new file mode 100644
index 0000000..17ca543
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/SilverStripeInstaller.php
@@ -0,0 +1,36 @@
+<?php
+namespace Composer\Installers;
+
+use Composer\Package\PackageInterface;
+
+class SilverStripeInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => '{$name}/',
+        'theme'  => 'themes/{$name}/',
+    );
+
+    /**
+     * Return the install path based on package type.
+     *
+     * Relies on built-in BaseInstaller behaviour with one exception: silverstripe/framework
+     * must be installed to 'sapphire' and not 'framework' if the version is <3.0.0
+     *
+     * @param  PackageInterface $package
+     * @param  string           $frameworkType
+     * @return string
+     */
+    public function getInstallPath(PackageInterface $package, $frameworkType = '')
+    {
+        if (
+            $package->getName() == 'silverstripe/framework'
+            && preg_match('/^\d+\.\d+\.\d+/', $package->getVersion())
+            && version_compare($package->getVersion(), '2.999.999') < 0
+        ) {
+            return $this->templatePath($this->locations['module'], array('name' => 'sapphire'));
+        } else {
+            return parent::getInstallPath($package, $frameworkType);
+        }
+
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php b/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
new file mode 100644
index 0000000..1675c4f
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/Symfony1Installer.php
@@ -0,0 +1,26 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Plugin installer for symfony 1.x
+ *
+ * @author JÃ©rÃ´me Tamarelle <jerome@tamarelle.net>
+ */
+class Symfony1Installer extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin'    => 'plugins/{$name}/',
+    );
+
+    /**
+     * Format package name to CamelCase
+     */
+    public function inflectPackageVars($vars)
+    {
+        $vars['name'] = preg_replace_callback('/(-[a-z])/', function ($matches) {
+            return strtoupper($matches[0][1]);
+        }, $vars['name']);
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php b/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
new file mode 100644
index 0000000..8220b40
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/TYPO3CmsInstaller.php
@@ -0,0 +1,14 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * Extension installer for TYPO3 CMS
+ *
+ * @author Sascha Egerer <sascha.egerer@dkd.de>
+ */
+class TYPO3CmsInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'extension'   => 'typo3conf/ext/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php b/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
new file mode 100644
index 0000000..42572f4
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php
@@ -0,0 +1,38 @@
+<?php
+namespace Composer\Installers;
+
+/**
+ * An installer to handle TYPO3 Flow specifics when installing packages.
+ */
+class TYPO3FlowInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'package'       => 'Packages/Application/{$name}/',
+        'framework'     => 'Packages/Framework/{$name}/',
+        'plugin'        => 'Packages/Plugins/{$name}/',
+        'site'          => 'Packages/Sites/{$name}/',
+        'boilerplate'   => 'Packages/Boilerplates/{$name}/',
+        'build'         => 'Build/{$name}/',
+    );
+
+    /**
+     * Modify the package name to be a TYPO3 Flow style key.
+     *
+     * @param  array $vars
+     * @return array
+     */
+    public function inflectPackageVars($vars)
+    {
+        $autoload = $this->package->getAutoload();
+        if (isset($autoload['psr-0']) && is_array($autoload['psr-0'])) {
+            $namespace = key($autoload['psr-0']);
+            $vars['name'] = str_replace('\\', '.', $namespace);
+        }
+        if (isset($autoload['psr-4']) && is_array($autoload['psr-4'])) {
+            $namespace = key($autoload['psr-4']);
+            $vars['name'] = rtrim(str_replace('\\', '.', $namespace), '.');
+        }
+
+        return $vars;
+    }
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php b/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php
new file mode 100644
index 0000000..158af52
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/TheliaInstaller.php
@@ -0,0 +1,12 @@
+<?php
+namespace Composer\Installers;
+
+class TheliaInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module'                => 'local/modules/{$name}/',
+        'frontoffice-template'  => 'templates/frontOffice/{$name}/',
+        'backoffice-template'   => 'templates/backOffice/{$name}/',
+        'email-template'        => 'templates/email/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php b/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php
new file mode 100644
index 0000000..7c0113b
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/TuskInstaller.php
@@ -0,0 +1,14 @@
+<?php
+    namespace Composer\Installers;
+    /**
+     * Composer installer for 3rd party Tusk utilities
+     * @author Drew Ewing <drew@phenocode.com>
+     */
+    class TuskInstaller extends BaseInstaller
+    {
+        protected $locations = array(
+            'task'    => '.tusk/tasks/{$name}/',
+            'command' => '.tusk/commands/{$name}/',
+            'asset'   => 'assets/tusk/{$name}/',
+        );
+    }
diff --git a/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php b/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php
new file mode 100644
index 0000000..2cbb4a4
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/WHMCSInstaller.php
@@ -0,0 +1,10 @@
+<?php
+
+namespace Composer\Installers;
+
+class WHMCSInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'gateway' => 'modules/gateways/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php b/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
new file mode 100644
index 0000000..cb38788
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/WolfCMSInstaller.php
@@ -0,0 +1,9 @@
+<?php
+namespace Composer\Installers;
+
+class WolfCMSInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin' => 'wolf/plugins/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php b/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
new file mode 100644
index 0000000..b03219c
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/WordPressInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class WordPressInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'plugin'    => 'wp-content/plugins/{$name}/',
+        'theme'     => 'wp-content/themes/{$name}/',
+        'muplugin'  => 'wp-content/mu-plugins/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php b/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
new file mode 100644
index 0000000..bde9bc8
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ZendInstaller.php
@@ -0,0 +1,11 @@
+<?php
+namespace Composer\Installers;
+
+class ZendInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'library' => 'library/{$name}/',
+        'extra'   => 'extras/library/{$name}/',
+        'module'  => 'module/{$name}/',
+    );
+}
diff --git a/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php b/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
new file mode 100644
index 0000000..56cdf5d
--- /dev/null
+++ b/vendor/composer/installers/src/Composer/Installers/ZikulaInstaller.php
@@ -0,0 +1,10 @@
+<?php
+namespace Composer\Installers;
+
+class ZikulaInstaller extends BaseInstaller
+{
+    protected $locations = array(
+        'module' => 'modules/{$vendor}-{$name}/',
+        'theme'  => 'themes/{$vendor}-{$name}/'
+    );
+}
diff --git a/vendor/composer/installers/src/bootstrap.php b/vendor/composer/installers/src/bootstrap.php
new file mode 100644
index 0000000..0de276e
--- /dev/null
+++ b/vendor/composer/installers/src/bootstrap.php
@@ -0,0 +1,13 @@
+<?php
+function includeIfExists($file)
+{
+    if (file_exists($file)) {
+        return include $file;
+    }
+}
+if ((!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php')) && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))) {
+    die('You must set up the project dependencies, run the following commands:'.PHP_EOL.
+        'curl -s http://getcomposer.org/installer | php'.PHP_EOL.
+        'php composer.phar install'.PHP_EOL);
+}
+return $loader;
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php
new file mode 100644
index 0000000..71480ec
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/AsgardInstallerTest.php
@@ -0,0 +1,61 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\AsgardInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class AsgardInstallerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var OctoberInstaller
+     */
+    private $installer;
+
+    public function setUp()
+    {
+        $this->installer = new AsgardInstaller(
+            new Package('NyanCat', '4.2', '4.2'),
+            new Composer()
+        );
+    }
+
+    /**
+     * @dataProvider packageNameInflectionProvider
+     */
+    public function testInflectPackageVars($type, $name, $expected)
+    {
+        $this->assertEquals(
+            $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)),
+            array('name' => $expected, 'type' => $type)
+        );
+    }
+
+    public function packageNameInflectionProvider()
+    {
+        return array(
+            array(
+                'asgard-module',
+                'asgard-module',
+                'Asgard'
+            ),
+            array(
+                'asgard-module',
+                'blog',
+                'Blog'
+            ),
+            // tests that exactly one '-theme' is cut off
+            array(
+                'asgard-theme',
+                'some-theme-theme',
+                'Some-theme',
+            ),
+            // tests that names without '-theme' suffix stay valid
+            array(
+                'asgard-theme',
+                'someothertheme',
+                'Someothertheme',
+            ),
+        );
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
new file mode 100644
index 0000000..976bd9b
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/CakePHPInstallerTest.php
@@ -0,0 +1,115 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\CakePHPInstaller;
+use Composer\Repository\RepositoryManager;
+use Composer\Repository\InstalledArrayRepository;
+use Composer\Package\Package;
+use Composer\Package\RootPackage;
+use Composer\Package\Link;
+use Composer\Package\Version\VersionParser;
+use Composer\Composer;
+use Composer\Config;
+
+class CakePHPInstallerTest extends TestCase
+{
+    private $composer;
+    private $io;
+
+    /**
+     * setUp
+     *
+     * @return void
+     */
+    public function setUp()
+    {
+        $this->package = new Package('CamelCased', '1.0', '1.0');
+        $this->io = $this->getMock('Composer\IO\PackageInterface');
+        $this->composer = new Composer();
+        $this->composer->setConfig(new Config(false));
+    }
+
+    /**
+     * testInflectPackageVars
+     *
+     * @return void
+     */
+    public function testInflectPackageVars()
+    {
+        $installer = new CakePHPInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'CamelCased'));
+        $this->assertEquals($result, array('name' => 'CamelCased'));
+
+        $installer = new CakePHPInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'with-dash'));
+        $this->assertEquals($result, array('name' => 'WithDash'));
+
+        $installer = new CakePHPInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'with_underscore'));
+        $this->assertEquals($result, array('name' => 'WithUnderscore'));
+
+        $installer = new CakePHPInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'cake/acl'));
+        $this->assertEquals($result, array('name' => 'Cake/Acl'));
+
+        $installer = new CakePHPInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'cake/debug-kit'));
+        $this->assertEquals($result, array('name' => 'Cake/DebugKit'));
+    }
+
+    /**
+     * Test getLocations returning appropriate values based on CakePHP version
+     *
+     */
+    public function testGetLocations() {
+        $package = new RootPackage('CamelCased', '1.0', '1.0');
+        $composer = $this->composer;
+        $rm = new RepositoryManager(
+            $this->getMock('Composer\IO\IOInterface'),
+            $this->getMock('Composer\Config')
+        );
+        $composer->setRepositoryManager($rm);
+        $installer = new CakePHPInstaller($package, $composer);
+
+        // 2.0 < cakephp < 3.0
+        $this->setCakephpVersion($rm, '2.0.0');
+        $result = $installer->getLocations();
+        $this->assertContains('Plugin/', $result['plugin']);
+
+        $this->setCakephpVersion($rm, '2.5.9');
+        $result = $installer->getLocations();
+        $this->assertContains('Plugin/', $result['plugin']);
+
+        $this->setCakephpVersion($rm, '~2.5');
+        $result = $installer->getLocations();
+        $this->assertContains('Plugin/', $result['plugin']);
+
+        // special handling for 2.x versions when 3.x is still in development
+        $this->setCakephpVersion($rm, 'dev-master');
+        $result = $installer->getLocations();
+        $this->assertContains('Plugin/', $result['plugin']);
+
+        $this->setCakephpVersion($rm, '>=2.5');
+        $result = $installer->getLocations();
+        $this->assertContains('Plugin/', $result['plugin']);
+
+        // cakephp >= 3.0
+        $this->setCakephpVersion($rm, '3.0.*-dev');
+        $result = $installer->getLocations();
+        $this->assertContains('vendor/{$vendor}/{$name}/', $result['plugin']);
+
+        $this->setCakephpVersion($rm, '~8.8');
+        $result = $installer->getLocations();
+        $this->assertEquals('vendor/{$vendor}/{$name}/', $result['plugin']);
+    }
+
+    protected function setCakephpVersion($rm, $version) {
+        $parser = new VersionParser();
+        list(, $version) = explode(' ', $parser->parseConstraints($version));
+        $installed = new InstalledArrayRepository();
+        $package = new Package('cakephp/cakephp', $version, $version);
+        $installed->addPackage($package);
+        $rm->setLocalRepository($installed);
+    }
+
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php
new file mode 100644
index 0000000..9e385e6
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/DokuWikiInstallerTest.php
@@ -0,0 +1,89 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\DokuWikiInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class DokuWikiInstallerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var DokuWikiInstaller
+     */
+    private $installer;
+
+    public function setUp()
+    {
+        $this->installer = new DokuWikiInstaller(
+            new Package('NyanCat', '4.2', '4.2'),
+            new Composer()
+        );
+    }
+
+    /**
+     * @dataProvider packageNameInflectionProvider
+     */
+    public function testInflectPackageVars($type, $name, $expected)
+    {
+        $this->assertEquals(
+            $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)),
+            array('name' => $expected, 'type'=>$type)
+        );
+    }
+
+    public function packageNameInflectionProvider()
+    {
+        return array(
+            array(
+                'dokuwiki-plugin',
+                'dokuwiki-test-plugin',
+                'test',
+            ),
+            array(
+                'dokuwiki-plugin',
+                'test-plugin',
+                'test',
+            ),
+            array(
+                'dokuwiki-plugin',
+                'dokuwiki_test',
+                'test',
+            ),
+            array(
+                'dokuwiki-plugin',
+                'test',
+                'test',
+            ),
+            array(
+                'dokuwiki-plugin',
+                'test-template',
+                'test-template',
+            ),
+            array(
+                'dokuwiki-template',
+                'dokuwiki-test-template',
+                'test',
+            ),
+            array(
+                'dokuwiki-template',
+                'test-template',
+                'test',
+            ),
+            array(
+                'dokuwiki-template',
+                'dokuwiki_test',
+                'test',
+            ),
+            array(
+                'dokuwiki-template',
+                'test',
+                'test',
+            ),
+            array(
+                'dokuwiki-template',
+                'test-plugin',
+                'test-plugin',
+            ),
+        );
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php
new file mode 100644
index 0000000..b757799
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/GravInstallerTest.php
@@ -0,0 +1,63 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Composer;
+use Composer\Installers\GravInstaller;
+
+class GravInstallerTest extends TestCase
+{
+    /* @var \Composer\Composer */
+    protected $composer;
+
+    public function setUp()
+    {
+        $this->composer = new Composer();
+    }
+
+    public function testInflectPackageVars()
+    {
+        $package     = $this->getPackage('vendor/name', '0.0.0');
+        $installer   = new GravInstaller($package, $this->composer);
+        $packageVars = $this->getPackageVars($package);
+
+        $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => 'test')));
+        $this->assertEquals('test', $result['name']);
+
+        foreach ($installer->getLocations() as $name => $location) {
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test")));
+            $this->assertEquals('test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-$name")));
+            $this->assertEquals('test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "$name-test-test")));
+            $this->assertEquals('test-test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "test-test-$name")));
+            $this->assertEquals('test-test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test")));
+            $this->assertEquals('test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-$name")));
+            $this->assertEquals('test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-$name-test-test")));
+            $this->assertEquals('test-test', $result['name']);
+            $result = $installer->inflectPackageVars(array_merge($packageVars, array('name' => "grav-test-test-$name")));
+            $this->assertEquals('test-test', $result['name']);
+        }
+    }
+
+    /**
+     * @param $package  \Composer\Package\PackageInterface
+     */
+    public function getPackageVars($package)
+    {
+        $type = $package->getType();
+
+        $prettyName = $package->getPrettyName();
+        if (strpos($prettyName, '/') !== false) {
+            list($vendor, $name) = explode('/', $prettyName);
+        } else {
+            $vendor = '';
+            $name   = $prettyName;
+        }
+
+        return compact('name', 'vendor', 'type');
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
new file mode 100644
index 0000000..a516daf
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
@@ -0,0 +1,422 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\Installer;
+use Composer\Util\Filesystem;
+use Composer\Package\Package;
+use Composer\Package\RootPackage;
+use Composer\Composer;
+use Composer\Config;
+
+class InstallerTest extends TestCase
+{
+    private $composer;
+    private $config;
+    private $vendorDir;
+    private $binDir;
+    private $dm;
+    private $repository;
+    private $io;
+    private $fs;
+
+    /**
+     * setUp
+     *
+     * @return void
+     */
+    public function setUp()
+    {
+        $this->fs = new Filesystem;
+
+        $this->composer = new Composer();
+        $this->config = new Config();
+        $this->composer->setConfig($this->config);
+
+        $this->vendorDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-vendor';
+        $this->ensureDirectoryExistsAndClear($this->vendorDir);
+
+        $this->binDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'baton-test-bin';
+        $this->ensureDirectoryExistsAndClear($this->binDir);
+
+        $this->config->merge(array(
+            'config' => array(
+                'vendor-dir' => $this->vendorDir,
+                'bin-dir' => $this->binDir,
+            ),
+        ));
+
+        $this->dm = $this->getMockBuilder('Composer\Downloader\DownloadManager')
+            ->disableOriginalConstructor()
+            ->getMock();
+        $this->composer->setDownloadManager($this->dm);
+
+        $this->repository = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
+        $this->io = $this->getMock('Composer\IO\IOInterface');
+    }
+
+    /**
+     * tearDown
+     *
+     * @return void
+     */
+    public function tearDown()
+    {
+        $this->fs->removeDirectory($this->vendorDir);
+        $this->fs->removeDirectory($this->binDir);
+    }
+
+    /**
+     * testSupports
+     *
+     * @return void
+     *
+     * @dataProvider dataForTestSupport
+     */
+    public function testSupports($type, $expected)
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $this->assertSame($expected, $installer->supports($type), sprintf('Failed to show support for %s', $type));
+    }
+
+    /**
+     * dataForTestSupport
+     */
+    public function dataForTestSupport()
+    {
+        return array(
+            array('agl-module', true),
+            array('aimeos-extension', true),
+            array('annotatecms-module', true),
+            array('annotatecms-component', true),
+            array('annotatecms-service', true),
+            array('bitrix-module', true),
+            array('bitrix-component', true),
+            array('bitrix-theme', true),
+            array('cakephp', false),
+            array('cakephp-', false),
+            array('cakephp-app', false),
+            array('cakephp-plugin', true),
+            array('chef-cookbook', true),
+            array('chef-role', true),
+            array('codeigniter-app', false),
+            array('codeigniter-library', true),
+            array('codeigniter-third-party', true),
+            array('codeigniter-module', true),
+            array('concrete5-block', true),
+            array('concrete5-package', true),
+            array('concrete5-theme', true),
+            array('concrete5-update', true),
+            array('craft-plugin', true),
+            array('croogo-plugin', true),
+            array('croogo-theme', true),
+            array('dokuwiki-plugin', true),
+            array('dokuwiki-template', true),
+            array('drupal-module', true),
+            array('dolibarr-module', true),
+            array('elgg-plugin', true),
+            array('fuel-module', true),
+            array('fuel-package', true),
+            array('fuel-theme', true),
+            array('fuelphp-component', true),
+            array('hurad-plugin', true),
+            array('hurad-theme', true),
+            array('joomla-library', true),
+            array('kirby-plugin', true),
+            array('kohana-module', true),
+            array('laravel-library', true),
+            array('lithium-library', true),
+            array('magento-library', true),
+            array('mako-package', true),
+            array('modxevo-snippet', true),
+            array('modxevo-plugin', true),
+            array('modxevo-module', true),
+            array('modxevo-template', true),
+            array('modxevo-lib', true),
+            array('mediawiki-extension', true),
+            array('mediawiki-skin', true),
+            array('microweber-module', true),
+            array('modulework-module', true),
+            array('moodle-mod', true),
+            array('october-module', true),
+            array('october-plugin', true),
+            array('piwik-plugin', true),
+            array('phpbb-extension', true),
+            array('pimcore-plugin', true),
+            array('ppi-module', true),
+            array('prestashop-module', true),
+            array('prestashop-theme', true),
+            array('puppet-module', true),
+            array('redaxo-addon', true),
+            array('redaxo-bestyle-plugin', true),
+            array('roundcube-plugin', true),
+            array('shopware-backend-plugin', true),
+            array('shopware-core-plugin', true),
+            array('shopware-frontend-plugin', true),
+            array('shopware-theme', true),
+            array('silverstripe-module', true),
+            array('silverstripe-theme', true),
+            array('smf-module', true),
+            array('smf-theme', true),
+            array('symfony1-plugin', true),
+            array('thelia-module', true),
+            array('thelia-frontoffice-template', true),
+            array('thelia-backoffice-template', true),
+            array('thelia-email-template', true),
+            array('tusk-task', true),
+            array('tusk-asset', true),
+            array('typo3-flow-plugin', true),
+            array('typo3-cms-extension', true),
+            array('whmcs-gateway', true),
+            array('wolfcms-plugin', true),
+            array('wordpress-plugin', true),
+            array('wordpress-core', false),
+            array('zend-library', true),
+            array('zikula-module', true),
+            array('zikula-theme', true),
+        );
+    }
+
+    /**
+     * testInstallPath
+     *
+     * @dataProvider dataForTestInstallPath
+     */
+    public function testInstallPath($type, $path, $name, $version = '1.0.0')
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package($name, $version, $version);
+
+        $package->setType($type);
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals($path, $result);
+    }
+
+    /**
+     * dataFormTestInstallPath
+     */
+    public function dataForTestInstallPath()
+    {
+        return array(
+            array('agl-module', 'More/MyTestPackage/', 'agl/my_test-package'),
+            array('aimeos-extension', 'ext/ai-test/', 'author/ai-test'),
+            array('annotatecms-module', 'addons/modules/my_module/', 'vysinsky/my_module'),
+            array('annotatecms-component', 'addons/components/my_component/', 'vysinsky/my_component'),
+            array('annotatecms-service', 'addons/services/my_service/', 'vysinsky/my_service'),
+            array('bitrix-module', 'local/modules/my_module/', 'author/my_module'),
+            array('bitrix-component', 'local/components/my_component/', 'author/my_component'),
+            array('bitrix-theme', 'local/templates/my_theme/', 'author/my_theme'),
+            array('cakephp-plugin', 'Plugin/Ftp/', 'shama/ftp'),
+            array('chef-cookbook', 'Chef/mre/my_cookbook/', 'mre/my_cookbook'),
+            array('chef-role', 'Chef/roles/my_role/', 'mre/my_role'),
+            array('codeigniter-library', 'application/libraries/my_package/', 'shama/my_package'),
+            array('codeigniter-module', 'application/modules/my_package/', 'shama/my_package'),
+            array('concrete5-block', 'blocks/concrete5_block/', 'remo/concrete5_block'),
+            array('concrete5-package', 'packages/concrete5_package/', 'remo/concrete5_package'),
+            array('concrete5-theme', 'themes/concrete5_theme/', 'remo/concrete5_theme'),
+            array('concrete5-update', 'updates/concrete5/', 'concrete5/concrete5'),
+            array('craft-plugin', 'craft/plugins/my_plugin/', 'mdcpepper/my_plugin'),
+            array('croogo-plugin', 'Plugin/Sitemaps/', 'fahad19/sitemaps'),
+            array('croogo-theme', 'View/Themed/Readable/', 'rchavik/readable'),
+            array('dokuwiki-plugin', 'lib/plugins/someplugin/', 'author/someplugin'),
+            array('dokuwiki-template', 'lib/tpl/sometemplate/', 'author/sometemplate'),
+            array('dolibarr-module', 'htdocs/custom/my_module/', 'shama/my_module'),
+            array('drupal-module', 'modules/my_module/', 'shama/my_module'),
+            array('drupal-theme', 'themes/my_module/', 'shama/my_module'),
+            array('drupal-profile', 'profiles/my_module/', 'shama/my_module'),
+            array('drupal-drush', 'drush/my_module/', 'shama/my_module'),
+            array('elgg-plugin', 'mod/sample_plugin/', 'test/sample_plugin'),
+            array('fuel-module', 'fuel/app/modules/module/', 'fuel/module'),
+            array('fuel-package', 'fuel/packages/orm/', 'fuel/orm'),
+            array('fuel-theme', 'fuel/app/themes/theme/', 'fuel/theme'),
+            array('fuelphp-component', 'components/demo/', 'fuelphp/demo'),
+            array('hurad-plugin', 'plugins/Akismet/', 'atkrad/akismet'),
+            array('hurad-theme', 'plugins/Hurad2013/', 'atkrad/Hurad2013'),
+            array('joomla-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
+            array('kirby-plugin', 'site/plugins/my_plugin/', 'shama/my_plugin'),
+            array('kohana-module', 'modules/my_package/', 'shama/my_package'),
+            array('laravel-library', 'libraries/my_package/', 'shama/my_package'),
+            array('lithium-library', 'libraries/li3_test/', 'user/li3_test'),
+            array('magento-library', 'lib/foo/', 'test/foo'),
+            array('modxevo-snippet', 'assets/snippets/my_snippet/', 'shama/my_snippet'),
+            array('modxevo-plugin', 'assets/plugins/my_plugin/', 'shama/my_plugin'),
+            array('modxevo-module', 'assets/modules/my_module/', 'shama/my_module'),
+            array('modxevo-template', 'assets/templates/my_template/', 'shama/my_template'),
+            array('modxevo-lib', 'assets/lib/my_lib/', 'shama/my_lib'),
+            array('mako-package', 'app/packages/my_package/', 'shama/my_package'),
+            array('mediawiki-extension', 'extensions/APC/', 'author/APC'),
+            array('mediawiki-extension', 'extensions/APC/', 'author/APC-extension'),
+            array('mediawiki-extension', 'extensions/UploadWizard/', 'author/upload-wizard'),
+            array('mediawiki-extension', 'extensions/SyntaxHighlight_GeSHi/', 'author/syntax-highlight_GeSHi'),
+            array('mediawiki-skin', 'skins/someskin/', 'author/someskin-skin'),
+            array('mediawiki-skin', 'skins/someskin/', 'author/someskin'),
+            array('microweber-module', 'userfiles/modules/my-thing/', 'author/my-thing-module'),
+            array('modulework-module', 'modules/my_package/', 'shama/my_package'),
+            array('moodle-mod', 'mod/my_package/', 'shama/my_package'),
+            array('october-module', 'modules/my_plugin/', 'shama/my_plugin'),
+            array('october-plugin', 'plugins/shama/my_plugin/', 'shama/my_plugin'),
+            array('october-theme', 'themes/my_theme/', 'shama/my_theme'),
+            array('piwik-plugin', 'plugins/VisitSummary/', 'shama/visit-summary'),
+            array('prestashop-module', 'modules/a-module/', 'vendor/a-module'),
+            array('prestashop-theme', 'themes/a-theme/', 'vendor/a-theme'),
+            array('phpbb-extension', 'ext/test/foo/', 'test/foo'),
+            array('phpbb-style', 'styles/foo/', 'test/foo'),
+            array('phpbb-language', 'language/foo/', 'test/foo'),
+            array('pimcore-plugin', 'plugins/MyPlugin/', 'ubikz/my_plugin'),
+            array('ppi-module', 'modules/foo/', 'test/foo'),
+            array('puppet-module', 'modules/puppet-name/', 'puppet/puppet-name'),
+            array('redaxo-addon', 'redaxo/include/addons/my_plugin/', 'shama/my_plugin'),
+            array('redaxo-bestyle-plugin', 'redaxo/include/addons/be_style/plugins/my_plugin/', 'shama/my_plugin'),
+            array('roundcube-plugin', 'plugins/base/', 'test/base'),
+            array('roundcube-plugin', 'plugins/replace_dash/', 'test/replace-dash'),
+            array('shopware-backend-plugin', 'engine/Shopware/Plugins/Local/Backend/ShamaMyBackendPlugin/', 'shama/my-backend-plugin'),
+            array('shopware-core-plugin', 'engine/Shopware/Plugins/Local/Core/ShamaMyCorePlugin/', 'shama/my-core-plugin'),
+            array('shopware-frontend-plugin', 'engine/Shopware/Plugins/Local/Frontend/ShamaMyFrontendPlugin/', 'shama/my-frontend-plugin'),
+            array('shopware-theme', 'templates/my_theme/', 'shama/my-theme'),
+            array('silverstripe-module', 'my_module/', 'shama/my_module'),
+            array('silverstripe-module', 'sapphire/', 'silverstripe/framework', '2.4.0'),
+            array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0'),
+            array('silverstripe-module', 'framework/', 'silverstripe/framework', '3.0.0-rc1'),
+            array('silverstripe-module', 'framework/', 'silverstripe/framework', 'my/branch'),
+            array('silverstripe-theme', 'themes/my_theme/', 'shama/my_theme'),
+            array('smf-module', 'Sources/my_module/', 'shama/my_module'),
+            array('smf-theme', 'Themes/my_theme/', 'shama/my_theme'),
+            array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sfShamaPlugin'),
+            array('symfony1-plugin', 'plugins/sfShamaPlugin/', 'shama/sf-shama-plugin'),
+            array('thelia-module', 'local/modules/my_module/', 'shama/my_module'),
+            array('thelia-frontoffice-template', 'templates/frontOffice/my_template_fo/', 'shama/my_template_fo'),
+            array('thelia-backoffice-template', 'templates/backOffice/my_template_bo/', 'shama/my_template_bo'),
+            array('thelia-email-template', 'templates/email/my_template_email/', 'shama/my_template_email'),
+            array('tusk-task', '.tusk/tasks/my_task/', 'shama/my_task'),
+            array('typo3-flow-package', 'Packages/Application/my_package/', 'shama/my_package'),
+            array('typo3-flow-build', 'Build/my_package/', 'shama/my_package'),
+            array('typo3-cms-extension', 'typo3conf/ext/my_extension/', 'shama/my_extension'),
+            array('whmcs-gateway', 'modules/gateways/gateway_name/', 'vendor/gateway_name'),
+            array('wolfcms-plugin', 'wolf/plugins/my_plugin/', 'shama/my_plugin'),
+            array('wordpress-plugin', 'wp-content/plugins/my_plugin/', 'shama/my_plugin'),
+            array('wordpress-muplugin', 'wp-content/mu-plugins/my_plugin/', 'shama/my_plugin'),
+            array('zend-extra', 'extras/library/zend_test/', 'shama/zend_test'),
+            array('zikula-module', 'modules/my-test_module/', 'my/test_module'),
+            array('zikula-theme', 'themes/my-test_theme/', 'my/test_theme'),
+        );
+    }
+
+    /**
+     * testGetCakePHPInstallPathException
+     *
+     * @return void
+     *
+     * @expectedException \InvalidArgumentException
+     */
+    public function testGetCakePHPInstallPathException()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('shama/ftp', '1.0.0', '1.0.0');
+
+        $package->setType('cakephp-whoops');
+        $result = $installer->getInstallPath($package);
+    }
+
+    /**
+     * testCustomInstallPath
+     */
+    public function testCustomInstallPath()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('shama/ftp', '1.0.0', '1.0.0');
+        $package->setType('cakephp-plugin');
+        $consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
+        $this->composer->setPackage($consumerPackage);
+        $consumerPackage->setExtra(array(
+            'installer-paths' => array(
+                'my/custom/path/{$name}/' => array(
+                    'shama/ftp',
+                    'foo/bar',
+                ),
+            ),
+        ));
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals('my/custom/path/Ftp/', $result);
+    }
+
+    /**
+     * testCustomInstallerName
+     */
+    public function testCustomInstallerName()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('shama/cakephp-ftp-plugin', '1.0.0', '1.0.0');
+        $package->setType('cakephp-plugin');
+        $package->setExtra(array(
+            'installer-name' => 'FTP',
+        ));
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals('Plugin/FTP/', $result);
+    }
+
+    /**
+     * testCustomTypePath
+     */
+    public function testCustomTypePath()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('slbmeh/my_plugin', '1.0.0', '1.0.0');
+        $package->setType('wordpress-plugin');
+        $consumerPackage = new RootPackage('foo/bar', '1.0.0', '1.0.0');
+        $this->composer->setPackage($consumerPackage);
+        $consumerPackage->setExtra(array(
+            'installer-paths' => array(
+                'my/custom/path/{$name}/' => array(
+                    'type:wordpress-plugin'
+                ),
+            ),
+        ));
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals('my/custom/path/my_plugin/', $result);
+    }
+
+    /**
+     * testNoVendorName
+     */
+    public function testNoVendorName()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('sfPhpunitPlugin', '1.0.0', '1.0.0');
+
+        $package->setType('symfony1-plugin');
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals('plugins/sfPhpunitPlugin/', $result);
+    }
+
+    /**
+     * testTypo3Inflection
+     */
+    public function testTypo3Inflection()
+    {
+        $installer = new Installer($this->io, $this->composer);
+        $package = new Package('typo3/fluid', '1.0.0', '1.0.0');
+
+        $package->setAutoload(array(
+            'psr-0' => array(
+                'TYPO3\\Fluid' => 'Classes',
+            ),
+        ));
+
+        $package->setType('typo3-flow-package');
+        $result = $installer->getInstallPath($package);
+        $this->assertEquals('Packages/Application/TYPO3.Fluid/', $result);
+    }
+
+    public function testUninstallAndDeletePackageFromLocalRepo()
+    {
+        $package = new Package('foo', '1.0.0', '1.0.0');
+
+        $installer = $this->getMock('Composer\Installers\Installer', array('getInstallPath'), array($this->io, $this->composer));
+        $installer->expects($this->once())->method('getInstallPath')->with($package)->will($this->returnValue(sys_get_temp_dir().'/foo'));
+
+        $repo = $this->getMock('Composer\Repository\InstalledRepositoryInterface');
+        $repo->expects($this->once())->method('hasPackage')->with($package)->will($this->returnValue(true));
+        $repo->expects($this->once())->method('removePackage')->with($package);
+
+        $installer->uninstall($repo, $package);
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php
new file mode 100644
index 0000000..3675e18
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/MediaWikiInstallerTest.php
@@ -0,0 +1,66 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\MediaWikiInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class MediaWikiInstallerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var MediaWikiInstaller
+     */
+    private $installer;
+
+    public function setUp()
+    {
+        $this->installer = new MediaWikiInstaller(
+            new Package('NyanCat', '4.2', '4.2'),
+            new Composer()
+        );
+    }
+
+    /**
+     * @dataProvider packageNameInflectionProvider
+     */
+    public function testInflectPackageVars($type, $name, $expected)
+    {
+        $this->assertEquals(
+            $this->installer->inflectPackageVars(array('name' => $name, 'type'=>$type)),
+            array('name' => $expected, 'type'=>$type)
+        );
+    }
+
+    public function packageNameInflectionProvider()
+    {
+        return array(
+            array(
+                'mediawiki-extension',
+                'sub-page-list',
+                'SubPageList',
+            ),
+            array(
+                'mediawiki-extension',
+                'sub-page-list-extension',
+                'SubPageList',
+            ),
+            array(
+                'mediawiki-extension',
+                'semantic-mediawiki',
+                'SemanticMediawiki',
+            ),
+            // tests that exactly one '-skin' is cut off, and that skins do not get ucwords treatment like extensions
+            array(
+                'mediawiki-skin',
+                'some-skin-skin',
+                'some-skin',
+            ),
+            // tests that names without '-skin' suffix stay valid
+            array(
+                'mediawiki-skin',
+                'someotherskin',
+                'someotherskin',
+            ),
+        );
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php
new file mode 100644
index 0000000..fd427cd
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/OctoberInstallerTest.php
@@ -0,0 +1,66 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\OctoberInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class OctoberInstallerTest extends \PHPUnit_Framework_TestCase
+{
+    /**
+     * @var OctoberInstaller
+     */
+    private $installer;
+
+    public function setUp()
+    {
+        $this->installer = new OctoberInstaller(
+            new Package('NyanCat', '4.2', '4.2'),
+            new Composer()
+        );
+    }
+
+    /**
+     * @dataProvider packageNameInflectionProvider
+     */
+    public function testInflectPackageVars($type, $name, $expected)
+    {
+        $this->assertEquals(
+            $this->installer->inflectPackageVars(array('name' => $name, 'type' => $type)),
+            array('name' => $expected, 'type' => $type)
+        );
+    }
+
+    public function packageNameInflectionProvider()
+    {
+        return array(
+            array(
+                'october-plugin',
+                'subpagelist',
+                'subpagelist',
+            ),
+            array(
+                'october-plugin',
+                'subpagelist-plugin',
+                'subpagelist',
+            ),
+            array(
+                'october-plugin',
+                'semanticoctober',
+                'semanticoctober',
+            ),
+            // tests that exactly one '-theme' is cut off
+            array(
+                'october-theme',
+                'some-theme-theme',
+                'some-theme',
+            ),
+            // tests that names without '-theme' suffix stay valid
+            array(
+                'october-theme',
+                'someothertheme',
+                'someothertheme',
+            ),
+        );
+    }
+}
\ No newline at end of file
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php
new file mode 100644
index 0000000..ea79374
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/PimcoreInstallerTest.php
@@ -0,0 +1,44 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Installers\PimcoreInstaller;
+use Composer\Package\Package;
+use Composer\Composer;
+
+class PimcoreInstallerTest extends TestCase
+{
+    private $composer;
+    private $io;
+
+    /**
+     * setUp
+     *
+     * @return void
+     */
+    public function setUp()
+    {
+        $this->package = new Package('CamelCased', '1.0', '1.0');
+        $this->io = $this->getMock('Composer\IO\PackageInterface');
+        $this->composer = new Composer();
+    }
+
+    /**
+     * testInflectPackageVars
+     *
+     * @return void
+     */
+    public function testInflectPackageVars()
+    {
+        $installer = new PimcoreInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'CamelCased'));
+        $this->assertEquals($result, array('name' => 'CamelCased'));
+
+        $installer = new PimcoreInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'with-dash'));
+        $this->assertEquals($result, array('name' => 'WithDash'));
+
+        $installer = new PimcoreInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'with_underscore'));
+        $this->assertEquals($result, array('name' => 'WithUnderscore'));
+    }
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php b/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php
new file mode 100644
index 0000000..8d9ff3f
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/PiwikInstallerTest.php
@@ -0,0 +1,63 @@
+<?php
+namespace Composer\Installers\Test;
+
+use Composer\Composer;
+use Composer\Installers\PiwikInstaller;
+use Composer\Package\Package;
+use Composer\Package\PackageInterface;
+
+/**
+ * Class PiwikInstallerTest
+ *
+ * @package Composer\Installers\Test
+ */
+class PiwikInstallerTest extends TestCase
+{
+    /**
+     * @varComposer
+     */
+    private $composer;
+
+    /**
+     * @var PackageInterface
+     */
+    private $io;
+
+    /**
+     * @var Package
+     */
+    private $package;
+
+    /**
+     * setUp
+     *
+     * @return void
+     */
+    public function setUp()
+    {
+        $this->package = new Package('VisitSummary', '1.0', '1.0');
+        $this->io = $this->getMock('Composer\IO\PackageInterface');
+        $this->composer = new Composer();
+    }
+
+    /**
+     * testInflectPackageVars
+     *
+     * @return void
+     */
+    public function testInflectPackageVars()
+    {
+        $installer = new PiwikInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'VisitSummary'));
+        $this->assertEquals($result, array('name' => 'VisitSummary'));
+
+        $installer = new PiwikInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'visit-summary'));
+        $this->assertEquals($result, array('name' => 'VisitSummary'));
+
+        $installer = new PiwikInstaller($this->package, $this->composer);
+        $result = $installer->inflectPackageVars(array('name' => 'visit_summary'));
+        $this->assertEquals($result, array('name' => 'VisitSummary'));
+    }
+
+}
diff --git a/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php b/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
new file mode 100644
index 0000000..6418a03
--- /dev/null
+++ b/vendor/composer/installers/tests/Composer/Installers/Test/TestCase.php
@@ -0,0 +1,64 @@
+<?php
+
+/*
+ * This file is part of Composer.
+ *
+ * (c) Nils Adermann <naderman@naderman.de>
+ *     Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Composer\Installers\Test;
+
+use Composer\Package\Version\VersionParser;
+use Composer\Package\Package;
+use Composer\Package\AliasPackage;
+use Composer\Package\LinkConstraint\VersionConstraint;
+use Composer\Util\Filesystem;
+
+abstract class TestCase extends \PHPUnit_Framework_TestCase
+{
+    private static $parser;
+
+    protected static function getVersionParser()
+    {
+        if (!self::$parser) {
+            self::$parser = new VersionParser();
+        }
+
+        return self::$parser;
+    }
+
+    protected function getVersionConstraint($operator, $version)
+    {
+        return new VersionConstraint(
+            $operator,
+            self::getVersionParser()->normalize($version)
+        );
+    }
+
+    protected function getPackage($name, $version)
+    {
+        $normVersion = self::getVersionParser()->normalize($version);
+
+        return new Package($name, $normVersion, $version);
+    }
+
+    protected function getAliasPackage($package, $version)
+    {
+        $normVersion = self::getVersionParser()->normalize($version);
+
+        return new AliasPackage($package, $normVersion, $version);
+    }
+
+    protected function ensureDirectoryExistsAndClear($directory)
+    {
+        $fs = new Filesystem();
+        if (is_dir($directory)) {
+            $fs->removeDirectory($directory);
+        }
+        mkdir($directory, 0777, true);
+    }
+}
diff --git a/vendor/composer/installers/tests/bootstrap.php b/vendor/composer/installers/tests/bootstrap.php
new file mode 100644
index 0000000..30c8fdc
--- /dev/null
+++ b/vendor/composer/installers/tests/bootstrap.php
@@ -0,0 +1,4 @@
+<?php
+
+$loader = require __DIR__ . '/../src/bootstrap.php';
+$loader->add('Composer\Installers\Test', __DIR__);
diff --git a/core/vendor/doctrine/lexer/LICENSE b/vendor/doctrine/annotations/LICENSE
similarity index 100%
rename from core/vendor/doctrine/lexer/LICENSE
rename to vendor/doctrine/annotations/LICENSE
diff --git a/core/vendor/doctrine/annotations/README.md b/vendor/doctrine/annotations/README.md
similarity index 100%
rename from core/vendor/doctrine/annotations/README.md
rename to vendor/doctrine/annotations/README.md
diff --git a/core/vendor/doctrine/annotations/composer.json b/vendor/doctrine/annotations/composer.json
similarity index 100%
rename from core/vendor/doctrine/annotations/composer.json
rename to vendor/doctrine/annotations/composer.json
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attribute.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Attributes.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Enum.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/IgnoreAnnotation.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Required.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Annotation/Target.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationException.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationReader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/AnnotationRegistry.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/CachedReader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocLexer.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/DocParser.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/FileCacheReader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/IndexedReader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/PhpParser.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/Reader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/SimpleAnnotationReader.php
diff --git a/core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php b/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php
similarity index 100%
rename from core/vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php
rename to vendor/doctrine/annotations/lib/Doctrine/Common/Annotations/TokenParser.php
diff --git a/core/vendor/doctrine/cache/.coveralls.yml b/vendor/doctrine/cache/.coveralls.yml
similarity index 100%
rename from core/vendor/doctrine/cache/.coveralls.yml
rename to vendor/doctrine/cache/.coveralls.yml
diff --git a/core/vendor/doctrine/cache/.gitignore b/vendor/doctrine/cache/.gitignore
similarity index 100%
rename from core/vendor/doctrine/cache/.gitignore
rename to vendor/doctrine/cache/.gitignore
diff --git a/core/vendor/doctrine/cache/.travis.yml b/vendor/doctrine/cache/.travis.yml
similarity index 100%
rename from core/vendor/doctrine/cache/.travis.yml
rename to vendor/doctrine/cache/.travis.yml
diff --git a/core/vendor/doctrine/common/LICENSE b/vendor/doctrine/cache/LICENSE
similarity index 100%
rename from core/vendor/doctrine/common/LICENSE
rename to vendor/doctrine/cache/LICENSE
diff --git a/core/vendor/doctrine/cache/README.md b/vendor/doctrine/cache/README.md
similarity index 100%
rename from core/vendor/doctrine/cache/README.md
rename to vendor/doctrine/cache/README.md
diff --git a/core/vendor/doctrine/cache/UPGRADE.md b/vendor/doctrine/cache/UPGRADE.md
similarity index 100%
rename from core/vendor/doctrine/cache/UPGRADE.md
rename to vendor/doctrine/cache/UPGRADE.md
diff --git a/core/vendor/doctrine/cache/build.properties b/vendor/doctrine/cache/build.properties
similarity index 100%
rename from core/vendor/doctrine/cache/build.properties
rename to vendor/doctrine/cache/build.properties
diff --git a/core/vendor/doctrine/cache/build.xml b/vendor/doctrine/cache/build.xml
similarity index 100%
rename from core/vendor/doctrine/cache/build.xml
rename to vendor/doctrine/cache/build.xml
diff --git a/core/vendor/doctrine/cache/composer.json b/vendor/doctrine/cache/composer.json
similarity index 100%
rename from core/vendor/doctrine/cache/composer.json
rename to vendor/doctrine/cache/composer.json
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/ApcCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/ArrayCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/Cache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/CacheProvider.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/ChainCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/ClearableCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/CouchbaseCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/FileCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/FilesystemCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/FlushableCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcacheCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/MemcachedCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/MongoDBCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/MultiGetCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/PhpFileCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/PredisCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/RedisCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/RiakCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/SQLite3Cache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/Version.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/VoidCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/WinCacheCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/XcacheCache.php
diff --git a/core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php b/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php
similarity index 100%
rename from core/vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php
rename to vendor/doctrine/cache/lib/Doctrine/Common/Cache/ZendDataCache.php
diff --git a/core/vendor/doctrine/cache/phpunit.xml.dist b/vendor/doctrine/cache/phpunit.xml.dist
similarity index 100%
rename from core/vendor/doctrine/cache/phpunit.xml.dist
rename to vendor/doctrine/cache/phpunit.xml.dist
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ApcCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ArrayCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ArrayCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ArrayCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ArrayCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/BaseFileCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/BaseFileCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/BaseFileCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/BaseFileCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ChainCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CouchbaseCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CouchbaseCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CouchbaseCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/CouchbaseCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FileCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FilesystemCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FilesystemCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FilesystemCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/FilesystemCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcacheCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcacheCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcacheCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcacheCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MemcachedCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/MongoDBCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PhpFileCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/PredisCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RedisCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RiakCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RiakCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RiakCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/RiakCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/SQLite3CacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/VoidCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/WinCacheCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/WinCacheCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/WinCacheCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/WinCacheCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/XcacheCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/XcacheCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/XcacheCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/XcacheCacheTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ZendDataCacheTest.php b/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ZendDataCacheTest.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ZendDataCacheTest.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/Common/Cache/ZendDataCacheTest.php
diff --git a/core/vendor/doctrine/inflector/tests/Doctrine/Tests/DoctrineTestCase.php b/vendor/doctrine/cache/tests/Doctrine/Tests/DoctrineTestCase.php
similarity index 100%
rename from core/vendor/doctrine/inflector/tests/Doctrine/Tests/DoctrineTestCase.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/DoctrineTestCase.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/TestInit.php b/vendor/doctrine/cache/tests/Doctrine/Tests/TestInit.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/TestInit.php
rename to vendor/doctrine/cache/tests/Doctrine/Tests/TestInit.php
diff --git a/core/vendor/doctrine/cache/tests/travis/php.ini b/vendor/doctrine/cache/tests/travis/php.ini
similarity index 100%
rename from core/vendor/doctrine/cache/tests/travis/php.ini
rename to vendor/doctrine/cache/tests/travis/php.ini
diff --git a/core/vendor/doctrine/cache/tests/travis/phpunit.travis.xml b/vendor/doctrine/cache/tests/travis/phpunit.travis.xml
similarity index 100%
rename from core/vendor/doctrine/cache/tests/travis/phpunit.travis.xml
rename to vendor/doctrine/cache/tests/travis/phpunit.travis.xml
diff --git a/core/vendor/doctrine/collections/.gitignore b/vendor/doctrine/collections/.gitignore
similarity index 100%
rename from core/vendor/doctrine/collections/.gitignore
rename to vendor/doctrine/collections/.gitignore
diff --git a/core/vendor/doctrine/collections/.travis.yml b/vendor/doctrine/collections/.travis.yml
similarity index 100%
rename from core/vendor/doctrine/collections/.travis.yml
rename to vendor/doctrine/collections/.travis.yml
diff --git a/core/vendor/doctrine/inflector/LICENSE b/vendor/doctrine/collections/LICENSE
similarity index 100%
rename from core/vendor/doctrine/inflector/LICENSE
rename to vendor/doctrine/collections/LICENSE
diff --git a/core/vendor/doctrine/collections/README.md b/vendor/doctrine/collections/README.md
similarity index 100%
rename from core/vendor/doctrine/collections/README.md
rename to vendor/doctrine/collections/README.md
diff --git a/core/vendor/doctrine/collections/composer.json b/vendor/doctrine/collections/composer.json
similarity index 100%
rename from core/vendor/doctrine/collections/composer.json
rename to vendor/doctrine/collections/composer.json
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/AbstractLazyCollection.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/ArrayCollection.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Collection.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Criteria.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ClosureExpressionVisitor.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Comparison.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/CompositeExpression.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Expression.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/ExpressionVisitor.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Expr/Value.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/ExpressionBuilder.php
diff --git a/core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php b/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php
similarity index 100%
rename from core/vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php
rename to vendor/doctrine/collections/lib/Doctrine/Common/Collections/Selectable.php
diff --git a/core/vendor/doctrine/collections/phpunit.xml.dist b/vendor/doctrine/collections/phpunit.xml.dist
similarity index 100%
rename from core/vendor/doctrine/collections/phpunit.xml.dist
rename to vendor/doctrine/collections/phpunit.xml.dist
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/AbstractLazyCollectionTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/AbstractLazyCollectionTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/AbstractLazyCollectionTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/AbstractLazyCollectionTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ArrayCollectionTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ClosureExpressionVisitorTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php b/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/Common/Collections/ExpressionBuilderTest.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/LazyArrayCollection.php b/vendor/doctrine/collections/tests/Doctrine/Tests/LazyArrayCollection.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/LazyArrayCollection.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/LazyArrayCollection.php
diff --git a/core/vendor/doctrine/collections/tests/Doctrine/Tests/TestInit.php b/vendor/doctrine/collections/tests/Doctrine/Tests/TestInit.php
similarity index 100%
rename from core/vendor/doctrine/collections/tests/Doctrine/Tests/TestInit.php
rename to vendor/doctrine/collections/tests/Doctrine/Tests/TestInit.php
diff --git a/core/vendor/doctrine/common/.gitignore b/vendor/doctrine/common/.gitignore
similarity index 100%
rename from core/vendor/doctrine/common/.gitignore
rename to vendor/doctrine/common/.gitignore
diff --git a/core/vendor/doctrine/common/.gitmodules b/vendor/doctrine/common/.gitmodules
similarity index 100%
rename from core/vendor/doctrine/common/.gitmodules
rename to vendor/doctrine/common/.gitmodules
diff --git a/core/vendor/doctrine/common/.travis.yml b/vendor/doctrine/common/.travis.yml
similarity index 100%
rename from core/vendor/doctrine/common/.travis.yml
rename to vendor/doctrine/common/.travis.yml
diff --git a/core/vendor/doctrine/cache/LICENSE b/vendor/doctrine/common/LICENSE
similarity index 100%
rename from core/vendor/doctrine/cache/LICENSE
rename to vendor/doctrine/common/LICENSE
diff --git a/core/vendor/doctrine/common/README.md b/vendor/doctrine/common/README.md
similarity index 100%
rename from core/vendor/doctrine/common/README.md
rename to vendor/doctrine/common/README.md
diff --git a/core/vendor/doctrine/common/UPGRADE_TO_2_1 b/vendor/doctrine/common/UPGRADE_TO_2_1
similarity index 100%
rename from core/vendor/doctrine/common/UPGRADE_TO_2_1
rename to vendor/doctrine/common/UPGRADE_TO_2_1
diff --git a/core/vendor/doctrine/common/UPGRADE_TO_2_2 b/vendor/doctrine/common/UPGRADE_TO_2_2
similarity index 100%
rename from core/vendor/doctrine/common/UPGRADE_TO_2_2
rename to vendor/doctrine/common/UPGRADE_TO_2_2
diff --git a/core/vendor/doctrine/common/build.properties b/vendor/doctrine/common/build.properties
similarity index 100%
rename from core/vendor/doctrine/common/build.properties
rename to vendor/doctrine/common/build.properties
diff --git a/core/vendor/doctrine/common/build.xml b/vendor/doctrine/common/build.xml
similarity index 100%
rename from core/vendor/doctrine/common/build.xml
rename to vendor/doctrine/common/build.xml
diff --git a/core/vendor/doctrine/common/composer.json b/vendor/doctrine/common/composer.json
similarity index 100%
rename from core/vendor/doctrine/common/composer.json
rename to vendor/doctrine/common/composer.json
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php b/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php
rename to vendor/doctrine/common/lib/Doctrine/Common/ClassLoader.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/CommonException.php b/vendor/doctrine/common/lib/Doctrine/Common/CommonException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/CommonException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/CommonException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Comparable.php b/vendor/doctrine/common/lib/Doctrine/Common/Comparable.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Comparable.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Comparable.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/EventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/EventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/EventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/EventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/EventManager.php b/vendor/doctrine/common/lib/Doctrine/Common/EventManager.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/EventManager.php
rename to vendor/doctrine/common/lib/Doctrine/Common/EventManager.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/EventSubscriber.php b/vendor/doctrine/common/lib/Doctrine/Common/EventSubscriber.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/EventSubscriber.php
rename to vendor/doctrine/common/lib/Doctrine/Common/EventSubscriber.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Lexer.php b/vendor/doctrine/common/lib/Doctrine/Common/Lexer.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Lexer.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Lexer.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/NotifyPropertyChanged.php b/vendor/doctrine/common/lib/Doctrine/Common/NotifyPropertyChanged.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/NotifyPropertyChanged.php
rename to vendor/doctrine/common/lib/Doctrine/Common/NotifyPropertyChanged.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/AbstractManagerRegistry.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ConnectionRegistry.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ConnectionRegistry.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ConnectionRegistry.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ConnectionRegistry.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LifecycleEventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/LoadClassMetadataEventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/ManagerEventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/OnClearEventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/OnClearEventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/OnClearEventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/OnClearEventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Event/PreUpdateEventArgs.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ManagerRegistry.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ManagerRegistry.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ManagerRegistry.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ManagerRegistry.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/AbstractClassMetadataFactory.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadata.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadataFactory.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadataFactory.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadataFactory.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ClassMetadataFactory.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/AnnotationDriver.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/DefaultFileLocator.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileDriver.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/FileLocator.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriver.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/MappingDriverChain.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/PHPDriver.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/StaticPHPDriver.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/StaticPHPDriver.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/StaticPHPDriver.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/StaticPHPDriver.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/Driver/SymfonyFileLocator.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/MappingException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ReflectionService.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ReflectionService.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ReflectionService.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/ReflectionService.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/RuntimeReflectionService.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Mapping/StaticReflectionService.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManager.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerAware.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerAware.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerAware.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerAware.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerDecorator.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerDecorator.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerDecorator.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectManagerDecorator.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectRepository.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectRepository.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectRepository.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/ObjectRepository.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/PersistentObject.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Proxy.php b/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Proxy.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Persistence/Proxy.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Persistence/Proxy.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/PropertyChangedListener.php b/vendor/doctrine/common/lib/Doctrine/Common/PropertyChangedListener.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/PropertyChangedListener.php
rename to vendor/doctrine/common/lib/Doctrine/Common/PropertyChangedListener.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/AbstractProxyFactory.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Autoloader.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Autoloader.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Autoloader.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Autoloader.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/InvalidArgumentException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/OutOfBoundsException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/ProxyException.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/ProxyException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/ProxyException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/ProxyException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Exception/UnexpectedValueException.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/Proxy.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyDefinition.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyDefinition.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyDefinition.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyDefinition.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php b/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Proxy/ProxyGenerator.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/ClassFinderInterface.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/Psr0FindFile.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/Psr0FindFile.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/Psr0FindFile.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/Psr0FindFile.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ReflectionProviderInterface.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ReflectionProviderInterface.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/ReflectionProviderInterface.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/ReflectionProviderInterface.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/RuntimePublicReflectionProperty.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionClass.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionClass.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionClass.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionClass.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionMethod.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionParser.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php b/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Reflection/StaticReflectionProperty.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/ClassUtils.php b/vendor/doctrine/common/lib/Doctrine/Common/Util/ClassUtils.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Util/ClassUtils.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Util/ClassUtils.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php b/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Util/Debug.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Util/Inflector.php b/vendor/doctrine/common/lib/Doctrine/Common/Util/Inflector.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Util/Inflector.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Util/Inflector.php
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php b/vendor/doctrine/common/lib/Doctrine/Common/Version.php
similarity index 100%
rename from core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
rename to vendor/doctrine/common/lib/Doctrine/Common/Version.php
diff --git a/core/vendor/doctrine/common/phpunit.xml.dist b/vendor/doctrine/common/phpunit.xml.dist
similarity index 100%
rename from core/vendor/doctrine/common/phpunit.xml.dist
rename to vendor/doctrine/common/phpunit.xml.dist
diff --git a/core/vendor/doctrine/common/tests/.gitignore b/vendor/doctrine/common/tests/.gitignore
similarity index 100%
rename from core/vendor/doctrine/common/tests/.gitignore
rename to vendor/doctrine/common/tests/.gitignore
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassA.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassA.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassA.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassA.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassB.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassB.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassB.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassB.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassC.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassC.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassC.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassC.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassD.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassD.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassD.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassD.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassE.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassE.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassE.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ClassE.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/EmptyFile.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/ExternalLoader.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/InterfaceA.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/ClassLoaderTest/TraitA.class.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/DoctrineExceptionTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/DoctrineExceptionTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/DoctrineExceptionTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/DoctrineExceptionTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/EventManagerTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/EventManagerTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/EventManagerTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/EventManagerTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ManagerRegistryTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/AnnotationDriverTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ChainDriverTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ChainDriverTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ChainDriverTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ChainDriverTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/ClassMetadataFactoryTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/DefaultFileLocatorTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/DefaultFileLocatorTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/DefaultFileLocatorTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/DefaultFileLocatorTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/FileDriverTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/FileDriverTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/FileDriverTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/FileDriverTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/PHPDriverTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/PHPDriverTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/PHPDriverTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/PHPDriverTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/RuntimeReflectionServiceTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticPHPDriverTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticPHPDriverTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticPHPDriverTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticPHPDriverTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/StaticReflectionServiceTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/SymfonyFileLocatorTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/sub/subsub/subSubClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dir/stdClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/stdClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_custom_ns/dot/sub.subsub.subSubClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/TestEntity.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/TestEntity.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/TestEntity.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/TestEntity.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/annotation/TestClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/global.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/global.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/global.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/global.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/stdClass.yml b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/stdClass.yml
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/stdClass.yml
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/Mapping/_files/stdClass.yml
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ObjectManagerDecoratorTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ObjectManagerDecoratorTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ObjectManagerDecoratorTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/ObjectManagerDecoratorTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/PersistentObjectTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/PersistentObjectTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/PersistentObjectTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Persistence/PersistentObjectTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AbstractProxyFactoryTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AbstractProxyFactoryTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AbstractProxyFactoryTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AbstractProxyFactoryTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AutoloaderTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AutoloaderTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AutoloaderTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/AutoloaderTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/CallableTypeHintClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/CallableTypeHintClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/CallableTypeHintClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/CallableTypeHintClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/InvalidTypeHintClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/InvalidTypeHintClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/InvalidTypeHintClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/InvalidTypeHintClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObject.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObject.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObject.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObject.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObjectClassMetadata.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObjectClassMetadata.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObjectClassMetadata.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/LazyLoadableObjectClassMetadata.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicCloneClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicCloneClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicCloneClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicCloneClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetByRefClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetByRefClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetByRefClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetByRefClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicGetClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicIssetClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicIssetClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicIssetClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicIssetClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSetClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSetClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSetClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSetClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSleepClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSleepClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSleepClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicSleepClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicWakeupClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicWakeupClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicWakeupClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/MagicWakeupClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyClassGeneratorTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyLogicTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyMagicMethodsTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyMagicMethodsTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyMagicMethodsTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/ProxyMagicMethodsTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SerializedClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SerializedClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SerializedClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SerializedClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SleepClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SleepClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SleepClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/SleepClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/StaticPropertyClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/StaticPropertyClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/StaticPropertyClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/StaticPropertyClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Proxy/VariadicTypeHintClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/DeeperNamespaceParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/DeeperNamespaceParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/DeeperNamespaceParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/DeeperNamespaceParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies/NoParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies/NoParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies/NoParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/Dummies/NoParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/ExampleAnnotationClass.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/ExampleAnnotationClass.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/ExampleAnnotationClass.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/ExampleAnnotationClass.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/FullyClassifiedParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/FullyClassifiedParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/FullyClassifiedParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/FullyClassifiedParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/NoParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/NoParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/NoParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/NoParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/RuntimePublicReflectionPropertyTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/RuntimePublicReflectionPropertyTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/RuntimePublicReflectionPropertyTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/RuntimePublicReflectionPropertyTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/SameNamespaceParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/SameNamespaceParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/SameNamespaceParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/SameNamespaceParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/StaticReflectionParserTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/StaticReflectionParserTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/StaticReflectionParserTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/StaticReflectionParserTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/UseParent.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/UseParent.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/UseParent.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Reflection/UseParent.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/ClassUtilsTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/ClassUtilsTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/ClassUtilsTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/ClassUtilsTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php b/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/Common/Util/DebugTest.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/DoctrineTestCase.php b/vendor/doctrine/common/tests/Doctrine/Tests/DoctrineTestCase.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/DoctrineTestCase.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/DoctrineTestCase.php
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/TestInit.php b/vendor/doctrine/common/tests/Doctrine/Tests/TestInit.php
similarity index 100%
rename from core/vendor/doctrine/common/tests/Doctrine/Tests/TestInit.php
rename to vendor/doctrine/common/tests/Doctrine/Tests/TestInit.php
diff --git a/core/vendor/doctrine/common/tests/README.markdown b/vendor/doctrine/common/tests/README.markdown
similarity index 100%
rename from core/vendor/doctrine/common/tests/README.markdown
rename to vendor/doctrine/common/tests/README.markdown
diff --git a/core/vendor/doctrine/inflector/.gitignore b/vendor/doctrine/inflector/.gitignore
similarity index 100%
rename from core/vendor/doctrine/inflector/.gitignore
rename to vendor/doctrine/inflector/.gitignore
diff --git a/core/vendor/doctrine/inflector/.travis.yml b/vendor/doctrine/inflector/.travis.yml
similarity index 100%
rename from core/vendor/doctrine/inflector/.travis.yml
rename to vendor/doctrine/inflector/.travis.yml
diff --git a/core/vendor/doctrine/collections/LICENSE b/vendor/doctrine/inflector/LICENSE
similarity index 100%
rename from core/vendor/doctrine/collections/LICENSE
rename to vendor/doctrine/inflector/LICENSE
diff --git a/core/vendor/doctrine/inflector/README.md b/vendor/doctrine/inflector/README.md
similarity index 100%
rename from core/vendor/doctrine/inflector/README.md
rename to vendor/doctrine/inflector/README.md
diff --git a/core/vendor/doctrine/inflector/composer.json b/vendor/doctrine/inflector/composer.json
similarity index 100%
rename from core/vendor/doctrine/inflector/composer.json
rename to vendor/doctrine/inflector/composer.json
diff --git a/core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php b/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php
similarity index 100%
rename from core/vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php
rename to vendor/doctrine/inflector/lib/Doctrine/Common/Inflector/Inflector.php
diff --git a/core/vendor/doctrine/inflector/phpunit.xml.dist b/vendor/doctrine/inflector/phpunit.xml.dist
similarity index 100%
rename from core/vendor/doctrine/inflector/phpunit.xml.dist
rename to vendor/doctrine/inflector/phpunit.xml.dist
diff --git a/core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php b/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php
similarity index 100%
rename from core/vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php
rename to vendor/doctrine/inflector/tests/Doctrine/Tests/Common/Inflector/InflectorTest.php
diff --git a/core/vendor/doctrine/cache/tests/Doctrine/Tests/DoctrineTestCase.php b/vendor/doctrine/inflector/tests/Doctrine/Tests/DoctrineTestCase.php
similarity index 100%
rename from core/vendor/doctrine/cache/tests/Doctrine/Tests/DoctrineTestCase.php
rename to vendor/doctrine/inflector/tests/Doctrine/Tests/DoctrineTestCase.php
diff --git a/core/vendor/doctrine/inflector/tests/Doctrine/Tests/TestInit.php b/vendor/doctrine/inflector/tests/Doctrine/Tests/TestInit.php
similarity index 100%
rename from core/vendor/doctrine/inflector/tests/Doctrine/Tests/TestInit.php
rename to vendor/doctrine/inflector/tests/Doctrine/Tests/TestInit.php
diff --git a/core/vendor/doctrine/instantiator/.gitignore b/vendor/doctrine/instantiator/.gitignore
similarity index 100%
rename from core/vendor/doctrine/instantiator/.gitignore
rename to vendor/doctrine/instantiator/.gitignore
diff --git a/core/vendor/doctrine/instantiator/.scrutinizer.yml b/vendor/doctrine/instantiator/.scrutinizer.yml
similarity index 100%
rename from core/vendor/doctrine/instantiator/.scrutinizer.yml
rename to vendor/doctrine/instantiator/.scrutinizer.yml
diff --git a/core/vendor/doctrine/instantiator/.travis.install.sh b/vendor/doctrine/instantiator/.travis.install.sh
similarity index 100%
rename from core/vendor/doctrine/instantiator/.travis.install.sh
rename to vendor/doctrine/instantiator/.travis.install.sh
diff --git a/core/vendor/doctrine/instantiator/.travis.yml b/vendor/doctrine/instantiator/.travis.yml
similarity index 100%
rename from core/vendor/doctrine/instantiator/.travis.yml
rename to vendor/doctrine/instantiator/.travis.yml
diff --git a/core/vendor/doctrine/instantiator/CONTRIBUTING.md b/vendor/doctrine/instantiator/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/doctrine/instantiator/CONTRIBUTING.md
rename to vendor/doctrine/instantiator/CONTRIBUTING.md
diff --git a/core/vendor/doctrine/instantiator/LICENSE b/vendor/doctrine/instantiator/LICENSE
similarity index 100%
rename from core/vendor/doctrine/instantiator/LICENSE
rename to vendor/doctrine/instantiator/LICENSE
diff --git a/core/vendor/doctrine/instantiator/README.md b/vendor/doctrine/instantiator/README.md
similarity index 100%
rename from core/vendor/doctrine/instantiator/README.md
rename to vendor/doctrine/instantiator/README.md
diff --git a/core/vendor/doctrine/instantiator/composer.json b/vendor/doctrine/instantiator/composer.json
similarity index 100%
rename from core/vendor/doctrine/instantiator/composer.json
rename to vendor/doctrine/instantiator/composer.json
diff --git a/core/vendor/doctrine/instantiator/phpmd.xml.dist b/vendor/doctrine/instantiator/phpmd.xml.dist
similarity index 100%
rename from core/vendor/doctrine/instantiator/phpmd.xml.dist
rename to vendor/doctrine/instantiator/phpmd.xml.dist
diff --git a/core/vendor/doctrine/instantiator/phpunit.xml.dist b/vendor/doctrine/instantiator/phpunit.xml.dist
similarity index 100%
rename from core/vendor/doctrine/instantiator/phpunit.xml.dist
rename to vendor/doctrine/instantiator/phpunit.xml.dist
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
rename to vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
rename to vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
rename to vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
rename to vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php
diff --git a/core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php b/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
rename to vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorPerformance/InstantiatorPerformanceEvent.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/InvalidArgumentExceptionTest.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/Exception/UnexpectedValueExceptionTest.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTest/InstantiatorTest.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/AbstractClassAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ArrayObjectAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/ExceptionAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/FinalExceptionAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/PharExceptionAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SerializableArrayObjectAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleSerializableAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/SimpleTraitAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnCloneableAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/UnserializeExceptionArrayObjectAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/WakeUpNoticesAsset.php
diff --git a/core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php b/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php
similarity index 100%
rename from core/vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php
rename to vendor/doctrine/instantiator/tests/DoctrineTest/InstantiatorTestAsset/XMLReaderAsset.php
diff --git a/core/vendor/doctrine/annotations/LICENSE b/vendor/doctrine/lexer/LICENSE
similarity index 100%
rename from core/vendor/doctrine/annotations/LICENSE
rename to vendor/doctrine/lexer/LICENSE
diff --git a/core/vendor/doctrine/lexer/README.md b/vendor/doctrine/lexer/README.md
similarity index 100%
rename from core/vendor/doctrine/lexer/README.md
rename to vendor/doctrine/lexer/README.md
diff --git a/core/vendor/doctrine/lexer/composer.json b/vendor/doctrine/lexer/composer.json
similarity index 100%
rename from core/vendor/doctrine/lexer/composer.json
rename to vendor/doctrine/lexer/composer.json
diff --git a/core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php b/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
similarity index 100%
rename from core/vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
rename to vendor/doctrine/lexer/lib/Doctrine/Common/Lexer/AbstractLexer.php
diff --git a/core/vendor/easyrdf/easyrdf/CHANGELOG.md b/vendor/easyrdf/easyrdf/CHANGELOG.md
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/CHANGELOG.md
rename to vendor/easyrdf/easyrdf/CHANGELOG.md
diff --git a/core/vendor/easyrdf/easyrdf/DEVELOPER.md b/vendor/easyrdf/easyrdf/DEVELOPER.md
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/DEVELOPER.md
rename to vendor/easyrdf/easyrdf/DEVELOPER.md
diff --git a/core/vendor/easyrdf/easyrdf/LICENSE.md b/vendor/easyrdf/easyrdf/LICENSE.md
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/LICENSE.md
rename to vendor/easyrdf/easyrdf/LICENSE.md
diff --git a/core/vendor/easyrdf/easyrdf/README.md b/vendor/easyrdf/easyrdf/README.md
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/README.md
rename to vendor/easyrdf/easyrdf/README.md
diff --git a/core/vendor/easyrdf/easyrdf/composer.json b/vendor/easyrdf/easyrdf/composer.json
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/composer.json
rename to vendor/easyrdf/easyrdf/composer.json
diff --git a/core/vendor/easyrdf/easyrdf/doap.php b/vendor/easyrdf/easyrdf/doap.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/doap.php
rename to vendor/easyrdf/easyrdf/doap.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf.php b/vendor/easyrdf/easyrdf/lib/EasyRdf.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Collection.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Collection.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Collection.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Collection.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Container.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Container.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Container.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Container.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Exception.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Exception.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Exception.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Exception.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Format.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Format.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Format.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Format.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Graph.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Graph.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Graph.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Graph.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/GraphStore.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/GraphStore.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/GraphStore.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/GraphStore.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Http.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Http.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Client.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Client.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Client.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Client.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Exception.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Exception.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Exception.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Exception.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Response.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Response.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Response.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Response.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Isomorphic.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Isomorphic.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Isomorphic.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Isomorphic.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Boolean.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Boolean.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Boolean.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Boolean.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Date.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Date.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Date.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Date.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/DateTime.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Decimal.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Decimal.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Decimal.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Decimal.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HTML.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HTML.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HTML.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HTML.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HexBinary.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HexBinary.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HexBinary.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/HexBinary.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Integer.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Integer.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Integer.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/Integer.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/XML.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/XML.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/XML.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Literal/XML.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Namespace.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Namespace.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Namespace.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Namespace.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/ParsedUri.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/ParsedUri.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/ParsedUri.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/ParsedUri.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Arc.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Arc.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Arc.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Arc.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Exception.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Exception.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Exception.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Exception.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Json.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Json.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Json.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Json.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLd.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLd.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLd.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLd.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLdImplementation.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLdImplementation.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLdImplementation.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/JsonLdImplementation.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Ntriples.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Ntriples.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Ntriples.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Ntriples.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rapper.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rapper.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rapper.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rapper.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfPhp.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfPhp.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfPhp.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfPhp.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfXml.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfXml.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfXml.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/RdfXml.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rdfa.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rdfa.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rdfa.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Rdfa.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Redland.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Redland.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Redland.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Redland.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Turtle.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Turtle.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Turtle.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Parser/Turtle.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Resource.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Resource.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Resource.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Resource.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Arc.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Arc.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Arc.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Arc.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/GraphViz.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/GraphViz.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/GraphViz.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/GraphViz.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Json.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Json.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Json.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Json.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd_real.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd_real.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd_real.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/JsonLd_real.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Ntriples.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Ntriples.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Ntriples.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Ntriples.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Rapper.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Rapper.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Rapper.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Rapper.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfPhp.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfPhp.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfPhp.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfPhp.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfXml.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfXml.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfXml.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/RdfXml.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Turtle.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Turtle.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Turtle.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Serialiser/Turtle.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Client.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Result.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Result.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Result.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Sparql/Result.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/TypeMapper.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/TypeMapper.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/TypeMapper.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/TypeMapper.php
diff --git a/core/vendor/easyrdf/easyrdf/lib/EasyRdf/Utils.php b/vendor/easyrdf/easyrdf/lib/EasyRdf/Utils.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/lib/EasyRdf/Utils.php
rename to vendor/easyrdf/easyrdf/lib/EasyRdf/Utils.php
diff --git a/core/vendor/easyrdf/easyrdf/scripts/copyright_updater.php b/vendor/easyrdf/easyrdf/scripts/copyright_updater.php
similarity index 100%
rename from core/vendor/easyrdf/easyrdf/scripts/copyright_updater.php
rename to vendor/easyrdf/easyrdf/scripts/copyright_updater.php
diff --git a/core/vendor/egulias/email-validator/.coveralls.yml b/vendor/egulias/email-validator/.coveralls.yml
similarity index 100%
rename from core/vendor/egulias/email-validator/.coveralls.yml
rename to vendor/egulias/email-validator/.coveralls.yml
diff --git a/core/vendor/egulias/email-validator/.gitignore b/vendor/egulias/email-validator/.gitignore
similarity index 100%
rename from core/vendor/egulias/email-validator/.gitignore
rename to vendor/egulias/email-validator/.gitignore
diff --git a/core/vendor/egulias/email-validator/.travis.yml b/vendor/egulias/email-validator/.travis.yml
similarity index 100%
rename from core/vendor/egulias/email-validator/.travis.yml
rename to vendor/egulias/email-validator/.travis.yml
diff --git a/core/vendor/egulias/email-validator/LICENSE b/vendor/egulias/email-validator/LICENSE
similarity index 100%
rename from core/vendor/egulias/email-validator/LICENSE
rename to vendor/egulias/email-validator/LICENSE
diff --git a/core/vendor/egulias/email-validator/README.md b/vendor/egulias/email-validator/README.md
similarity index 100%
rename from core/vendor/egulias/email-validator/README.md
rename to vendor/egulias/email-validator/README.md
diff --git a/core/vendor/egulias/email-validator/composer.json b/vendor/egulias/email-validator/composer.json
similarity index 100%
rename from core/vendor/egulias/email-validator/composer.json
rename to vendor/egulias/email-validator/composer.json
diff --git a/core/vendor/egulias/email-validator/composer.lock b/vendor/egulias/email-validator/composer.lock
similarity index 100%
rename from core/vendor/egulias/email-validator/composer.lock
rename to vendor/egulias/email-validator/composer.lock
diff --git a/core/vendor/egulias/email-validator/documentation/Other.md b/vendor/egulias/email-validator/documentation/Other.md
similarity index 100%
rename from core/vendor/egulias/email-validator/documentation/Other.md
rename to vendor/egulias/email-validator/documentation/Other.md
diff --git a/core/vendor/egulias/email-validator/documentation/RFC5321BNF.html b/vendor/egulias/email-validator/documentation/RFC5321BNF.html
similarity index 100%
rename from core/vendor/egulias/email-validator/documentation/RFC5321BNF.html
rename to vendor/egulias/email-validator/documentation/RFC5321BNF.html
diff --git a/core/vendor/egulias/email-validator/documentation/RFC5322BNF.html b/vendor/egulias/email-validator/documentation/RFC5322BNF.html
similarity index 100%
rename from core/vendor/egulias/email-validator/documentation/RFC5322BNF.html
rename to vendor/egulias/email-validator/documentation/RFC5322BNF.html
diff --git a/core/vendor/egulias/email-validator/phpunit.xml.dist b/vendor/egulias/email-validator/phpunit.xml.dist
similarity index 100%
rename from core/vendor/egulias/email-validator/phpunit.xml.dist
rename to vendor/egulias/email-validator/phpunit.xml.dist
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailLexer.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailLexer.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailLexer.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailLexer.php
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailParser.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailParser.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailParser.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailParser.php
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailValidator.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailValidator.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailValidator.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/EmailValidator.php
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/DomainPart.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/DomainPart.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/DomainPart.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/DomainPart.php
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/LocalPart.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/LocalPart.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/LocalPart.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/LocalPart.php
diff --git a/core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/Parser.php b/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/Parser.php
similarity index 100%
rename from core/vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/Parser.php
rename to vendor/egulias/email-validator/src/Egulias/EmailValidator/Parser/Parser.php
diff --git a/core/vendor/egulias/email-validator/tests/bootstrap.php b/vendor/egulias/email-validator/tests/bootstrap.php
similarity index 100%
rename from core/vendor/egulias/email-validator/tests/bootstrap.php
rename to vendor/egulias/email-validator/tests/bootstrap.php
diff --git a/core/vendor/egulias/email-validator/tests/egulias/Performance/AgainstFilterVar.php b/vendor/egulias/email-validator/tests/egulias/Performance/AgainstFilterVar.php
similarity index 100%
rename from core/vendor/egulias/email-validator/tests/egulias/Performance/AgainstFilterVar.php
rename to vendor/egulias/email-validator/tests/egulias/Performance/AgainstFilterVar.php
diff --git a/core/vendor/egulias/email-validator/tests/egulias/Performance/AgainstOldIsemail.php b/vendor/egulias/email-validator/tests/egulias/Performance/AgainstOldIsemail.php
similarity index 100%
rename from core/vendor/egulias/email-validator/tests/egulias/Performance/AgainstOldIsemail.php
rename to vendor/egulias/email-validator/tests/egulias/Performance/AgainstOldIsemail.php
diff --git a/core/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailLexerTest.php b/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailLexerTest.php
similarity index 100%
rename from core/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailLexerTest.php
rename to vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailLexerTest.php
diff --git a/core/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php b/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php
similarity index 100%
rename from core/vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php
rename to vendor/egulias/email-validator/tests/egulias/Tests/EmailValidator/EmailValidatorTest.php
diff --git a/core/vendor/fabpot/goutte/.gitignore b/vendor/fabpot/goutte/.gitignore
similarity index 100%
rename from core/vendor/fabpot/goutte/.gitignore
rename to vendor/fabpot/goutte/.gitignore
diff --git a/core/vendor/fabpot/goutte/.travis.yml b/vendor/fabpot/goutte/.travis.yml
similarity index 100%
rename from core/vendor/fabpot/goutte/.travis.yml
rename to vendor/fabpot/goutte/.travis.yml
diff --git a/core/vendor/fabpot/goutte/Goutte/Client.php b/vendor/fabpot/goutte/Goutte/Client.php
similarity index 100%
rename from core/vendor/fabpot/goutte/Goutte/Client.php
rename to vendor/fabpot/goutte/Goutte/Client.php
diff --git a/core/vendor/fabpot/goutte/Goutte/Resources/phar-stub.php b/vendor/fabpot/goutte/Goutte/Resources/phar-stub.php
similarity index 100%
rename from core/vendor/fabpot/goutte/Goutte/Resources/phar-stub.php
rename to vendor/fabpot/goutte/Goutte/Resources/phar-stub.php
diff --git a/core/vendor/fabpot/goutte/Goutte/Tests/ClientTest.php b/vendor/fabpot/goutte/Goutte/Tests/ClientTest.php
similarity index 100%
rename from core/vendor/fabpot/goutte/Goutte/Tests/ClientTest.php
rename to vendor/fabpot/goutte/Goutte/Tests/ClientTest.php
diff --git a/core/vendor/fabpot/goutte/Goutte/Tests/fixtures.txt b/vendor/fabpot/goutte/Goutte/Tests/fixtures.txt
similarity index 100%
rename from core/vendor/fabpot/goutte/Goutte/Tests/fixtures.txt
rename to vendor/fabpot/goutte/Goutte/Tests/fixtures.txt
diff --git a/core/vendor/fabpot/goutte/LICENSE b/vendor/fabpot/goutte/LICENSE
similarity index 100%
rename from core/vendor/fabpot/goutte/LICENSE
rename to vendor/fabpot/goutte/LICENSE
diff --git a/core/vendor/fabpot/goutte/README.rst b/vendor/fabpot/goutte/README.rst
similarity index 100%
rename from core/vendor/fabpot/goutte/README.rst
rename to vendor/fabpot/goutte/README.rst
diff --git a/core/vendor/fabpot/goutte/box.json b/vendor/fabpot/goutte/box.json
similarity index 100%
rename from core/vendor/fabpot/goutte/box.json
rename to vendor/fabpot/goutte/box.json
diff --git a/core/vendor/fabpot/goutte/composer.json b/vendor/fabpot/goutte/composer.json
similarity index 100%
rename from core/vendor/fabpot/goutte/composer.json
rename to vendor/fabpot/goutte/composer.json
diff --git a/core/vendor/fabpot/goutte/phpunit.xml.dist b/vendor/fabpot/goutte/phpunit.xml.dist
similarity index 100%
rename from core/vendor/fabpot/goutte/phpunit.xml.dist
rename to vendor/fabpot/goutte/phpunit.xml.dist
diff --git a/core/vendor/guzzlehttp/guzzle/.travis.yml b/vendor/guzzlehttp/guzzle/.travis.yml
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/.travis.yml
rename to vendor/guzzlehttp/guzzle/.travis.yml
diff --git a/core/vendor/guzzlehttp/guzzle/CHANGELOG.md b/vendor/guzzlehttp/guzzle/CHANGELOG.md
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/CHANGELOG.md
rename to vendor/guzzlehttp/guzzle/CHANGELOG.md
diff --git a/core/vendor/guzzlehttp/guzzle/LICENSE b/vendor/guzzlehttp/guzzle/LICENSE
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/LICENSE
rename to vendor/guzzlehttp/guzzle/LICENSE
diff --git a/core/vendor/guzzlehttp/guzzle/README.md b/vendor/guzzlehttp/guzzle/README.md
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/README.md
rename to vendor/guzzlehttp/guzzle/README.md
diff --git a/core/vendor/guzzlehttp/guzzle/UPGRADING.md b/vendor/guzzlehttp/guzzle/UPGRADING.md
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/UPGRADING.md
rename to vendor/guzzlehttp/guzzle/UPGRADING.md
diff --git a/core/vendor/guzzlehttp/guzzle/composer.json b/vendor/guzzlehttp/guzzle/composer.json
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/composer.json
rename to vendor/guzzlehttp/guzzle/composer.json
diff --git a/core/vendor/guzzlehttp/guzzle/src/Client.php b/vendor/guzzlehttp/guzzle/src/Client.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Client.php
rename to vendor/guzzlehttp/guzzle/src/Client.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/ClientInterface.php b/vendor/guzzlehttp/guzzle/src/ClientInterface.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/ClientInterface.php
rename to vendor/guzzlehttp/guzzle/src/ClientInterface.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
rename to vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php b/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
rename to vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
rename to vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php b/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
rename to vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php b/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
rename to vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php b/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php b/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/ClientException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php b/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php b/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php b/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/RequestException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php b/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/SeekException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/SeekException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php b/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/ServerException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php b/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php b/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php
rename to vendor/guzzlehttp/guzzle/src/Exception/TransferException.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
rename to vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
rename to vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
rename to vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
rename to vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php b/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php
rename to vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
rename to vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php b/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
rename to vendor/guzzlehttp/guzzle/src/Handler/Proxy.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php b/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
rename to vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/HandlerStack.php b/vendor/guzzlehttp/guzzle/src/HandlerStack.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/HandlerStack.php
rename to vendor/guzzlehttp/guzzle/src/HandlerStack.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/MessageFormatter.php b/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/MessageFormatter.php
rename to vendor/guzzlehttp/guzzle/src/MessageFormatter.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Middleware.php b/vendor/guzzlehttp/guzzle/src/Middleware.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Middleware.php
rename to vendor/guzzlehttp/guzzle/src/Middleware.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/Pool.php b/vendor/guzzlehttp/guzzle/src/Pool.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/Pool.php
rename to vendor/guzzlehttp/guzzle/src/Pool.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php b/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
rename to vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php b/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
rename to vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/RequestOptions.php b/vendor/guzzlehttp/guzzle/src/RequestOptions.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/RequestOptions.php
rename to vendor/guzzlehttp/guzzle/src/RequestOptions.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php b/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
rename to vendor/guzzlehttp/guzzle/src/RetryMiddleware.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/TransferStats.php b/vendor/guzzlehttp/guzzle/src/TransferStats.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/TransferStats.php
rename to vendor/guzzlehttp/guzzle/src/TransferStats.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/UriTemplate.php b/vendor/guzzlehttp/guzzle/src/UriTemplate.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/UriTemplate.php
rename to vendor/guzzlehttp/guzzle/src/UriTemplate.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/functions.php b/vendor/guzzlehttp/guzzle/src/functions.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/functions.php
rename to vendor/guzzlehttp/guzzle/src/functions.php
diff --git a/core/vendor/guzzlehttp/guzzle/src/functions_include.php b/vendor/guzzlehttp/guzzle/src/functions_include.php
similarity index 100%
rename from core/vendor/guzzlehttp/guzzle/src/functions_include.php
rename to vendor/guzzlehttp/guzzle/src/functions_include.php
diff --git a/core/vendor/guzzlehttp/psr7/.gitignore b/vendor/guzzlehttp/promises/.gitignore
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/.gitignore
rename to vendor/guzzlehttp/promises/.gitignore
diff --git a/core/vendor/guzzlehttp/promises/.travis.yml b/vendor/guzzlehttp/promises/.travis.yml
similarity index 100%
rename from core/vendor/guzzlehttp/promises/.travis.yml
rename to vendor/guzzlehttp/promises/.travis.yml
diff --git a/core/vendor/guzzlehttp/promises/CHANGELOG.md b/vendor/guzzlehttp/promises/CHANGELOG.md
similarity index 100%
rename from core/vendor/guzzlehttp/promises/CHANGELOG.md
rename to vendor/guzzlehttp/promises/CHANGELOG.md
diff --git a/core/vendor/guzzlehttp/psr7/LICENSE b/vendor/guzzlehttp/promises/LICENSE
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/LICENSE
rename to vendor/guzzlehttp/promises/LICENSE
diff --git a/core/vendor/guzzlehttp/promises/Makefile b/vendor/guzzlehttp/promises/Makefile
similarity index 100%
rename from core/vendor/guzzlehttp/promises/Makefile
rename to vendor/guzzlehttp/promises/Makefile
diff --git a/core/vendor/guzzlehttp/promises/README.md b/vendor/guzzlehttp/promises/README.md
similarity index 100%
rename from core/vendor/guzzlehttp/promises/README.md
rename to vendor/guzzlehttp/promises/README.md
diff --git a/core/vendor/guzzlehttp/promises/composer.json b/vendor/guzzlehttp/promises/composer.json
similarity index 100%
rename from core/vendor/guzzlehttp/promises/composer.json
rename to vendor/guzzlehttp/promises/composer.json
diff --git a/core/vendor/guzzlehttp/psr7/phpunit.xml.dist b/vendor/guzzlehttp/promises/phpunit.xml.dist
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/phpunit.xml.dist
rename to vendor/guzzlehttp/promises/phpunit.xml.dist
diff --git a/core/vendor/guzzlehttp/promises/src/AggregateException.php b/vendor/guzzlehttp/promises/src/AggregateException.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/AggregateException.php
rename to vendor/guzzlehttp/promises/src/AggregateException.php
diff --git a/core/vendor/guzzlehttp/promises/src/CancellationException.php b/vendor/guzzlehttp/promises/src/CancellationException.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/CancellationException.php
rename to vendor/guzzlehttp/promises/src/CancellationException.php
diff --git a/core/vendor/guzzlehttp/promises/src/EachPromise.php b/vendor/guzzlehttp/promises/src/EachPromise.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/EachPromise.php
rename to vendor/guzzlehttp/promises/src/EachPromise.php
diff --git a/core/vendor/guzzlehttp/promises/src/FulfilledPromise.php b/vendor/guzzlehttp/promises/src/FulfilledPromise.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/FulfilledPromise.php
rename to vendor/guzzlehttp/promises/src/FulfilledPromise.php
diff --git a/core/vendor/guzzlehttp/promises/src/Promise.php b/vendor/guzzlehttp/promises/src/Promise.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/Promise.php
rename to vendor/guzzlehttp/promises/src/Promise.php
diff --git a/core/vendor/guzzlehttp/promises/src/PromiseInterface.php b/vendor/guzzlehttp/promises/src/PromiseInterface.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/PromiseInterface.php
rename to vendor/guzzlehttp/promises/src/PromiseInterface.php
diff --git a/core/vendor/guzzlehttp/promises/src/PromisorInterface.php b/vendor/guzzlehttp/promises/src/PromisorInterface.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/PromisorInterface.php
rename to vendor/guzzlehttp/promises/src/PromisorInterface.php
diff --git a/core/vendor/guzzlehttp/promises/src/RejectedPromise.php b/vendor/guzzlehttp/promises/src/RejectedPromise.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/RejectedPromise.php
rename to vendor/guzzlehttp/promises/src/RejectedPromise.php
diff --git a/core/vendor/guzzlehttp/promises/src/RejectionException.php b/vendor/guzzlehttp/promises/src/RejectionException.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/RejectionException.php
rename to vendor/guzzlehttp/promises/src/RejectionException.php
diff --git a/core/vendor/guzzlehttp/promises/src/TaskQueue.php b/vendor/guzzlehttp/promises/src/TaskQueue.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/TaskQueue.php
rename to vendor/guzzlehttp/promises/src/TaskQueue.php
diff --git a/core/vendor/guzzlehttp/promises/src/functions.php b/vendor/guzzlehttp/promises/src/functions.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/functions.php
rename to vendor/guzzlehttp/promises/src/functions.php
diff --git a/core/vendor/guzzlehttp/promises/src/functions_include.php b/vendor/guzzlehttp/promises/src/functions_include.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/src/functions_include.php
rename to vendor/guzzlehttp/promises/src/functions_include.php
diff --git a/core/vendor/guzzlehttp/promises/tests/AggregateExceptionTest.php b/vendor/guzzlehttp/promises/tests/AggregateExceptionTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/AggregateExceptionTest.php
rename to vendor/guzzlehttp/promises/tests/AggregateExceptionTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/EachPromiseTest.php b/vendor/guzzlehttp/promises/tests/EachPromiseTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/EachPromiseTest.php
rename to vendor/guzzlehttp/promises/tests/EachPromiseTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/FulfilledPromiseTest.php b/vendor/guzzlehttp/promises/tests/FulfilledPromiseTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/FulfilledPromiseTest.php
rename to vendor/guzzlehttp/promises/tests/FulfilledPromiseTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/NotPromiseInstance.php b/vendor/guzzlehttp/promises/tests/NotPromiseInstance.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/NotPromiseInstance.php
rename to vendor/guzzlehttp/promises/tests/NotPromiseInstance.php
diff --git a/core/vendor/guzzlehttp/promises/tests/PromiseTest.php b/vendor/guzzlehttp/promises/tests/PromiseTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/PromiseTest.php
rename to vendor/guzzlehttp/promises/tests/PromiseTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/RejectedPromiseTest.php b/vendor/guzzlehttp/promises/tests/RejectedPromiseTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/RejectedPromiseTest.php
rename to vendor/guzzlehttp/promises/tests/RejectedPromiseTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php b/vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php
rename to vendor/guzzlehttp/promises/tests/RejectionExceptionTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/TaskQueueTest.php b/vendor/guzzlehttp/promises/tests/TaskQueueTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/TaskQueueTest.php
rename to vendor/guzzlehttp/promises/tests/TaskQueueTest.php
diff --git a/core/vendor/guzzlehttp/promises/tests/Thennable.php b/vendor/guzzlehttp/promises/tests/Thennable.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/Thennable.php
rename to vendor/guzzlehttp/promises/tests/Thennable.php
diff --git a/core/vendor/guzzlehttp/promises/tests/bootstrap.php b/vendor/guzzlehttp/promises/tests/bootstrap.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/bootstrap.php
rename to vendor/guzzlehttp/promises/tests/bootstrap.php
diff --git a/core/vendor/guzzlehttp/promises/tests/functionsTest.php b/vendor/guzzlehttp/promises/tests/functionsTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/promises/tests/functionsTest.php
rename to vendor/guzzlehttp/promises/tests/functionsTest.php
diff --git a/core/vendor/guzzlehttp/promises/.gitignore b/vendor/guzzlehttp/psr7/.gitignore
similarity index 100%
rename from core/vendor/guzzlehttp/promises/.gitignore
rename to vendor/guzzlehttp/psr7/.gitignore
diff --git a/core/vendor/guzzlehttp/psr7/.travis.yml b/vendor/guzzlehttp/psr7/.travis.yml
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/.travis.yml
rename to vendor/guzzlehttp/psr7/.travis.yml
diff --git a/core/vendor/guzzlehttp/psr7/CHANGELOG.md b/vendor/guzzlehttp/psr7/CHANGELOG.md
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/CHANGELOG.md
rename to vendor/guzzlehttp/psr7/CHANGELOG.md
diff --git a/core/vendor/guzzlehttp/promises/LICENSE b/vendor/guzzlehttp/psr7/LICENSE
similarity index 100%
rename from core/vendor/guzzlehttp/promises/LICENSE
rename to vendor/guzzlehttp/psr7/LICENSE
diff --git a/core/vendor/guzzlehttp/psr7/Makefile b/vendor/guzzlehttp/psr7/Makefile
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/Makefile
rename to vendor/guzzlehttp/psr7/Makefile
diff --git a/core/vendor/guzzlehttp/psr7/README.md b/vendor/guzzlehttp/psr7/README.md
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/README.md
rename to vendor/guzzlehttp/psr7/README.md
diff --git a/core/vendor/guzzlehttp/psr7/composer.json b/vendor/guzzlehttp/psr7/composer.json
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/composer.json
rename to vendor/guzzlehttp/psr7/composer.json
diff --git a/core/vendor/guzzlehttp/promises/phpunit.xml.dist b/vendor/guzzlehttp/psr7/phpunit.xml.dist
similarity index 100%
rename from core/vendor/guzzlehttp/promises/phpunit.xml.dist
rename to vendor/guzzlehttp/psr7/phpunit.xml.dist
diff --git a/core/vendor/guzzlehttp/psr7/src/AppendStream.php b/vendor/guzzlehttp/psr7/src/AppendStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/AppendStream.php
rename to vendor/guzzlehttp/psr7/src/AppendStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/BufferStream.php b/vendor/guzzlehttp/psr7/src/BufferStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/BufferStream.php
rename to vendor/guzzlehttp/psr7/src/BufferStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/CachingStream.php b/vendor/guzzlehttp/psr7/src/CachingStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/CachingStream.php
rename to vendor/guzzlehttp/psr7/src/CachingStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/DroppingStream.php b/vendor/guzzlehttp/psr7/src/DroppingStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/DroppingStream.php
rename to vendor/guzzlehttp/psr7/src/DroppingStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/FnStream.php b/vendor/guzzlehttp/psr7/src/FnStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/FnStream.php
rename to vendor/guzzlehttp/psr7/src/FnStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/InflateStream.php b/vendor/guzzlehttp/psr7/src/InflateStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/InflateStream.php
rename to vendor/guzzlehttp/psr7/src/InflateStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/LazyOpenStream.php b/vendor/guzzlehttp/psr7/src/LazyOpenStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/LazyOpenStream.php
rename to vendor/guzzlehttp/psr7/src/LazyOpenStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/LimitStream.php b/vendor/guzzlehttp/psr7/src/LimitStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/LimitStream.php
rename to vendor/guzzlehttp/psr7/src/LimitStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/MessageTrait.php b/vendor/guzzlehttp/psr7/src/MessageTrait.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/MessageTrait.php
rename to vendor/guzzlehttp/psr7/src/MessageTrait.php
diff --git a/core/vendor/guzzlehttp/psr7/src/MultipartStream.php b/vendor/guzzlehttp/psr7/src/MultipartStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/MultipartStream.php
rename to vendor/guzzlehttp/psr7/src/MultipartStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/NoSeekStream.php b/vendor/guzzlehttp/psr7/src/NoSeekStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/NoSeekStream.php
rename to vendor/guzzlehttp/psr7/src/NoSeekStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/PumpStream.php b/vendor/guzzlehttp/psr7/src/PumpStream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/PumpStream.php
rename to vendor/guzzlehttp/psr7/src/PumpStream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/Request.php b/vendor/guzzlehttp/psr7/src/Request.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/Request.php
rename to vendor/guzzlehttp/psr7/src/Request.php
diff --git a/core/vendor/guzzlehttp/psr7/src/Response.php b/vendor/guzzlehttp/psr7/src/Response.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/Response.php
rename to vendor/guzzlehttp/psr7/src/Response.php
diff --git a/core/vendor/guzzlehttp/psr7/src/Stream.php b/vendor/guzzlehttp/psr7/src/Stream.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/Stream.php
rename to vendor/guzzlehttp/psr7/src/Stream.php
diff --git a/core/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php b/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php
rename to vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php
diff --git a/core/vendor/guzzlehttp/psr7/src/StreamWrapper.php b/vendor/guzzlehttp/psr7/src/StreamWrapper.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/StreamWrapper.php
rename to vendor/guzzlehttp/psr7/src/StreamWrapper.php
diff --git a/core/vendor/guzzlehttp/psr7/src/Uri.php b/vendor/guzzlehttp/psr7/src/Uri.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/Uri.php
rename to vendor/guzzlehttp/psr7/src/Uri.php
diff --git a/core/vendor/guzzlehttp/psr7/src/functions.php b/vendor/guzzlehttp/psr7/src/functions.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/functions.php
rename to vendor/guzzlehttp/psr7/src/functions.php
diff --git a/core/vendor/guzzlehttp/psr7/src/functions_include.php b/vendor/guzzlehttp/psr7/src/functions_include.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/src/functions_include.php
rename to vendor/guzzlehttp/psr7/src/functions_include.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/AppendStreamTest.php b/vendor/guzzlehttp/psr7/tests/AppendStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/AppendStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/AppendStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/BufferStreamTest.php b/vendor/guzzlehttp/psr7/tests/BufferStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/BufferStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/BufferStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/CachingStreamTest.php b/vendor/guzzlehttp/psr7/tests/CachingStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/CachingStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/CachingStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/DroppingStreamTest.php b/vendor/guzzlehttp/psr7/tests/DroppingStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/DroppingStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/DroppingStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/FnStreamTest.php b/vendor/guzzlehttp/psr7/tests/FnStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/FnStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/FnStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/FunctionsTest.php b/vendor/guzzlehttp/psr7/tests/FunctionsTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/FunctionsTest.php
rename to vendor/guzzlehttp/psr7/tests/FunctionsTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/InflateStreamTest.php b/vendor/guzzlehttp/psr7/tests/InflateStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/InflateStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/InflateStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/LazyOpenStreamTest.php b/vendor/guzzlehttp/psr7/tests/LazyOpenStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/LazyOpenStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/LazyOpenStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/LimitStreamTest.php b/vendor/guzzlehttp/psr7/tests/LimitStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/LimitStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/LimitStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/MultipartStreamTest.php b/vendor/guzzlehttp/psr7/tests/MultipartStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/MultipartStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/MultipartStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/NoSeekStreamTest.php b/vendor/guzzlehttp/psr7/tests/NoSeekStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/NoSeekStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/NoSeekStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/PumpStreamTest.php b/vendor/guzzlehttp/psr7/tests/PumpStreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/PumpStreamTest.php
rename to vendor/guzzlehttp/psr7/tests/PumpStreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/RequestTest.php b/vendor/guzzlehttp/psr7/tests/RequestTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/RequestTest.php
rename to vendor/guzzlehttp/psr7/tests/RequestTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/ResponseTest.php b/vendor/guzzlehttp/psr7/tests/ResponseTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/ResponseTest.php
rename to vendor/guzzlehttp/psr7/tests/ResponseTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/StreamDecoratorTraitTest.php b/vendor/guzzlehttp/psr7/tests/StreamDecoratorTraitTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/StreamDecoratorTraitTest.php
rename to vendor/guzzlehttp/psr7/tests/StreamDecoratorTraitTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/StreamTest.php b/vendor/guzzlehttp/psr7/tests/StreamTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/StreamTest.php
rename to vendor/guzzlehttp/psr7/tests/StreamTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php b/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php
rename to vendor/guzzlehttp/psr7/tests/StreamWrapperTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/UriTest.php b/vendor/guzzlehttp/psr7/tests/UriTest.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/UriTest.php
rename to vendor/guzzlehttp/psr7/tests/UriTest.php
diff --git a/core/vendor/guzzlehttp/psr7/tests/bootstrap.php b/vendor/guzzlehttp/psr7/tests/bootstrap.php
similarity index 100%
rename from core/vendor/guzzlehttp/psr7/tests/bootstrap.php
rename to vendor/guzzlehttp/psr7/tests/bootstrap.php
diff --git a/core/vendor/masterminds/html5/.gitignore b/vendor/masterminds/html5/.gitignore
similarity index 100%
rename from core/vendor/masterminds/html5/.gitignore
rename to vendor/masterminds/html5/.gitignore
diff --git a/core/vendor/masterminds/html5/.travis.yml b/vendor/masterminds/html5/.travis.yml
similarity index 100%
rename from core/vendor/masterminds/html5/.travis.yml
rename to vendor/masterminds/html5/.travis.yml
diff --git a/core/vendor/masterminds/html5/CREDITS b/vendor/masterminds/html5/CREDITS
similarity index 100%
rename from core/vendor/masterminds/html5/CREDITS
rename to vendor/masterminds/html5/CREDITS
diff --git a/core/vendor/masterminds/html5/LICENSE.txt b/vendor/masterminds/html5/LICENSE.txt
similarity index 100%
rename from core/vendor/masterminds/html5/LICENSE.txt
rename to vendor/masterminds/html5/LICENSE.txt
diff --git a/core/vendor/masterminds/html5/README.md b/vendor/masterminds/html5/README.md
similarity index 100%
rename from core/vendor/masterminds/html5/README.md
rename to vendor/masterminds/html5/README.md
diff --git a/core/vendor/masterminds/html5/RELEASE.md b/vendor/masterminds/html5/RELEASE.md
similarity index 100%
rename from core/vendor/masterminds/html5/RELEASE.md
rename to vendor/masterminds/html5/RELEASE.md
diff --git a/core/vendor/masterminds/html5/UPGRADING.md b/vendor/masterminds/html5/UPGRADING.md
similarity index 100%
rename from core/vendor/masterminds/html5/UPGRADING.md
rename to vendor/masterminds/html5/UPGRADING.md
diff --git a/core/vendor/masterminds/html5/bin/entities.php b/vendor/masterminds/html5/bin/entities.php
similarity index 100%
rename from core/vendor/masterminds/html5/bin/entities.php
rename to vendor/masterminds/html5/bin/entities.php
diff --git a/core/vendor/masterminds/html5/composer.json b/vendor/masterminds/html5/composer.json
similarity index 100%
rename from core/vendor/masterminds/html5/composer.json
rename to vendor/masterminds/html5/composer.json
diff --git a/core/vendor/masterminds/html5/example.php b/vendor/masterminds/html5/example.php
similarity index 100%
rename from core/vendor/masterminds/html5/example.php
rename to vendor/masterminds/html5/example.php
diff --git a/core/vendor/masterminds/html5/phpunit.xml.dist b/vendor/masterminds/html5/phpunit.xml.dist
similarity index 100%
rename from core/vendor/masterminds/html5/phpunit.xml.dist
rename to vendor/masterminds/html5/phpunit.xml.dist
diff --git a/core/vendor/masterminds/html5/sami.php b/vendor/masterminds/html5/sami.php
similarity index 100%
rename from core/vendor/masterminds/html5/sami.php
rename to vendor/masterminds/html5/sami.php
diff --git a/core/vendor/masterminds/html5/src/HTML5.php b/vendor/masterminds/html5/src/HTML5.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5.php
rename to vendor/masterminds/html5/src/HTML5.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Elements.php b/vendor/masterminds/html5/src/HTML5/Elements.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Elements.php
rename to vendor/masterminds/html5/src/HTML5/Elements.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Entities.php b/vendor/masterminds/html5/src/HTML5/Entities.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Entities.php
rename to vendor/masterminds/html5/src/HTML5/Entities.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Exception.php b/vendor/masterminds/html5/src/HTML5/Exception.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Exception.php
rename to vendor/masterminds/html5/src/HTML5/Exception.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/InstructionProcessor.php b/vendor/masterminds/html5/src/HTML5/InstructionProcessor.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/InstructionProcessor.php
rename to vendor/masterminds/html5/src/HTML5/InstructionProcessor.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php b/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php
rename to vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php b/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php
rename to vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php b/vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php
rename to vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php b/vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php
rename to vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/InputStream.php b/vendor/masterminds/html5/src/HTML5/Parser/InputStream.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/InputStream.php
rename to vendor/masterminds/html5/src/HTML5/Parser/InputStream.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/ParseError.php b/vendor/masterminds/html5/src/HTML5/Parser/ParseError.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/ParseError.php
rename to vendor/masterminds/html5/src/HTML5/Parser/ParseError.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/README.md b/vendor/masterminds/html5/src/HTML5/Parser/README.md
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/README.md
rename to vendor/masterminds/html5/src/HTML5/Parser/README.md
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php b/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php
rename to vendor/masterminds/html5/src/HTML5/Parser/Scanner.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php b/vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php
rename to vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php b/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
rename to vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php b/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php
rename to vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php b/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
rename to vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/HTML5Entities.php b/vendor/masterminds/html5/src/HTML5/Serializer/HTML5Entities.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Serializer/HTML5Entities.php
rename to vendor/masterminds/html5/src/HTML5/Serializer/HTML5Entities.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php b/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php
rename to vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/README.md b/vendor/masterminds/html5/src/HTML5/Serializer/README.md
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Serializer/README.md
rename to vendor/masterminds/html5/src/HTML5/Serializer/README.md
diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php b/vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php
rename to vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php
diff --git a/core/vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php b/vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php
similarity index 100%
rename from core/vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php
rename to vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/ElementsTest.php b/vendor/masterminds/html5/test/HTML5/ElementsTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/ElementsTest.php
rename to vendor/masterminds/html5/test/HTML5/ElementsTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Html5Test.html b/vendor/masterminds/html5/test/HTML5/Html5Test.html
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Html5Test.html
rename to vendor/masterminds/html5/test/HTML5/Html5Test.html
diff --git a/core/vendor/masterminds/html5/test/HTML5/Html5Test.php b/vendor/masterminds/html5/test/HTML5/Html5Test.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Html5Test.php
rename to vendor/masterminds/html5/test/HTML5/Html5Test.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/CharacterReferenceTest.php b/vendor/masterminds/html5/test/HTML5/Parser/CharacterReferenceTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/CharacterReferenceTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/CharacterReferenceTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/DOMTreeBuilderTest.php b/vendor/masterminds/html5/test/HTML5/Parser/DOMTreeBuilderTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/DOMTreeBuilderTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/DOMTreeBuilderTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/EventStack.php b/vendor/masterminds/html5/test/HTML5/Parser/EventStack.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/EventStack.php
rename to vendor/masterminds/html5/test/HTML5/Parser/EventStack.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/EventStackError.php b/vendor/masterminds/html5/test/HTML5/Parser/EventStackError.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/EventStackError.php
rename to vendor/masterminds/html5/test/HTML5/Parser/EventStackError.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.html b/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.html
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.html
rename to vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.html
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php b/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/FileInputStreamTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/InstructionProcessorMock.php b/vendor/masterminds/html5/test/HTML5/Parser/InstructionProcessorMock.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/InstructionProcessorMock.php
rename to vendor/masterminds/html5/test/HTML5/Parser/InstructionProcessorMock.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/ScannerTest.php b/vendor/masterminds/html5/test/HTML5/Parser/ScannerTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/ScannerTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/ScannerTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/StringInputStreamTest.php b/vendor/masterminds/html5/test/HTML5/Parser/StringInputStreamTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/StringInputStreamTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/StringInputStreamTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php b/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/TokenizerTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/TreeBuildingRulesTest.php b/vendor/masterminds/html5/test/HTML5/Parser/TreeBuildingRulesTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/TreeBuildingRulesTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/TreeBuildingRulesTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Parser/UTF8UtilsTest.php b/vendor/masterminds/html5/test/HTML5/Parser/UTF8UtilsTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Parser/UTF8UtilsTest.php
rename to vendor/masterminds/html5/test/HTML5/Parser/UTF8UtilsTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php b/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php
rename to vendor/masterminds/html5/test/HTML5/Serializer/OutputRulesTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/Serializer/TraverserTest.php b/vendor/masterminds/html5/test/HTML5/Serializer/TraverserTest.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/Serializer/TraverserTest.php
rename to vendor/masterminds/html5/test/HTML5/Serializer/TraverserTest.php
diff --git a/core/vendor/masterminds/html5/test/HTML5/TestCase.php b/vendor/masterminds/html5/test/HTML5/TestCase.php
similarity index 100%
rename from core/vendor/masterminds/html5/test/HTML5/TestCase.php
rename to vendor/masterminds/html5/test/HTML5/TestCase.php
diff --git a/core/vendor/mikey179/vfsStream/CHANGELOG.md b/vendor/mikey179/vfsStream/CHANGELOG.md
similarity index 100%
rename from core/vendor/mikey179/vfsStream/CHANGELOG.md
rename to vendor/mikey179/vfsStream/CHANGELOG.md
diff --git a/core/vendor/mikey179/vfsStream/LICENSE b/vendor/mikey179/vfsStream/LICENSE
similarity index 100%
rename from core/vendor/mikey179/vfsStream/LICENSE
rename to vendor/mikey179/vfsStream/LICENSE
diff --git a/core/vendor/mikey179/vfsStream/readme.md b/vendor/mikey179/vfsStream/README.md
similarity index 100%
rename from core/vendor/mikey179/vfsStream/readme.md
rename to vendor/mikey179/vfsStream/README.md
diff --git a/core/vendor/mikey179/vfsStream/composer.json b/vendor/mikey179/vfsStream/composer.json
similarity index 100%
rename from core/vendor/mikey179/vfsStream/composer.json
rename to vendor/mikey179/vfsStream/composer.json
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/DotDirectory.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/Quota.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/FileContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/LargeFileContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/SeekableFileContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/content/StringBasedFileContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStream.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamAbstractContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamBlock.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainer.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContainerIterator.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamContent.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamDirectory.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamException.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamFile.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/vfsStreamWrapper.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamAbstractVisitor.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamPrintVisitor.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamStructureVisitor.php
diff --git a/core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php b/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
similarity index 100%
rename from core/vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
rename to vendor/mikey179/vfsStream/src/main/php/org/bovigo/vfs/visitor/vfsStreamVisitor.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/.gitignore b/vendor/phpdocumentor/reflection-docblock/.gitignore
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/.gitignore
rename to vendor/phpdocumentor/reflection-docblock/.gitignore
diff --git a/core/vendor/phpdocumentor/reflection-docblock/.travis.yml b/vendor/phpdocumentor/reflection-docblock/.travis.yml
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/.travis.yml
rename to vendor/phpdocumentor/reflection-docblock/.travis.yml
diff --git a/core/vendor/phpdocumentor/reflection-docblock/LICENSE b/vendor/phpdocumentor/reflection-docblock/LICENSE
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/LICENSE
rename to vendor/phpdocumentor/reflection-docblock/LICENSE
diff --git a/core/vendor/phpdocumentor/reflection-docblock/README.md b/vendor/phpdocumentor/reflection-docblock/README.md
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/README.md
rename to vendor/phpdocumentor/reflection-docblock/README.md
diff --git a/core/vendor/phpdocumentor/reflection-docblock/composer.json b/vendor/phpdocumentor/reflection-docblock/composer.json
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/composer.json
rename to vendor/phpdocumentor/reflection-docblock/composer.json
diff --git a/core/vendor/phpdocumentor/reflection-docblock/composer.lock b/vendor/phpdocumentor/reflection-docblock/composer.lock
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/composer.lock
rename to vendor/phpdocumentor/reflection-docblock/composer.lock
diff --git a/core/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist b/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist
rename to vendor/phpdocumentor/reflection-docblock/phpunit.xml.dist
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Context.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Description.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Location.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Serializer.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/AuthorTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/CoversTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ExampleTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/LinkTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/MethodTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ParamTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyReadTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/PropertyWriteTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ReturnTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SeeTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SinceTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/SourceTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/UsesTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VarTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Tag/VersionTag.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php b/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php
rename to vendor/phpdocumentor/reflection-docblock/src/phpDocumentor/Reflection/DocBlock/Type/Collection.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/DescriptionTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/CoversTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/DeprecatedTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ExampleTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/LinkTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/MethodTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ParamTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ReturnTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SeeTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SinceTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/SourceTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/ThrowsTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/UsesTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VarTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Tag/VersionTagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/TagTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlock/Type/CollectionTest.php
diff --git a/core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php b/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php
similarity index 100%
rename from core/vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php
rename to vendor/phpdocumentor/reflection-docblock/tests/phpDocumentor/Reflection/DocBlockTest.php
diff --git a/core/vendor/phpspec/prophecy/.gitignore b/vendor/phpspec/prophecy/.gitignore
similarity index 100%
rename from core/vendor/phpspec/prophecy/.gitignore
rename to vendor/phpspec/prophecy/.gitignore
diff --git a/core/vendor/phpspec/prophecy/.travis.yml b/vendor/phpspec/prophecy/.travis.yml
similarity index 100%
rename from core/vendor/phpspec/prophecy/.travis.yml
rename to vendor/phpspec/prophecy/.travis.yml
diff --git a/core/vendor/phpspec/prophecy/CHANGES.md b/vendor/phpspec/prophecy/CHANGES.md
similarity index 100%
rename from core/vendor/phpspec/prophecy/CHANGES.md
rename to vendor/phpspec/prophecy/CHANGES.md
diff --git a/core/vendor/phpspec/prophecy/CONTRIBUTING.md b/vendor/phpspec/prophecy/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/phpspec/prophecy/CONTRIBUTING.md
rename to vendor/phpspec/prophecy/CONTRIBUTING.md
diff --git a/core/vendor/phpspec/prophecy/LICENSE b/vendor/phpspec/prophecy/LICENSE
similarity index 100%
rename from core/vendor/phpspec/prophecy/LICENSE
rename to vendor/phpspec/prophecy/LICENSE
diff --git a/core/vendor/phpspec/prophecy/README.md b/vendor/phpspec/prophecy/README.md
similarity index 100%
rename from core/vendor/phpspec/prophecy/README.md
rename to vendor/phpspec/prophecy/README.md
diff --git a/core/vendor/phpspec/prophecy/composer.json b/vendor/phpspec/prophecy/composer.json
similarity index 100%
rename from core/vendor/phpspec/prophecy/composer.json
rename to vendor/phpspec/prophecy/composer.json
diff --git a/core/vendor/phpspec/prophecy/composer.lock b/vendor/phpspec/prophecy/composer.lock
similarity index 100%
rename from core/vendor/phpspec/prophecy/composer.lock
rename to vendor/phpspec/prophecy/composer.lock
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/ArgumentsWildcardSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValueTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/AnyValuesTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayCountTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEntryTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ArrayEveryEntryTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/CallbackTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ExactValueTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/IdenticalValueTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalAndTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/LogicalNotTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/ObjectStateTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/StringContainsTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Argument/Token/TypeTokenSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/ArgumentSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Call/CallCenterSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Call/CallSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Comparator/FactorySpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/DisableConstructorPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/HhvmExceptionPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/MagicCallPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ProphecySubjectPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/SplFileInfoPatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/TraversablePatchSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/DoublerSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCodeGeneratorSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassMirrorSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ArgumentNodeSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/ClassNodeSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/Node/MethodNodeSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/LazyDoubleSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Doubler/NameGeneratorSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Call/UnexpectedCallExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassCreatorExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassMirrorExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/ClassNotFoundExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/DoubleExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/InterfaceNotFoundExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Doubler/MethodNotFoundExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/AggregateExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/NoCallsExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsCountExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prediction/UnexpectedCallsExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/MethodProphecyExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Exception/Prophecy/ObjectProphecyExceptionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallPredictionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallTimesPredictionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prediction/CallbackPredictionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prediction/NoCallsPredictionSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Promise/CallbackPromiseSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnArgumentPromiseSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Promise/ReturnPromiseSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Promise/ThrowPromiseSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prophecy/MethodProphecySpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prophecy/ObjectProphecySpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Prophecy/RevealerSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/ProphetSpec.php
diff --git a/core/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php b/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php
rename to vendor/phpspec/prophecy/spec/Prophecy/Util/StringUtilSpec.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument.php b/vendor/phpspec/prophecy/src/Prophecy/Argument.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php b/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php
rename to vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php b/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php
rename to vendor/phpspec/prophecy/src/Prophecy/Call/Call.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php b/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php
rename to vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php b/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php
rename to vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php b/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php
rename to vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php b/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php
rename to vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php b/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php
rename to vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php b/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php b/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php b/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php b/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php b/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php
rename to vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php b/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php
rename to vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php b/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php
rename to vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php b/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php
rename to vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php b/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Prophet.php b/vendor/phpspec/prophecy/src/Prophecy/Prophet.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Prophet.php
rename to vendor/phpspec/prophecy/src/Prophecy/Prophet.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php b/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php
rename to vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php
diff --git a/core/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php b/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php
similarity index 100%
rename from core/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php
rename to vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php
diff --git a/core/vendor/sebastian/version/.gitattributes b/vendor/phpunit/php-code-coverage/.gitattributes
similarity index 100%
rename from core/vendor/sebastian/version/.gitattributes
rename to vendor/phpunit/php-code-coverage/.gitattributes
diff --git a/core/vendor/phpunit/php-code-coverage/.gitignore b/vendor/phpunit/php-code-coverage/.gitignore
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/.gitignore
rename to vendor/phpunit/php-code-coverage/.gitignore
diff --git a/core/vendor/phpunit/php-code-coverage/.travis.yml b/vendor/phpunit/php-code-coverage/.travis.yml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/.travis.yml
rename to vendor/phpunit/php-code-coverage/.travis.yml
diff --git a/core/vendor/phpunit/php-code-coverage/CONTRIBUTING.md b/vendor/phpunit/php-code-coverage/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/CONTRIBUTING.md
rename to vendor/phpunit/php-code-coverage/CONTRIBUTING.md
diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md b/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md
new file mode 100644
index 0000000..115e46e
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/ChangeLog-2.2.md
@@ -0,0 +1,49 @@
+# Changes in PHP_CodeCoverage 2.2
+
+All notable changes of the PHP_CodeCoverage 2.2 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
+
+## [2.2.3] - 2015-09-14
+
+### Fixed
+
+* Fixed [#368](https://github.com/sebastianbergmann/php-code-coverage/pull/368): Blacklists and whitelists are not merged when merging data sets
+* Fixed [#370](https://github.com/sebastianbergmann/php-code-coverage/issues/370): Confusing statistics for source file that declares a class without methods
+* Fixed [#372](https://github.com/sebastianbergmann/php-code-coverage/pull/372): Nested classes and functions are not handled correctly
+* Fixed [#382](https://github.com/sebastianbergmann/php-code-coverage/issues/382): Crap4J report generates incorrect XML logfile
+
+## [2.2.2] - 2015-08-04
+
+### Added
+
+* Reintroduced the `PHP_CodeCoverage_Driver_HHVM` driver as an extension of `PHP_CodeCoverage_Driver_Xdebug` that does not use `xdebug_start_code_coverage()` with options not supported by HHVM
+
+### Changed
+
+* Bumped required version of `sebastian/environment` to 1.3.2 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365)
+
+## [2.2.1] - 2015-08-02
+
+### Changed
+
+* Bumped required version of `sebastian/environment` to 1.3.1 for [#365](https://github.com/sebastianbergmann/php-code-coverage/issues/365)
+
+## [2.2.0] - 2015-08-01
+
+### Added
+
+* Added a driver for PHPDBG (requires PHP 7)
+* Added `PHP_CodeCoverage::setDisableIgnoredLines()` to disable the ignoring of lines using annotations such as `@codeCoverageIgnore`
+
+### Changed
+
+* Annotating a method with `@deprecated` now has the same effect as annotating it with `@codeCoverageIgnore`
+
+### Removed
+
+* The dedicated driver for HHVM, `PHP_CodeCoverage_Driver_HHVM` has been removed
+
+[2.2.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.3...2.2.3
+[2.2.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.1...2.2.2
+[2.2.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.2.0...2.2.1
+[2.2.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/2.1...2.2.0
+
diff --git a/core/vendor/phpunit/php-code-coverage/LICENSE b/vendor/phpunit/php-code-coverage/LICENSE
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/LICENSE
rename to vendor/phpunit/php-code-coverage/LICENSE
diff --git a/vendor/phpunit/php-code-coverage/README.md b/vendor/phpunit/php-code-coverage/README.md
new file mode 100644
index 0000000..4411d7f
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/README.md
@@ -0,0 +1,50 @@
+[![Latest Stable Version](https://poser.pugx.org/phpunit/php-code-coverage/v/stable.png)](https://packagist.org/packages/phpunit/php-code-coverage)
+[![Build Status](https://travis-ci.org/sebastianbergmann/php-code-coverage.svg?branch=master)](https://travis-ci.org/sebastianbergmann/php-code-coverage)
+
+# PHP_CodeCoverage
+
+**PHP_CodeCoverage** is a library that provides collection, processing, and rendering functionality for PHP code coverage information.
+
+## Requirements
+
+PHP 5.3.3 is required but using the latest version of PHP is highly recommended
+
+### PHP 5
+
+[Xdebug](http://xdebug.org/) is the only source of raw code coverage data supported for PHP 5. Version 2.1.3 of Xdebug is required but using the latest version is highly recommended.
+
+### PHP 7
+
+[phpdbg](http://phpdbg.com/docs) is currently the only source of raw code coverage data supported for PHP 7. Once Xdebug has been updated for PHP 7 it, too, will be supported.
+
+### HHVM
+
+A version of HHVM that implements the Xdebug API for code coverage (`xdebug_*_code_coverage()`) is required.
+
+## Installation
+
+To add PHP_CodeCoverage as a local, per-project dependency to your project, simply add a dependency on `phpunit/php-code-coverage` to your project's `composer.json` file. Here is a minimal example of a `composer.json` file that just defines a dependency on PHP_CodeCoverage 2.0:
+
+    {
+        "require": {
+            "phpunit/php-code-coverage": "^2"
+        }
+    }
+
+## Using the PHP_CodeCoverage API
+
+```php
+<?php
+$coverage = new PHP_CodeCoverage;
+$coverage->start('<name of test>');
+
+// ...
+
+$coverage->stop();
+
+$writer = new PHP_CodeCoverage_Report_Clover;
+$writer->process($coverage, '/tmp/clover.xml');
+
+$writer = new PHP_CodeCoverage_Report_HTML;
+$writer->process($coverage, '/tmp/code-coverage-report');
+```
diff --git a/core/vendor/phpunit/php-code-coverage/build.xml b/vendor/phpunit/php-code-coverage/build.xml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/build.xml
rename to vendor/phpunit/php-code-coverage/build.xml
diff --git a/core/vendor/phpunit/php-code-coverage/build/travis-ci.xml b/vendor/phpunit/php-code-coverage/build/travis-ci.xml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/build/travis-ci.xml
rename to vendor/phpunit/php-code-coverage/build/travis-ci.xml
diff --git a/core/vendor/phpunit/php-code-coverage/composer.json b/vendor/phpunit/php-code-coverage/composer.json
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/composer.json
rename to vendor/phpunit/php-code-coverage/composer.json
diff --git a/core/vendor/phpunit/php-code-coverage/phpunit.xml.dist b/vendor/phpunit/php-code-coverage/phpunit.xml.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/phpunit.xml.dist
rename to vendor/phpunit/php-code-coverage/phpunit.xml.dist
diff --git a/core/vendor/phpunit/php-code-coverage/scripts/auto_append.php b/vendor/phpunit/php-code-coverage/scripts/auto_append.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/scripts/auto_append.php
rename to vendor/phpunit/php-code-coverage/scripts/auto_append.php
diff --git a/core/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php b/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/scripts/auto_prepend.php
rename to vendor/phpunit/php-code-coverage/scripts/auto_prepend.php
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
new file mode 100644
index 0000000..88326f0
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
@@ -0,0 +1,920 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use SebastianBergmann\Environment\Runtime;
+
+/**
+ * Provides collection functionality for PHP code coverage information.
+ *
+ * @since Class available since Release 1.0.0
+ */
+class PHP_CodeCoverage
+{
+    /**
+     * @var PHP_CodeCoverage_Driver
+     */
+    private $driver;
+
+    /**
+     * @var PHP_CodeCoverage_Filter
+     */
+    private $filter;
+
+    /**
+     * @var bool
+     */
+    private $cacheTokens = false;
+
+    /**
+     * @var bool
+     */
+    private $checkForUnintentionallyCoveredCode = false;
+
+    /**
+     * @var bool
+     */
+    private $forceCoversAnnotation = false;
+
+    /**
+     * @var bool
+     */
+    private $mapTestClassNameToCoveredClassName = false;
+
+    /**
+     * @var bool
+     */
+    private $addUncoveredFilesFromWhitelist = true;
+
+    /**
+     * @var bool
+     */
+    private $processUncoveredFilesFromWhitelist = false;
+
+    /**
+     * @var mixed
+     */
+    private $currentId;
+
+    /**
+     * Code coverage data.
+     *
+     * @var array
+     */
+    private $data = array();
+
+    /**
+     * @var array
+     */
+    private $ignoredLines = array();
+
+    /**
+     * @var bool
+     */
+    private $disableIgnoredLines = false;
+
+    /**
+     * Test data.
+     *
+     * @var array
+     */
+    private $tests = array();
+
+    /**
+     * Constructor.
+     *
+     * @param  PHP_CodeCoverage_Driver    $driver
+     * @param  PHP_CodeCoverage_Filter    $filter
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function __construct(PHP_CodeCoverage_Driver $driver = null, PHP_CodeCoverage_Filter $filter = null)
+    {
+        if ($driver === null) {
+            $driver = $this->selectDriver();
+        }
+
+        if ($filter === null) {
+            $filter = new PHP_CodeCoverage_Filter;
+        }
+
+        $this->driver = $driver;
+        $this->filter = $filter;
+    }
+
+    /**
+     * Returns the PHP_CodeCoverage_Report_Node_* object graph
+     * for this PHP_CodeCoverage object.
+     *
+     * @return PHP_CodeCoverage_Report_Node_Directory
+     * @since  Method available since Release 1.1.0
+     */
+    public function getReport()
+    {
+        $factory = new PHP_CodeCoverage_Report_Factory;
+
+        return $factory->create($this);
+    }
+
+    /**
+     * Clears collected code coverage data.
+     */
+    public function clear()
+    {
+        $this->currentId = null;
+        $this->data      = array();
+        $this->tests     = array();
+    }
+
+    /**
+     * Returns the PHP_CodeCoverage_Filter used.
+     *
+     * @return PHP_CodeCoverage_Filter
+     */
+    public function filter()
+    {
+        return $this->filter;
+    }
+
+    /**
+     * Returns the collected code coverage data.
+     * Set $raw = true to bypass all filters.
+     *
+     * @param  bool  $raw
+     * @return array
+     * @since  Method available since Release 1.1.0
+     */
+    public function getData($raw = false)
+    {
+        if (!$raw && $this->addUncoveredFilesFromWhitelist) {
+            $this->addUncoveredFilesFromWhitelist();
+        }
+
+        // We need to apply the blacklist filter a second time
+        // when no whitelist is used.
+        if (!$raw && !$this->filter->hasWhitelist()) {
+            $this->applyListsFilter($this->data);
+        }
+
+        return $this->data;
+    }
+
+    /**
+     * Sets the coverage data.
+     *
+     * @param array $data
+     * @since Method available since Release 2.0.0
+     */
+    public function setData(array $data)
+    {
+        $this->data = $data;
+    }
+
+    /**
+     * Returns the test data.
+     *
+     * @return array
+     * @since  Method available since Release 1.1.0
+     */
+    public function getTests()
+    {
+        return $this->tests;
+    }
+
+    /**
+     * Sets the test data.
+     *
+     * @param array $tests
+     * @since Method available since Release 2.0.0
+     */
+    public function setTests(array $tests)
+    {
+        $this->tests = $tests;
+    }
+
+    /**
+     * Start collection of code coverage information.
+     *
+     * @param  mixed                      $id
+     * @param  bool                       $clear
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function start($id, $clear = false)
+    {
+        if (!is_bool($clear)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        if ($clear) {
+            $this->clear();
+        }
+
+        $this->currentId = $id;
+
+        $this->driver->start();
+    }
+
+    /**
+     * Stop collection of code coverage information.
+     *
+     * @param  bool                       $append
+     * @param  mixed                      $linesToBeCovered
+     * @param  array                      $linesToBeUsed
+     * @return array
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function stop($append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
+    {
+        if (!is_bool($append)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        if (!is_array($linesToBeCovered) && $linesToBeCovered !== false) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or false'
+            );
+        }
+
+        $data = $this->driver->stop();
+        $this->append($data, null, $append, $linesToBeCovered, $linesToBeUsed);
+
+        $this->currentId = null;
+
+        return $data;
+    }
+
+    /**
+     * Appends code coverage data.
+     *
+     * @param  array                      $data
+     * @param  mixed                      $id
+     * @param  bool                       $append
+     * @param  mixed                      $linesToBeCovered
+     * @param  array                      $linesToBeUsed
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function append(array $data, $id = null, $append = true, $linesToBeCovered = array(), array $linesToBeUsed = array())
+    {
+        if ($id === null) {
+            $id = $this->currentId;
+        }
+
+        if ($id === null) {
+            throw new PHP_CodeCoverage_Exception;
+        }
+
+        $this->applyListsFilter($data);
+        $this->applyIgnoredLinesFilter($data);
+        $this->initializeFilesThatAreSeenTheFirstTime($data);
+
+        if (!$append) {
+            return;
+        }
+
+        if ($id != 'UNCOVERED_FILES_FROM_WHITELIST') {
+            $this->applyCoversAnnotationFilter(
+                $data,
+                $linesToBeCovered,
+                $linesToBeUsed
+            );
+        }
+
+        if (empty($data)) {
+            return;
+        }
+
+        $size   = 'unknown';
+        $status = null;
+
+        if ($id instanceof PHPUnit_Framework_TestCase) {
+            $_size = $id->getSize();
+
+            if ($_size == PHPUnit_Util_Test::SMALL) {
+                $size = 'small';
+            } elseif ($_size == PHPUnit_Util_Test::MEDIUM) {
+                $size = 'medium';
+            } elseif ($_size == PHPUnit_Util_Test::LARGE) {
+                $size = 'large';
+            }
+
+            $status = $id->getStatus();
+            $id     = get_class($id) . '::' . $id->getName();
+        } elseif ($id instanceof PHPUnit_Extensions_PhptTestCase) {
+            $size = 'large';
+            $id   = $id->getName();
+        }
+
+        $this->tests[$id] = array('size' => $size, 'status' => $status);
+
+        foreach ($data as $file => $lines) {
+            if (!$this->filter->isFile($file)) {
+                continue;
+            }
+
+            foreach ($lines as $k => $v) {
+                if ($v == PHP_CodeCoverage_Driver::LINE_EXECUTED) {
+                    if (empty($this->data[$file][$k]) || !in_array($id, $this->data[$file][$k])) {
+                        $this->data[$file][$k][] = $id;
+                    }
+                }
+            }
+        }
+    }
+
+    /**
+     * Merges the data from another instance of PHP_CodeCoverage.
+     *
+     * @param PHP_CodeCoverage $that
+     */
+    public function merge(PHP_CodeCoverage $that)
+    {
+        $this->filter->setBlacklistedFiles(
+            array_merge($this->filter->getBlacklistedFiles(), $that->filter()->getBlacklistedFiles())
+        );
+
+        $this->filter->setWhitelistedFiles(
+            array_merge($this->filter->getWhitelistedFiles(), $that->filter()->getWhitelistedFiles())
+        );
+
+        foreach ($that->data as $file => $lines) {
+            if (!isset($this->data[$file])) {
+                if (!$this->filter->isFiltered($file)) {
+                    $this->data[$file] = $lines;
+                }
+
+                continue;
+            }
+
+            foreach ($lines as $line => $data) {
+                if ($data !== null) {
+                    if (!isset($this->data[$file][$line])) {
+                        $this->data[$file][$line] = $data;
+                    } else {
+                        $this->data[$file][$line] = array_unique(
+                            array_merge($this->data[$file][$line], $data)
+                        );
+                    }
+                }
+            }
+        }
+
+        $this->tests = array_merge($this->tests, $that->getTests());
+
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     * @since  Method available since Release 1.1.0
+     */
+    public function setCacheTokens($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->cacheTokens = $flag;
+    }
+
+    /**
+     * @since Method available since Release 1.1.0
+     */
+    public function getCacheTokens()
+    {
+        return $this->cacheTokens;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     * @since  Method available since Release 2.0.0
+     */
+    public function setCheckForUnintentionallyCoveredCode($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->checkForUnintentionallyCoveredCode = $flag;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function setForceCoversAnnotation($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->forceCoversAnnotation = $flag;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function setMapTestClassNameToCoveredClassName($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->mapTestClassNameToCoveredClassName = $flag;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function setAddUncoveredFilesFromWhitelist($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->addUncoveredFilesFromWhitelist = $flag;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function setProcessUncoveredFilesFromWhitelist($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->processUncoveredFilesFromWhitelist = $flag;
+    }
+
+    /**
+     * @param  bool                       $flag
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function setDisableIgnoredLines($flag)
+    {
+        if (!is_bool($flag)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        $this->disableIgnoredLines = $flag;
+    }
+
+    /**
+     * Applies the @covers annotation filtering.
+     *
+     * @param  array                                                 $data
+     * @param  mixed                                                 $linesToBeCovered
+     * @param  array                                                 $linesToBeUsed
+     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
+     */
+    private function applyCoversAnnotationFilter(array &$data, $linesToBeCovered, array $linesToBeUsed)
+    {
+        if ($linesToBeCovered === false ||
+            ($this->forceCoversAnnotation && empty($linesToBeCovered))) {
+            $data = array();
+
+            return;
+        }
+
+        if (empty($linesToBeCovered)) {
+            return;
+        }
+
+        if ($this->checkForUnintentionallyCoveredCode) {
+            $this->performUnintentionallyCoveredCodeCheck(
+                $data,
+                $linesToBeCovered,
+                $linesToBeUsed
+            );
+        }
+
+        $data = array_intersect_key($data, $linesToBeCovered);
+
+        foreach (array_keys($data) as $filename) {
+            $_linesToBeCovered = array_flip($linesToBeCovered[$filename]);
+
+            $data[$filename] = array_intersect_key(
+                $data[$filename],
+                $_linesToBeCovered
+            );
+        }
+    }
+
+    /**
+     * Applies the blacklist/whitelist filtering.
+     *
+     * @param array $data
+     */
+    private function applyListsFilter(array &$data)
+    {
+        foreach (array_keys($data) as $filename) {
+            if ($this->filter->isFiltered($filename)) {
+                unset($data[$filename]);
+            }
+        }
+    }
+
+    /**
+     * Applies the "ignored lines" filtering.
+     *
+     * @param array $data
+     */
+    private function applyIgnoredLinesFilter(array &$data)
+    {
+        foreach (array_keys($data) as $filename) {
+            if (!$this->filter->isFile($filename)) {
+                continue;
+            }
+
+            foreach ($this->getLinesToBeIgnored($filename) as $line) {
+                unset($data[$filename][$line]);
+            }
+        }
+    }
+
+    /**
+     * @param array $data
+     * @since Method available since Release 1.1.0
+     */
+    private function initializeFilesThatAreSeenTheFirstTime(array $data)
+    {
+        foreach ($data as $file => $lines) {
+            if ($this->filter->isFile($file) && !isset($this->data[$file])) {
+                $this->data[$file] = array();
+
+                foreach ($lines as $k => $v) {
+                    $this->data[$file][$k] = $v == -2 ? null : array();
+                }
+            }
+        }
+    }
+
+    /**
+     * Processes whitelisted files that are not covered.
+     */
+    private function addUncoveredFilesFromWhitelist()
+    {
+        $data           = array();
+        $uncoveredFiles = array_diff(
+            $this->filter->getWhitelist(),
+            array_keys($this->data)
+        );
+
+        foreach ($uncoveredFiles as $uncoveredFile) {
+            if (!file_exists($uncoveredFile)) {
+                continue;
+            }
+
+            if ($this->processUncoveredFilesFromWhitelist) {
+                $this->processUncoveredFileFromWhitelist(
+                    $uncoveredFile,
+                    $data,
+                    $uncoveredFiles
+                );
+            } else {
+                $data[$uncoveredFile] = array();
+
+                $lines = count(file($uncoveredFile));
+
+                for ($i = 1; $i <= $lines; $i++) {
+                    $data[$uncoveredFile][$i] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED;
+                }
+            }
+        }
+
+        $this->append($data, 'UNCOVERED_FILES_FROM_WHITELIST');
+    }
+
+    /**
+     * @param string $uncoveredFile
+     * @param array  $data
+     * @param array  $uncoveredFiles
+     */
+    private function processUncoveredFileFromWhitelist($uncoveredFile, array &$data, array $uncoveredFiles)
+    {
+        $this->driver->start();
+        include_once $uncoveredFile;
+        $coverage = $this->driver->stop();
+
+        foreach ($coverage as $file => $fileCoverage) {
+            if (!isset($data[$file]) &&
+                in_array($file, $uncoveredFiles)) {
+                foreach (array_keys($fileCoverage) as $key) {
+                    if ($fileCoverage[$key] == PHP_CodeCoverage_Driver::LINE_EXECUTED) {
+                        $fileCoverage[$key] = PHP_CodeCoverage_Driver::LINE_NOT_EXECUTED;
+                    }
+                }
+
+                $data[$file] = $fileCoverage;
+            }
+        }
+    }
+
+    /**
+     * Returns the lines of a source file that should be ignored.
+     *
+     * @param  string                     $filename
+     * @return array
+     * @throws PHP_CodeCoverage_Exception
+     * @since  Method available since Release 2.0.0
+     */
+    private function getLinesToBeIgnored($filename)
+    {
+        if (!is_string($filename)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'string'
+            );
+        }
+
+        if (!isset($this->ignoredLines[$filename])) {
+            $this->ignoredLines[$filename] = array();
+
+            if ($this->disableIgnoredLines) {
+                return $this->ignoredLines[$filename];
+            }
+
+            $ignore   = false;
+            $stop     = false;
+            $lines    = file($filename);
+            $numLines = count($lines);
+
+            foreach ($lines as $index => $line) {
+                if (!trim($line)) {
+                    $this->ignoredLines[$filename][] = $index + 1;
+                }
+            }
+
+            if ($this->cacheTokens) {
+                $tokens = PHP_Token_Stream_CachingFactory::get($filename);
+            } else {
+                $tokens = new PHP_Token_Stream($filename);
+            }
+
+            $classes = array_merge($tokens->getClasses(), $tokens->getTraits());
+            $tokens  = $tokens->tokens();
+
+            foreach ($tokens as $token) {
+                switch (get_class($token)) {
+                    case 'PHP_Token_COMMENT':
+                    case 'PHP_Token_DOC_COMMENT':
+                        $_token = trim($token);
+                        $_line  = trim($lines[$token->getLine() - 1]);
+
+                        if ($_token == '// @codeCoverageIgnore' ||
+                            $_token == '//@codeCoverageIgnore') {
+                            $ignore = true;
+                            $stop   = true;
+                        } elseif ($_token == '// @codeCoverageIgnoreStart' ||
+                            $_token == '//@codeCoverageIgnoreStart') {
+                            $ignore = true;
+                        } elseif ($_token == '// @codeCoverageIgnoreEnd' ||
+                            $_token == '//@codeCoverageIgnoreEnd') {
+                            $stop = true;
+                        }
+
+                        if (!$ignore) {
+                            $start = $token->getLine();
+                            $end   = $start + substr_count($token, "\n");
+
+                            // Do not ignore the first line when there is a token
+                            // before the comment
+                            if (0 !== strpos($_token, $_line)) {
+                                $start++;
+                            }
+
+                            for ($i = $start; $i < $end; $i++) {
+                                $this->ignoredLines[$filename][] = $i;
+                            }
+
+                            // A DOC_COMMENT token or a COMMENT token starting with "/*"
+                            // does not contain the final \n character in its text
+                            if (isset($lines[$i-1]) && 0 === strpos($_token, '/*') && '*/' === substr(trim($lines[$i-1]), -2)) {
+                                $this->ignoredLines[$filename][] = $i;
+                            }
+                        }
+                        break;
+
+                    case 'PHP_Token_INTERFACE':
+                    case 'PHP_Token_TRAIT':
+                    case 'PHP_Token_CLASS':
+                    case 'PHP_Token_FUNCTION':
+                        $docblock = $token->getDocblock();
+
+                        $this->ignoredLines[$filename][] = $token->getLine();
+
+                        if (strpos($docblock, '@codeCoverageIgnore') || strpos($docblock, '@deprecated')) {
+                            $endLine = $token->getEndLine();
+
+                            for ($i = $token->getLine(); $i <= $endLine; $i++) {
+                                $this->ignoredLines[$filename][] = $i;
+                            }
+                        } elseif ($token instanceof PHP_Token_INTERFACE ||
+                            $token instanceof PHP_Token_TRAIT ||
+                            $token instanceof PHP_Token_CLASS) {
+                            if (empty($classes[$token->getName()]['methods'])) {
+                                for ($i = $token->getLine();
+                                     $i <= $token->getEndLine();
+                                     $i++) {
+                                    $this->ignoredLines[$filename][] = $i;
+                                }
+                            } else {
+                                $firstMethod = array_shift(
+                                    $classes[$token->getName()]['methods']
+                                );
+
+                                do {
+                                    $lastMethod = array_pop(
+                                        $classes[$token->getName()]['methods']
+                                    );
+                                } while ($lastMethod !== null &&
+                                    substr($lastMethod['signature'], 0, 18) == 'anonymous function');
+
+                                if ($lastMethod === null) {
+                                    $lastMethod = $firstMethod;
+                                }
+
+                                for ($i = $token->getLine();
+                                     $i < $firstMethod['startLine'];
+                                     $i++) {
+                                    $this->ignoredLines[$filename][] = $i;
+                                }
+
+                                for ($i = $token->getEndLine();
+                                     $i > $lastMethod['endLine'];
+                                     $i--) {
+                                    $this->ignoredLines[$filename][] = $i;
+                                }
+                            }
+                        }
+                        break;
+
+                    case 'PHP_Token_NAMESPACE':
+                        $this->ignoredLines[$filename][] = $token->getEndLine();
+
+                    // Intentional fallthrough
+                    case 'PHP_Token_OPEN_TAG':
+                    case 'PHP_Token_CLOSE_TAG':
+                    case 'PHP_Token_USE':
+                        $this->ignoredLines[$filename][] = $token->getLine();
+                        break;
+                }
+
+                if ($ignore) {
+                    $this->ignoredLines[$filename][] = $token->getLine();
+
+                    if ($stop) {
+                        $ignore = false;
+                        $stop   = false;
+                    }
+                }
+            }
+
+            $this->ignoredLines[$filename][] = $numLines + 1;
+
+            $this->ignoredLines[$filename] = array_unique(
+                $this->ignoredLines[$filename]
+            );
+
+            sort($this->ignoredLines[$filename]);
+        }
+
+        return $this->ignoredLines[$filename];
+    }
+
+    /**
+     * @param  array                                                 $data
+     * @param  array                                                 $linesToBeCovered
+     * @param  array                                                 $linesToBeUsed
+     * @throws PHP_CodeCoverage_Exception_UnintentionallyCoveredCode
+     * @since Method available since Release 2.0.0
+     */
+    private function performUnintentionallyCoveredCodeCheck(array &$data, array $linesToBeCovered, array $linesToBeUsed)
+    {
+        $allowedLines = $this->getAllowedLines(
+            $linesToBeCovered,
+            $linesToBeUsed
+        );
+
+        $message = '';
+
+        foreach ($data as $file => $_data) {
+            foreach ($_data as $line => $flag) {
+                if ($flag == 1 &&
+                    (!isset($allowedLines[$file]) ||
+                        !isset($allowedLines[$file][$line]))) {
+                    $message .= sprintf(
+                        '- %s:%d' . PHP_EOL,
+                        $file,
+                        $line
+                    );
+                }
+            }
+        }
+
+        if (!empty($message)) {
+            throw new PHP_CodeCoverage_Exception_UnintentionallyCoveredCode(
+                $message
+            );
+        }
+    }
+
+    /**
+     * @param  array $linesToBeCovered
+     * @param  array $linesToBeUsed
+     * @return array
+     * @since Method available since Release 2.0.0
+     */
+    private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed)
+    {
+        $allowedLines = array();
+
+        foreach (array_keys($linesToBeCovered) as $file) {
+            if (!isset($allowedLines[$file])) {
+                $allowedLines[$file] = array();
+            }
+
+            $allowedLines[$file] = array_merge(
+                $allowedLines[$file],
+                $linesToBeCovered[$file]
+            );
+        }
+
+        foreach (array_keys($linesToBeUsed) as $file) {
+            if (!isset($allowedLines[$file])) {
+                $allowedLines[$file] = array();
+            }
+
+            $allowedLines[$file] = array_merge(
+                $allowedLines[$file],
+                $linesToBeUsed[$file]
+            );
+        }
+
+        foreach (array_keys($allowedLines) as $file) {
+            $allowedLines[$file] = array_flip(
+                array_unique($allowedLines[$file])
+            );
+        }
+
+        return $allowedLines;
+    }
+
+    /**
+     * @return PHP_CodeCoverage_Driver
+     * @throws PHP_CodeCoverage_Exception
+     */
+    private function selectDriver()
+    {
+        $runtime = new Runtime;
+
+        if (!$runtime->canCollectCodeCoverage()) {
+            throw new PHP_CodeCoverage_Exception('No code coverage driver available');
+        }
+
+        if ($runtime->isHHVM()) {
+            return new PHP_CodeCoverage_Driver_HHVM;
+        } elseif ($runtime->isPHPDBG()) {
+            return new PHP_CodeCoverage_Driver_PHPDBG;
+        } else {
+            return new PHP_CodeCoverage_Driver_Xdebug;
+        }
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/HHVM.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/PHPDBG.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Driver/Xdebug.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Exception/UnintentionallyCoveredCode.php
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
new file mode 100644
index 0000000..bb4a251
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
@@ -0,0 +1,293 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Filter for blacklisting and whitelisting of code coverage information.
+ *
+ * @since Class available since Release 1.0.0
+ */
+class PHP_CodeCoverage_Filter
+{
+    /**
+     * Source files that are blacklisted.
+     *
+     * @var array
+     */
+    private $blacklistedFiles = array();
+
+    /**
+     * Source files that are whitelisted.
+     *
+     * @var array
+     */
+    private $whitelistedFiles = array();
+
+    /**
+     * Adds a directory to the blacklist (recursively).
+     *
+     * @param string $directory
+     * @param string $suffix
+     * @param string $prefix
+     */
+    public function addDirectoryToBlacklist($directory, $suffix = '.php', $prefix = '')
+    {
+        $facade = new File_Iterator_Facade;
+        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
+
+        foreach ($files as $file) {
+            $this->addFileToBlacklist($file);
+        }
+    }
+
+    /**
+     * Adds a file to the blacklist.
+     *
+     * @param string $filename
+     */
+    public function addFileToBlacklist($filename)
+    {
+        $this->blacklistedFiles[realpath($filename)] = true;
+    }
+
+    /**
+     * Adds files to the blacklist.
+     *
+     * @param array $files
+     */
+    public function addFilesToBlacklist(array $files)
+    {
+        foreach ($files as $file) {
+            $this->addFileToBlacklist($file);
+        }
+    }
+
+    /**
+     * Removes a directory from the blacklist (recursively).
+     *
+     * @param string $directory
+     * @param string $suffix
+     * @param string $prefix
+     */
+    public function removeDirectoryFromBlacklist($directory, $suffix = '.php', $prefix = '')
+    {
+        $facade = new File_Iterator_Facade;
+        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
+
+        foreach ($files as $file) {
+            $this->removeFileFromBlacklist($file);
+        }
+    }
+
+    /**
+     * Removes a file from the blacklist.
+     *
+     * @param string $filename
+     */
+    public function removeFileFromBlacklist($filename)
+    {
+        $filename = realpath($filename);
+
+        if (isset($this->blacklistedFiles[$filename])) {
+            unset($this->blacklistedFiles[$filename]);
+        }
+    }
+
+    /**
+     * Adds a directory to the whitelist (recursively).
+     *
+     * @param string $directory
+     * @param string $suffix
+     * @param string $prefix
+     */
+    public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '')
+    {
+        $facade = new File_Iterator_Facade;
+        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
+
+        foreach ($files as $file) {
+            $this->addFileToWhitelist($file);
+        }
+    }
+
+    /**
+     * Adds a file to the whitelist.
+     *
+     * @param string $filename
+     */
+    public function addFileToWhitelist($filename)
+    {
+        $this->whitelistedFiles[realpath($filename)] = true;
+    }
+
+    /**
+     * Adds files to the whitelist.
+     *
+     * @param array $files
+     */
+    public function addFilesToWhitelist(array $files)
+    {
+        foreach ($files as $file) {
+            $this->addFileToWhitelist($file);
+        }
+    }
+
+    /**
+     * Removes a directory from the whitelist (recursively).
+     *
+     * @param string $directory
+     * @param string $suffix
+     * @param string $prefix
+     */
+    public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '')
+    {
+        $facade = new File_Iterator_Facade;
+        $files  = $facade->getFilesAsArray($directory, $suffix, $prefix);
+
+        foreach ($files as $file) {
+            $this->removeFileFromWhitelist($file);
+        }
+    }
+
+    /**
+     * Removes a file from the whitelist.
+     *
+     * @param string $filename
+     */
+    public function removeFileFromWhitelist($filename)
+    {
+        $filename = realpath($filename);
+
+        if (isset($this->whitelistedFiles[$filename])) {
+            unset($this->whitelistedFiles[$filename]);
+        }
+    }
+
+    /**
+     * Checks whether a filename is a real filename.
+     *
+     * @param  string $filename
+     * @return bool
+     */
+    public function isFile($filename)
+    {
+        if ($filename == '-' ||
+            strpos($filename, 'vfs://') === 0 ||
+            strpos($filename, 'xdebug://debug-eval') !== false ||
+            strpos($filename, 'eval()\'d code') !== false ||
+            strpos($filename, 'runtime-created function') !== false ||
+            strpos($filename, 'runkit created function') !== false ||
+            strpos($filename, 'assert code') !== false ||
+            strpos($filename, 'regexp code') !== false) {
+            return false;
+        }
+
+        return file_exists($filename);
+    }
+
+    /**
+     * Checks whether or not a file is filtered.
+     *
+     * When the whitelist is empty (default), blacklisting is used.
+     * When the whitelist is not empty, whitelisting is used.
+     *
+     * @param  string                     $filename
+     * @return bool
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function isFiltered($filename)
+    {
+        if (!$this->isFile($filename)) {
+            return true;
+        }
+
+        $filename = realpath($filename);
+
+        if (!empty($this->whitelistedFiles)) {
+            return !isset($this->whitelistedFiles[$filename]);
+        }
+
+        return isset($this->blacklistedFiles[$filename]);
+    }
+
+    /**
+     * Returns the list of blacklisted files.
+     *
+     * @return array
+     */
+    public function getBlacklist()
+    {
+        return array_keys($this->blacklistedFiles);
+    }
+
+    /**
+     * Returns the list of whitelisted files.
+     *
+     * @return array
+     */
+    public function getWhitelist()
+    {
+        return array_keys($this->whitelistedFiles);
+    }
+
+    /**
+     * Returns whether this filter has a whitelist.
+     *
+     * @return bool
+     * @since  Method available since Release 1.1.0
+     */
+    public function hasWhitelist()
+    {
+        return !empty($this->whitelistedFiles);
+    }
+
+    /**
+     * Returns the blacklisted files.
+     *
+     * @return array
+     * @since Method available since Release 2.0.0
+     */
+    public function getBlacklistedFiles()
+    {
+        return $this->blacklistedFiles;
+    }
+
+    /**
+     * Sets the blacklisted files.
+     *
+     * @param array $blacklistedFiles
+     * @since Method available since Release 2.0.0
+     */
+    public function setBlacklistedFiles($blacklistedFiles)
+    {
+        $this->blacklistedFiles = $blacklistedFiles;
+    }
+
+    /**
+     * Returns the whitelisted files.
+     *
+     * @return array
+     * @since Method available since Release 2.0.0
+     */
+    public function getWhitelistedFiles()
+    {
+        return $this->whitelistedFiles;
+    }
+
+    /**
+     * Sets the whitelisted files.
+     *
+     * @param array $whitelistedFiles
+     * @since Method available since Release 2.0.0
+     */
+    public function setWhitelistedFiles($whitelistedFiles)
+    {
+        $this->whitelistedFiles = $whitelistedFiles;
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Clover.php
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
new file mode 100644
index 0000000..c006ea6
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Crap4j.php
@@ -0,0 +1,164 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * @since Class available since Release 2.0.0
+ */
+class PHP_CodeCoverage_Report_Crap4j
+{
+    /**
+     * @var int
+     */
+    private $threshold;
+
+    /**
+     * @param int $threshold
+     */
+    public function __construct($threshold = 30)
+    {
+        if (!is_int($threshold)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'integer'
+            );
+        }
+
+        $this->threshold = $threshold;
+    }
+
+    /**
+     * @param  PHP_CodeCoverage $coverage
+     * @param  string           $target
+     * @param  string           $name
+     * @return string
+     */
+    public function process(PHP_CodeCoverage $coverage, $target = null, $name = null)
+    {
+        $document               = new DOMDocument('1.0', 'UTF-8');
+        $document->formatOutput = true;
+
+        $root = $document->createElement('crap_result');
+        $document->appendChild($root);
+
+        $project = $document->createElement('project', is_string($name) ? $name : '');
+        $root->appendChild($project);
+        $root->appendChild($document->createElement('timestamp', date('Y-m-d H:i:s', (int) $_SERVER['REQUEST_TIME'])));
+
+        $stats       = $document->createElement('stats');
+        $methodsNode = $document->createElement('methods');
+
+        $report = $coverage->getReport();
+        unset($coverage);
+
+        $fullMethodCount     = 0;
+        $fullCrapMethodCount = 0;
+        $fullCrapLoad        = 0;
+        $fullCrap            = 0;
+
+        foreach ($report as $item) {
+            $namespace = 'global';
+
+            if (!$item instanceof PHP_CodeCoverage_Report_Node_File) {
+                continue;
+            }
+
+            $file = $document->createElement('file');
+            $file->setAttribute('name', $item->getPath());
+
+            $classes = $item->getClassesAndTraits();
+
+            foreach ($classes as $className => $class) {
+                foreach ($class['methods'] as $methodName => $method) {
+                    $crapLoad = $this->getCrapLoad($method['crap'], $method['ccn'], $method['coverage']);
+
+                    $fullCrap     += $method['crap'];
+                    $fullCrapLoad += $crapLoad;
+                    $fullMethodCount++;
+
+                    if ($method['crap'] >= $this->threshold) {
+                        $fullCrapMethodCount++;
+                    }
+
+                    $methodNode = $document->createElement('method');
+
+                    if (!empty($class['package']['namespace'])) {
+                        $namespace = $class['package']['namespace'];
+                    }
+
+                    $methodNode->appendChild($document->createElement('package', $namespace));
+                    $methodNode->appendChild($document->createElement('className', $className));
+                    $methodNode->appendChild($document->createElement('methodName', $methodName));
+                    $methodNode->appendChild($document->createElement('methodSignature', htmlspecialchars($method['signature'])));
+                    $methodNode->appendChild($document->createElement('fullMethod', htmlspecialchars($method['signature'])));
+                    $methodNode->appendChild($document->createElement('crap', $this->roundValue($method['crap'])));
+                    $methodNode->appendChild($document->createElement('complexity', $method['ccn']));
+                    $methodNode->appendChild($document->createElement('coverage', $this->roundValue($method['coverage'])));
+                    $methodNode->appendChild($document->createElement('crapLoad', round($crapLoad)));
+
+                    $methodsNode->appendChild($methodNode);
+                }
+            }
+        }
+
+        $stats->appendChild($document->createElement('name', 'Method Crap Stats'));
+        $stats->appendChild($document->createElement('methodCount', $fullMethodCount));
+        $stats->appendChild($document->createElement('crapMethodCount', $fullCrapMethodCount));
+        $stats->appendChild($document->createElement('crapLoad', round($fullCrapLoad)));
+        $stats->appendChild($document->createElement('totalCrap', $fullCrap));
+
+        if ($fullMethodCount > 0) {
+            $crapMethodPercent = $this->roundValue((100 * $fullCrapMethodCount) / $fullMethodCount);
+        } else {
+            $crapMethodPercent = 0;
+        }
+
+        $stats->appendChild($document->createElement('crapMethodPercent', $crapMethodPercent));
+
+        $root->appendChild($stats);
+        $root->appendChild($methodsNode);
+
+        if ($target !== null) {
+            if (!is_dir(dirname($target))) {
+                mkdir(dirname($target), 0777, true);
+            }
+
+            return $document->save($target);
+        } else {
+            return $document->saveXML();
+        }
+    }
+
+    /**
+     * @param  float $crapValue
+     * @param  int   $cyclomaticComplexity
+     * @param  float $coveragePercent
+     * @return float
+     */
+    private function getCrapLoad($crapValue, $cyclomaticComplexity, $coveragePercent)
+    {
+        $crapLoad = 0;
+
+        if ($crapValue >= $this->threshold) {
+            $crapLoad += $cyclomaticComplexity * (1.0 - $coveragePercent / 100);
+            $crapLoad += $cyclomaticComplexity / $this->threshold;
+        }
+
+        return $crapLoad;
+    }
+
+    /**
+     * @param  float $value
+     * @return float
+     */
+    private function roundValue($value)
+    {
+        return round($value, 2);
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Factory.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML.php
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
new file mode 100644
index 0000000..aacac88
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer.php
@@ -0,0 +1,271 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+use SebastianBergmann\Environment\Runtime;
+
+/**
+ * Base class for PHP_CodeCoverage_Report_Node renderers.
+ *
+ * @since Class available since Release 1.1.0
+ */
+abstract class PHP_CodeCoverage_Report_HTML_Renderer
+{
+    /**
+     * @var string
+     */
+    protected $templatePath;
+
+    /**
+     * @var string
+     */
+    protected $generator;
+
+    /**
+     * @var string
+     */
+    protected $date;
+
+    /**
+     * @var int
+     */
+    protected $lowUpperBound;
+
+    /**
+     * @var int
+     */
+    protected $highLowerBound;
+
+    /**
+     * @var string
+     */
+    protected $version;
+
+    /**
+     * Constructor.
+     *
+     * @param string $templatePath
+     * @param string $generator
+     * @param string $date
+     * @param int    $lowUpperBound
+     * @param int    $highLowerBound
+     */
+    public function __construct($templatePath, $generator, $date, $lowUpperBound, $highLowerBound)
+    {
+        $version = new SebastianBergmann\Version('2.2.3', dirname(dirname(dirname(dirname(__DIR__)))));
+
+        $this->templatePath   = $templatePath;
+        $this->generator      = $generator;
+        $this->date           = $date;
+        $this->lowUpperBound  = $lowUpperBound;
+        $this->highLowerBound = $highLowerBound;
+        $this->version        = $version->getVersion();
+    }
+
+    /**
+     * @param  Text_Template $template
+     * @param  array         $data
+     * @return string
+     */
+    protected function renderItemTemplate(Text_Template $template, array $data)
+    {
+        $numSeparator  = '&nbsp;/&nbsp;';
+
+        if (isset($data['numClasses']) && $data['numClasses'] > 0) {
+            $classesLevel = $this->getColorLevel($data['testedClassesPercent']);
+
+            $classesNumber = $data['numTestedClasses'] . $numSeparator .
+                $data['numClasses'];
+
+            $classesBar = $this->getCoverageBar(
+                $data['testedClassesPercent']
+            );
+        } else {
+            $classesLevel  = 'success';
+            $classesNumber = '0' . $numSeparator . '0';
+            $classesBar    = $this->getCoverageBar(100);
+        }
+
+        if ($data['numMethods'] > 0) {
+            $methodsLevel = $this->getColorLevel($data['testedMethodsPercent']);
+
+            $methodsNumber = $data['numTestedMethods'] . $numSeparator .
+                $data['numMethods'];
+
+            $methodsBar = $this->getCoverageBar(
+                $data['testedMethodsPercent']
+            );
+        } else {
+            $methodsLevel                         = 'success';
+            $methodsNumber                        = '0' . $numSeparator . '0';
+            $methodsBar                           = $this->getCoverageBar(100);
+            $data['testedMethodsPercentAsString'] = '100.00%';
+        }
+
+        if ($data['numExecutableLines'] > 0) {
+            $linesLevel = $this->getColorLevel($data['linesExecutedPercent']);
+
+            $linesNumber = $data['numExecutedLines'] . $numSeparator .
+                $data['numExecutableLines'];
+
+            $linesBar = $this->getCoverageBar(
+                $data['linesExecutedPercent']
+            );
+        } else {
+            $linesLevel                           = 'success';
+            $linesNumber                          = '0' . $numSeparator . '0';
+            $linesBar                             = $this->getCoverageBar(100);
+            $data['linesExecutedPercentAsString'] = '100.00%';
+        }
+
+        $template->setVar(
+            array(
+                'icon'                   => isset($data['icon']) ? $data['icon'] : '',
+                'crap'                   => isset($data['crap']) ? $data['crap'] : '',
+                'name'                   => $data['name'],
+                'lines_bar'              => $linesBar,
+                'lines_executed_percent' => $data['linesExecutedPercentAsString'],
+                'lines_level'            => $linesLevel,
+                'lines_number'           => $linesNumber,
+                'methods_bar'            => $methodsBar,
+                'methods_tested_percent' => $data['testedMethodsPercentAsString'],
+                'methods_level'          => $methodsLevel,
+                'methods_number'         => $methodsNumber,
+                'classes_bar'            => $classesBar,
+                'classes_tested_percent' => isset($data['testedClassesPercentAsString']) ? $data['testedClassesPercentAsString'] : '',
+                'classes_level'          => $classesLevel,
+                'classes_number'         => $classesNumber
+            )
+        );
+
+        return $template->render();
+    }
+
+    /**
+     * @param Text_Template                $template
+     * @param PHP_CodeCoverage_Report_Node $node
+     */
+    protected function setCommonTemplateVariables(Text_Template $template, PHP_CodeCoverage_Report_Node $node)
+    {
+        $runtime = new Runtime;
+
+        $template->setVar(
+            array(
+                'id'               => $node->getId(),
+                'full_path'        => $node->getPath(),
+                'path_to_root'     => $this->getPathToRoot($node),
+                'breadcrumbs'      => $this->getBreadcrumbs($node),
+                'date'             => $this->date,
+                'version'          => $this->version,
+                'runtime_name'     => $runtime->getName(),
+                'runtime_version'  => $runtime->getVersion(),
+                'runtime_link'     => $runtime->getVendorUrl(),
+                'generator'        => $this->generator,
+                'low_upper_bound'  => $this->lowUpperBound,
+                'high_lower_bound' => $this->highLowerBound
+            )
+        );
+    }
+
+    protected function getBreadcrumbs(PHP_CodeCoverage_Report_Node $node)
+    {
+        $breadcrumbs = '';
+        $path        = $node->getPathAsArray();
+        $pathToRoot  = array();
+        $max         = count($path);
+
+        if ($node instanceof PHP_CodeCoverage_Report_Node_File) {
+            $max--;
+        }
+
+        for ($i = 0; $i < $max; $i++) {
+            $pathToRoot[] = str_repeat('../', $i);
+        }
+
+        foreach ($path as $step) {
+            if ($step !== $node) {
+                $breadcrumbs .= $this->getInactiveBreadcrumb(
+                    $step,
+                    array_pop($pathToRoot)
+                );
+            } else {
+                $breadcrumbs .= $this->getActiveBreadcrumb($step);
+            }
+        }
+
+        return $breadcrumbs;
+    }
+
+    protected function getActiveBreadcrumb(PHP_CodeCoverage_Report_Node $node)
+    {
+        $buffer = sprintf(
+            '        <li class="active">%s</li>' . "\n",
+            $node->getName()
+        );
+
+        if ($node instanceof PHP_CodeCoverage_Report_Node_Directory) {
+            $buffer .= '        <li>(<a href="dashboard.html">Dashboard</a>)</li>' . "\n";
+        }
+
+        return $buffer;
+    }
+
+    protected function getInactiveBreadcrumb(PHP_CodeCoverage_Report_Node $node, $pathToRoot)
+    {
+        return sprintf(
+            '        <li><a href="%sindex.html">%s</a></li>' . "\n",
+            $pathToRoot,
+            $node->getName()
+        );
+    }
+
+    protected function getPathToRoot(PHP_CodeCoverage_Report_Node $node)
+    {
+        $id    = $node->getId();
+        $depth = substr_count($id, '/');
+
+        if ($id != 'index' &&
+            $node instanceof PHP_CodeCoverage_Report_Node_Directory) {
+            $depth++;
+        }
+
+        return str_repeat('../', $depth);
+    }
+
+    protected function getCoverageBar($percent)
+    {
+        $level = $this->getColorLevel($percent);
+
+        $template = new Text_Template(
+            $this->templatePath . 'coverage_bar.html',
+            '{{',
+            '}}'
+        );
+
+        $template->setVar(array('level' => $level, 'percent' => sprintf('%.2F', $percent)));
+
+        return $template->render();
+    }
+
+    /**
+     * @param  int    $percent
+     * @return string
+     */
+    protected function getColorLevel($percent)
+    {
+        if ($percent <= $this->lowUpperBound) {
+            return 'danger';
+        } elseif ($percent > $this->lowUpperBound &&
+            $percent <  $this->highLowerBound) {
+            return 'warning';
+        } else {
+            return 'success';
+        }
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Dashboard.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Directory.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/File.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/coverage_bar.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/bootstrap.min.css
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/nv.d3.min.css
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/css/style.css
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/dashboard.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/directory_item.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/file_item.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.eot
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.svg
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.ttf
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2 b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/fonts/glyphicons-halflings-regular.woff2
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/bootstrap.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/d3.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/holder.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/html5shiv.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/jquery.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/nv.d3.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/js/respond.min.js
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/HTML/Renderer/Template/method_item.html.dist
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Directory.php
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
new file mode 100644
index 0000000..32e43a6
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/File.php
@@ -0,0 +1,679 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Represents a file in the code coverage information tree.
+ *
+ * @since Class available since Release 1.1.0
+ */
+class PHP_CodeCoverage_Report_Node_File extends PHP_CodeCoverage_Report_Node
+{
+    /**
+     * @var array
+     */
+    protected $coverageData;
+
+    /**
+     * @var array
+     */
+    protected $testData;
+
+    /**
+     * @var int
+     */
+    protected $numExecutableLines = 0;
+
+    /**
+     * @var int
+     */
+    protected $numExecutedLines = 0;
+
+    /**
+     * @var array
+     */
+    protected $classes = array();
+
+    /**
+     * @var array
+     */
+    protected $traits = array();
+
+    /**
+     * @var array
+     */
+    protected $functions = array();
+
+    /**
+     * @var array
+     */
+    protected $linesOfCode = array();
+
+    /**
+     * @var int
+     */
+    protected $numTestedTraits = 0;
+
+    /**
+     * @var int
+     */
+    protected $numTestedClasses = 0;
+
+    /**
+     * @var int
+     */
+    protected $numMethods = null;
+
+    /**
+     * @var int
+     */
+    protected $numTestedMethods = null;
+
+    /**
+     * @var int
+     */
+    protected $numTestedFunctions = null;
+
+    /**
+     * @var array
+     */
+    protected $startLines = array();
+
+    /**
+     * @var array
+     */
+    protected $endLines = array();
+
+    /**
+     * @var bool
+     */
+    protected $cacheTokens;
+
+    /**
+     * Constructor.
+     *
+     * @param  string                       $name
+     * @param  PHP_CodeCoverage_Report_Node $parent
+     * @param  array                        $coverageData
+     * @param  array                        $testData
+     * @param  bool                         $cacheTokens
+     * @throws PHP_CodeCoverage_Exception
+     */
+    public function __construct($name, PHP_CodeCoverage_Report_Node $parent, array $coverageData, array $testData, $cacheTokens)
+    {
+        if (!is_bool($cacheTokens)) {
+            throw PHP_CodeCoverage_Util_InvalidArgumentHelper::factory(
+                1,
+                'boolean'
+            );
+        }
+
+        parent::__construct($name, $parent);
+
+        $this->coverageData = $coverageData;
+        $this->testData     = $testData;
+        $this->cacheTokens  = $cacheTokens;
+
+        $this->calculateStatistics();
+    }
+
+    /**
+     * Returns the number of files in/under this node.
+     *
+     * @return int
+     */
+    public function count()
+    {
+        return 1;
+    }
+
+    /**
+     * Returns the code coverage data of this node.
+     *
+     * @return array
+     */
+    public function getCoverageData()
+    {
+        return $this->coverageData;
+    }
+
+    /**
+     * Returns the test data of this node.
+     *
+     * @return array
+     */
+    public function getTestData()
+    {
+        return $this->testData;
+    }
+
+    /**
+     * Returns the classes of this node.
+     *
+     * @return array
+     */
+    public function getClasses()
+    {
+        return $this->classes;
+    }
+
+    /**
+     * Returns the traits of this node.
+     *
+     * @return array
+     */
+    public function getTraits()
+    {
+        return $this->traits;
+    }
+
+    /**
+     * Returns the functions of this node.
+     *
+     * @return array
+     */
+    public function getFunctions()
+    {
+        return $this->functions;
+    }
+
+    /**
+     * Returns the LOC/CLOC/NCLOC of this node.
+     *
+     * @return array
+     */
+    public function getLinesOfCode()
+    {
+        return $this->linesOfCode;
+    }
+
+    /**
+     * Returns the number of executable lines.
+     *
+     * @return int
+     */
+    public function getNumExecutableLines()
+    {
+        return $this->numExecutableLines;
+    }
+
+    /**
+     * Returns the number of executed lines.
+     *
+     * @return int
+     */
+    public function getNumExecutedLines()
+    {
+        return $this->numExecutedLines;
+    }
+
+    /**
+     * Returns the number of classes.
+     *
+     * @return int
+     */
+    public function getNumClasses()
+    {
+        return count($this->classes);
+    }
+
+    /**
+     * Returns the number of tested classes.
+     *
+     * @return int
+     */
+    public function getNumTestedClasses()
+    {
+        return $this->numTestedClasses;
+    }
+
+    /**
+     * Returns the number of traits.
+     *
+     * @return int
+     */
+    public function getNumTraits()
+    {
+        return count($this->traits);
+    }
+
+    /**
+     * Returns the number of tested traits.
+     *
+     * @return int
+     */
+    public function getNumTestedTraits()
+    {
+        return $this->numTestedTraits;
+    }
+
+    /**
+     * Returns the number of methods.
+     *
+     * @return int
+     */
+    public function getNumMethods()
+    {
+        if ($this->numMethods === null) {
+            $this->numMethods = 0;
+
+            foreach ($this->classes as $class) {
+                foreach ($class['methods'] as $method) {
+                    if ($method['executableLines'] > 0) {
+                        $this->numMethods++;
+                    }
+                }
+            }
+
+            foreach ($this->traits as $trait) {
+                foreach ($trait['methods'] as $method) {
+                    if ($method['executableLines'] > 0) {
+                        $this->numMethods++;
+                    }
+                }
+            }
+        }
+
+        return $this->numMethods;
+    }
+
+    /**
+     * Returns the number of tested methods.
+     *
+     * @return int
+     */
+    public function getNumTestedMethods()
+    {
+        if ($this->numTestedMethods === null) {
+            $this->numTestedMethods = 0;
+
+            foreach ($this->classes as $class) {
+                foreach ($class['methods'] as $method) {
+                    if ($method['executableLines'] > 0 &&
+                        $method['coverage'] == 100) {
+                        $this->numTestedMethods++;
+                    }
+                }
+            }
+
+            foreach ($this->traits as $trait) {
+                foreach ($trait['methods'] as $method) {
+                    if ($method['executableLines'] > 0 &&
+                        $method['coverage'] == 100) {
+                        $this->numTestedMethods++;
+                    }
+                }
+            }
+        }
+
+        return $this->numTestedMethods;
+    }
+
+    /**
+     * Returns the number of functions.
+     *
+     * @return int
+     */
+    public function getNumFunctions()
+    {
+        return count($this->functions);
+    }
+
+    /**
+     * Returns the number of tested functions.
+     *
+     * @return int
+     */
+    public function getNumTestedFunctions()
+    {
+        if ($this->numTestedFunctions === null) {
+            $this->numTestedFunctions = 0;
+
+            foreach ($this->functions as $function) {
+                if ($function['executableLines'] > 0 &&
+                    $function['coverage'] == 100) {
+                    $this->numTestedFunctions++;
+                }
+            }
+        }
+
+        return $this->numTestedFunctions;
+    }
+
+    /**
+     * Calculates coverage statistics for the file.
+     */
+    protected function calculateStatistics()
+    {
+        $classStack = $functionStack = array();
+
+        if ($this->cacheTokens) {
+            $tokens = PHP_Token_Stream_CachingFactory::get($this->getPath());
+        } else {
+            $tokens = new PHP_Token_Stream($this->getPath());
+        }
+
+        $this->processClasses($tokens);
+        $this->processTraits($tokens);
+        $this->processFunctions($tokens);
+        $this->linesOfCode = $tokens->getLinesOfCode();
+        unset($tokens);
+
+        for ($lineNumber = 1; $lineNumber <= $this->linesOfCode['loc']; $lineNumber++) {
+            if (isset($this->startLines[$lineNumber])) {
+                // Start line of a class.
+                if (isset($this->startLines[$lineNumber]['className'])) {
+                    if (isset($currentClass)) {
+                        $classStack[] = &$currentClass;
+                    }
+
+                    $currentClass = &$this->startLines[$lineNumber];
+                } // Start line of a trait.
+                elseif (isset($this->startLines[$lineNumber]['traitName'])) {
+                    $currentTrait = &$this->startLines[$lineNumber];
+                } // Start line of a method.
+                elseif (isset($this->startLines[$lineNumber]['methodName'])) {
+                    $currentMethod = &$this->startLines[$lineNumber];
+                } // Start line of a function.
+                elseif (isset($this->startLines[$lineNumber]['functionName'])) {
+                    if (isset($currentFunction)) {
+                        $functionStack[] = &$currentFunction;
+                    }
+
+                    $currentFunction = &$this->startLines[$lineNumber];
+                }
+            }
+
+            if (isset($this->coverageData[$lineNumber])) {
+                if (isset($currentClass)) {
+                    $currentClass['executableLines']++;
+                }
+
+                if (isset($currentTrait)) {
+                    $currentTrait['executableLines']++;
+                }
+
+                if (isset($currentMethod)) {
+                    $currentMethod['executableLines']++;
+                }
+
+                if (isset($currentFunction)) {
+                    $currentFunction['executableLines']++;
+                }
+
+                $this->numExecutableLines++;
+
+                if (count($this->coverageData[$lineNumber]) > 0) {
+                    if (isset($currentClass)) {
+                        $currentClass['executedLines']++;
+                    }
+
+                    if (isset($currentTrait)) {
+                        $currentTrait['executedLines']++;
+                    }
+
+                    if (isset($currentMethod)) {
+                        $currentMethod['executedLines']++;
+                    }
+
+                    if (isset($currentFunction)) {
+                        $currentFunction['executedLines']++;
+                    }
+
+                    $this->numExecutedLines++;
+                }
+            }
+
+            if (isset($this->endLines[$lineNumber])) {
+                // End line of a class.
+                if (isset($this->endLines[$lineNumber]['className'])) {
+                    unset($currentClass);
+
+                    if ($classStack) {
+                        end($classStack);
+                        $key          = key($classStack);
+                        $currentClass = &$classStack[$key];
+                        unset($classStack[$key]);
+                    }
+                } // End line of a trait.
+                elseif (isset($this->endLines[$lineNumber]['traitName'])) {
+                    unset($currentTrait);
+                } // End line of a method.
+                elseif (isset($this->endLines[$lineNumber]['methodName'])) {
+                    unset($currentMethod);
+                } // End line of a function.
+                elseif (isset($this->endLines[$lineNumber]['functionName'])) {
+                    unset($currentFunction);
+
+                    if ($functionStack) {
+                        end($functionStack);
+                        $key             = key($functionStack);
+                        $currentFunction = &$functionStack[$key];
+                        unset($functionStack[$key]);
+                    }
+                }
+            }
+        }
+
+        foreach ($this->traits as &$trait) {
+            foreach ($trait['methods'] as &$method) {
+                if ($method['executableLines'] > 0) {
+                    $method['coverage'] = ($method['executedLines'] /
+                            $method['executableLines']) * 100;
+                } else {
+                    $method['coverage'] = 100;
+                }
+
+                $method['crap'] = $this->crap(
+                    $method['ccn'],
+                    $method['coverage']
+                );
+
+                $trait['ccn'] += $method['ccn'];
+            }
+
+            if ($trait['executableLines'] > 0) {
+                $trait['coverage'] = ($trait['executedLines'] /
+                        $trait['executableLines']) * 100;
+            } else {
+                $trait['coverage'] = 100;
+            }
+
+            if ($trait['coverage'] == 100) {
+                $this->numTestedClasses++;
+            }
+
+            $trait['crap'] = $this->crap(
+                $trait['ccn'],
+                $trait['coverage']
+            );
+        }
+
+        foreach ($this->classes as &$class) {
+            foreach ($class['methods'] as &$method) {
+                if ($method['executableLines'] > 0) {
+                    $method['coverage'] = ($method['executedLines'] /
+                            $method['executableLines']) * 100;
+                } else {
+                    $method['coverage'] = 100;
+                }
+
+                $method['crap'] = $this->crap(
+                    $method['ccn'],
+                    $method['coverage']
+                );
+
+                $class['ccn'] += $method['ccn'];
+            }
+
+            if ($class['executableLines'] > 0) {
+                $class['coverage'] = ($class['executedLines'] /
+                        $class['executableLines']) * 100;
+            } else {
+                $class['coverage'] = 100;
+            }
+
+            if ($class['coverage'] == 100) {
+                $this->numTestedClasses++;
+            }
+
+            $class['crap'] = $this->crap(
+                $class['ccn'],
+                $class['coverage']
+            );
+        }
+    }
+
+    /**
+     * @param PHP_Token_Stream $tokens
+     */
+    protected function processClasses(PHP_Token_Stream $tokens)
+    {
+        $classes = $tokens->getClasses();
+        unset($tokens);
+
+        $link = $this->getId() . '.html#';
+
+        foreach ($classes as $className => $class) {
+            $this->classes[$className] = array(
+                'className'       => $className,
+                'methods'         => array(),
+                'startLine'       => $class['startLine'],
+                'executableLines' => 0,
+                'executedLines'   => 0,
+                'ccn'             => 0,
+                'coverage'        => 0,
+                'crap'            => 0,
+                'package'         => $class['package'],
+                'link'            => $link . $class['startLine']
+            );
+
+            $this->startLines[$class['startLine']] = &$this->classes[$className];
+            $this->endLines[$class['endLine']]     = &$this->classes[$className];
+
+            foreach ($class['methods'] as $methodName => $method) {
+                $this->classes[$className]['methods'][$methodName] = array(
+                    'methodName'      => $methodName,
+                    'signature'       => $method['signature'],
+                    'startLine'       => $method['startLine'],
+                    'endLine'         => $method['endLine'],
+                    'executableLines' => 0,
+                    'executedLines'   => 0,
+                    'ccn'             => $method['ccn'],
+                    'coverage'        => 0,
+                    'crap'            => 0,
+                    'link'            => $link . $method['startLine']
+                );
+
+                $this->startLines[$method['startLine']] = &$this->classes[$className]['methods'][$methodName];
+                $this->endLines[$method['endLine']]     = &$this->classes[$className]['methods'][$methodName];
+            }
+        }
+    }
+
+    /**
+     * @param PHP_Token_Stream $tokens
+     */
+    protected function processTraits(PHP_Token_Stream $tokens)
+    {
+        $traits = $tokens->getTraits();
+        unset($tokens);
+
+        $link = $this->getId() . '.html#';
+
+        foreach ($traits as $traitName => $trait) {
+            $this->traits[$traitName] = array(
+                'traitName'       => $traitName,
+                'methods'         => array(),
+                'startLine'       => $trait['startLine'],
+                'executableLines' => 0,
+                'executedLines'   => 0,
+                'ccn'             => 0,
+                'coverage'        => 0,
+                'crap'            => 0,
+                'package'         => $trait['package'],
+                'link'            => $link . $trait['startLine']
+            );
+
+            $this->startLines[$trait['startLine']] = &$this->traits[$traitName];
+            $this->endLines[$trait['endLine']]     = &$this->traits[$traitName];
+
+            foreach ($trait['methods'] as $methodName => $method) {
+                $this->traits[$traitName]['methods'][$methodName] = array(
+                    'methodName'      => $methodName,
+                    'signature'       => $method['signature'],
+                    'startLine'       => $method['startLine'],
+                    'endLine'         => $method['endLine'],
+                    'executableLines' => 0,
+                    'executedLines'   => 0,
+                    'ccn'             => $method['ccn'],
+                    'coverage'        => 0,
+                    'crap'            => 0,
+                    'link'            => $link . $method['startLine']
+                );
+
+                $this->startLines[$method['startLine']] = &$this->traits[$traitName]['methods'][$methodName];
+                $this->endLines[$method['endLine']]     = &$this->traits[$traitName]['methods'][$methodName];
+            }
+        }
+    }
+
+    /**
+     * @param PHP_Token_Stream $tokens
+     */
+    protected function processFunctions(PHP_Token_Stream $tokens)
+    {
+        $functions = $tokens->getFunctions();
+        unset($tokens);
+
+        $link = $this->getId() . '.html#';
+
+        foreach ($functions as $functionName => $function) {
+            $this->functions[$functionName] = array(
+                'functionName'    => $functionName,
+                'signature'       => $function['signature'],
+                'startLine'       => $function['startLine'],
+                'executableLines' => 0,
+                'executedLines'   => 0,
+                'ccn'             => $function['ccn'],
+                'coverage'        => 0,
+                'crap'            => 0,
+                'link'            => $link . $function['startLine']
+            );
+
+            $this->startLines[$function['startLine']] = &$this->functions[$functionName];
+            $this->endLines[$function['endLine']]     = &$this->functions[$functionName];
+        }
+    }
+
+    /**
+     * Calculates the Change Risk Anti-Patterns (CRAP) index for a unit of code
+     * based on its cyclomatic complexity and percentage of code coverage.
+     *
+     * @param  int    $ccn
+     * @param  float  $coverage
+     * @return string
+     * @since  Method available since Release 1.2.0
+     */
+    protected function crap($ccn, $coverage)
+    {
+        if ($coverage == 0) {
+            return (string) (pow($ccn, 2) + $ccn);
+        }
+
+        if ($coverage >= 95) {
+            return (string) $ccn;
+        }
+
+        return sprintf(
+            '%01.2F',
+            pow($ccn, 2) * pow(1 - $coverage/100, 3) + $ccn
+        );
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Node/Iterator.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/PHP.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/Text.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Directory.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Method.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Report.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Unit.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Node.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Tests.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Totals.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Util.php
diff --git a/core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php
rename to vendor/phpunit/php-code-coverage/src/CodeCoverage/Util/InvalidArgumentHelper.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php
rename to vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/FilterTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php
rename to vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/CloverTest.php
diff --git a/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
new file mode 100644
index 0000000..84f14ae
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/Report/FactoryTest.php
@@ -0,0 +1,222 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+if (!defined('TEST_FILES_PATH')) {
+    define(
+        'TEST_FILES_PATH',
+        dirname(dirname(dirname(dirname(__FILE__)))) . DIRECTORY_SEPARATOR .
+        '_files' . DIRECTORY_SEPARATOR
+    );
+}
+
+require_once TEST_FILES_PATH . '../TestCase.php';
+
+/**
+ * Tests for the PHP_CodeCoverage_Report_Factory class.
+ *
+ * @since Class available since Release 1.1.0
+ */
+class PHP_CodeCoverage_Report_FactoryTest extends PHP_CodeCoverage_TestCase
+{
+    protected $factory;
+
+    protected function setUp()
+    {
+        $this->factory = new PHP_CodeCoverage_Report_Factory;
+    }
+
+    public function testSomething()
+    {
+        $root = $this->getCoverageForBankAccount()->getReport();
+
+        $expectedPath = rtrim(TEST_FILES_PATH, DIRECTORY_SEPARATOR);
+        $this->assertEquals($expectedPath, $root->getName());
+        $this->assertEquals($expectedPath, $root->getPath());
+        $this->assertEquals(10, $root->getNumExecutableLines());
+        $this->assertEquals(5, $root->getNumExecutedLines());
+        $this->assertEquals(1, $root->getNumClasses());
+        $this->assertEquals(0, $root->getNumTestedClasses());
+        $this->assertEquals(4, $root->getNumMethods());
+        $this->assertEquals(3, $root->getNumTestedMethods());
+        $this->assertEquals('0.00%', $root->getTestedClassesPercent());
+        $this->assertEquals('75.00%', $root->getTestedMethodsPercent());
+        $this->assertEquals('50.00%', $root->getLineExecutedPercent());
+        $this->assertEquals(0, $root->getNumFunctions());
+        $this->assertEquals(0, $root->getNumTestedFunctions());
+        $this->assertNull($root->getParent());
+        $this->assertEquals(array(), $root->getDirectories());
+        #$this->assertEquals(array(), $root->getFiles());
+        #$this->assertEquals(array(), $root->getChildNodes());
+
+        $this->assertEquals(
+            array(
+                'BankAccount' => array(
+                    'methods' => array(
+                        'getBalance' => array(
+                            'signature'       => 'getBalance()',
+                            'startLine'       => 6,
+                            'endLine'         => 9,
+                            'executableLines' => 1,
+                            'executedLines'   => 1,
+                            'ccn'             => 1,
+                            'coverage'        => 100,
+                            'crap'            => '1',
+                            'link'            => 'BankAccount.php.html#6',
+                            'methodName'      => 'getBalance'
+                        ),
+                        'setBalance' => array(
+                            'signature'       => 'setBalance($balance)',
+                            'startLine'       => 11,
+                            'endLine'         => 18,
+                            'executableLines' => 5,
+                            'executedLines'   => 0,
+                            'ccn'             => 2,
+                            'coverage'        => 0,
+                            'crap'            => 6,
+                            'link'            => 'BankAccount.php.html#11',
+                            'methodName'      => 'setBalance'
+                        ),
+                        'depositMoney' => array(
+                            'signature'       => 'depositMoney($balance)',
+                            'startLine'       => 20,
+                            'endLine'         => 25,
+                            'executableLines' => 2,
+                            'executedLines'   => 2,
+                            'ccn'             => 1,
+                            'coverage'        => 100,
+                            'crap'            => '1',
+                            'link'            => 'BankAccount.php.html#20',
+                            'methodName'      => 'depositMoney'
+                        ),
+                        'withdrawMoney' => array(
+                            'signature'       => 'withdrawMoney($balance)',
+                            'startLine'       => 27,
+                            'endLine'         => 32,
+                            'executableLines' => 2,
+                            'executedLines'   => 2,
+                            'ccn'             => 1,
+                            'coverage'        => 100,
+                            'crap'            => '1',
+                            'link'            => 'BankAccount.php.html#27',
+                            'methodName'      => 'withdrawMoney'
+                        ),
+                    ),
+                    'startLine'       => 2,
+                    'executableLines' => 10,
+                    'executedLines'   => 5,
+                    'ccn'             => 5,
+                    'coverage'        => 50,
+                    'crap'            => '8.12',
+                    'package'         => array(
+                        'namespace'   => '',
+                        'fullPackage' => '',
+                        'category'    => '',
+                        'package'     => '',
+                        'subpackage'  => ''
+                    ),
+                    'link'      => 'BankAccount.php.html#2',
+                    'className' => 'BankAccount'
+                )
+            ),
+            $root->getClasses()
+        );
+
+        $this->assertEquals(array(), $root->getFunctions());
+    }
+
+    /**
+     * @covers PHP_CodeCoverage_Report_Factory::buildDirectoryStructure
+     */
+    public function testBuildDirectoryStructure()
+    {
+        $method = new ReflectionMethod(
+            'PHP_CodeCoverage_Report_Factory',
+            'buildDirectoryStructure'
+        );
+
+        $method->setAccessible(true);
+
+        $this->assertEquals(
+            array(
+                'src' => array(
+                    'Money.php/f'    => array(),
+                    'MoneyBag.php/f' => array()
+                )
+            ),
+            $method->invoke(
+                $this->factory,
+                array('src/Money.php' => array(), 'src/MoneyBag.php' => array())
+            )
+        );
+    }
+
+    /**
+     * @covers       PHP_CodeCoverage_Report_Factory::reducePaths
+     * @dataProvider reducePathsProvider
+     */
+    public function testReducePaths($reducedPaths, $commonPath, $paths)
+    {
+        $method = new ReflectionMethod(
+            'PHP_CodeCoverage_Report_Factory',
+            'reducePaths'
+        );
+
+        $method->setAccessible(true);
+
+        $_commonPath = $method->invokeArgs($this->factory, array(&$paths));
+
+        $this->assertEquals($reducedPaths, $paths);
+        $this->assertEquals($commonPath, $_commonPath);
+    }
+
+    public function reducePathsProvider()
+    {
+        return array(
+            array(
+                array(
+                    'Money.php'    => array(),
+                    'MoneyBag.php' => array()
+                ),
+                '/home/sb/Money',
+                array(
+                    '/home/sb/Money/Money.php'    => array(),
+                    '/home/sb/Money/MoneyBag.php' => array()
+                )
+            ),
+            array(
+                array(
+                    'Money.php' => array()
+                ),
+                '/home/sb/Money/',
+                array(
+                    '/home/sb/Money/Money.php' => array()
+                )
+            ),
+            array(
+                array(),
+                '.',
+                array()
+            ),
+            array(
+                array(
+                    'Money.php'          => array(),
+                    'MoneyBag.php'       => array(),
+                    'Cash.phar/Cash.php' => array(),
+                ),
+                '/home/sb/Money',
+                array(
+                    '/home/sb/Money/Money.php'                 => array(),
+                    '/home/sb/Money/MoneyBag.php'              => array(),
+                    'phar:///home/sb/Money/Cash.phar/Cash.php' => array(),
+                ),
+            ),
+        );
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php
rename to vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverage/UtilTest.php
diff --git a/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
new file mode 100644
index 0000000..a755b88
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/PHP/CodeCoverageTest.php
@@ -0,0 +1,487 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+if (!defined('TEST_FILES_PATH')) {
+    define(
+        'TEST_FILES_PATH',
+        dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR .
+        '_files' . DIRECTORY_SEPARATOR
+    );
+}
+
+require_once TEST_FILES_PATH . '../TestCase.php';
+require_once TEST_FILES_PATH . 'BankAccount.php';
+require_once TEST_FILES_PATH . 'BankAccountTest.php';
+
+/**
+ * Tests for the PHP_CodeCoverage class.
+ *
+ * @since Class available since Release 1.0.0
+ */
+class PHP_CodeCoverageTest extends PHP_CodeCoverage_TestCase
+{
+    /**
+     * @var PHP_CodeCoverage
+     */
+    private $coverage;
+
+    protected function setUp()
+    {
+        $this->coverage = new PHP_CodeCoverage;
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::__construct
+     * @covers PHP_CodeCoverage::filter
+     */
+    public function testConstructor()
+    {
+        $this->assertAttributeInstanceOf(
+            'PHP_CodeCoverage_Driver_Xdebug',
+            'driver',
+            $this->coverage
+        );
+
+        $this->assertAttributeInstanceOf(
+            'PHP_CodeCoverage_Filter',
+            'filter',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::__construct
+     * @covers PHP_CodeCoverage::filter
+     */
+    public function testConstructor2()
+    {
+        $filter   = new PHP_CodeCoverage_Filter;
+        $coverage = new PHP_CodeCoverage(null, $filter);
+
+        $this->assertAttributeInstanceOf(
+            'PHP_CodeCoverage_Driver_Xdebug',
+            'driver',
+            $coverage
+        );
+
+        $this->assertSame($filter, $coverage->filter());
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::start
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testStartThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->start(null, array(), null);
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::stop
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testStopThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->stop(null);
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::stop
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testStopThrowsExceptionForInvalidArgument2()
+    {
+        $this->coverage->stop(true, null);
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::append
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testAppendThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->append(array(), null);
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setCacheTokens
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetCacheTokensThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setCacheTokens(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setCacheTokens
+     */
+    public function testSetCacheTokens()
+    {
+        $this->coverage->setCacheTokens(true);
+        $this->assertAttributeEquals(true, 'cacheTokens', $this->coverage);
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetCheckForUnintentionallyCoveredCodeThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setCheckForUnintentionallyCoveredCode(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setCheckForUnintentionallyCoveredCode
+     */
+    public function testSetCheckForUnintentionallyCoveredCode()
+    {
+        $this->coverage->setCheckForUnintentionallyCoveredCode(true);
+        $this->assertAttributeEquals(
+            true,
+            'checkForUnintentionallyCoveredCode',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setForceCoversAnnotation
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetForceCoversAnnotationThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setForceCoversAnnotation(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setForceCoversAnnotation
+     */
+    public function testSetForceCoversAnnotation()
+    {
+        $this->coverage->setForceCoversAnnotation(true);
+        $this->assertAttributeEquals(
+            true,
+            'forceCoversAnnotation',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetAddUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setAddUncoveredFilesFromWhitelist(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setAddUncoveredFilesFromWhitelist
+     */
+    public function testSetAddUncoveredFilesFromWhitelist()
+    {
+        $this->coverage->setAddUncoveredFilesFromWhitelist(true);
+        $this->assertAttributeEquals(
+            true,
+            'addUncoveredFilesFromWhitelist',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetProcessUncoveredFilesFromWhitelistThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setProcessUncoveredFilesFromWhitelist(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setProcessUncoveredFilesFromWhitelist
+     */
+    public function testSetProcessUncoveredFilesFromWhitelist()
+    {
+        $this->coverage->setProcessUncoveredFilesFromWhitelist(true);
+        $this->assertAttributeEquals(
+            true,
+            'processUncoveredFilesFromWhitelist',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
+     */
+    public function testSetMapTestClassNameToCoveredClassName()
+    {
+        $this->coverage->setMapTestClassNameToCoveredClassName(true);
+        $this->assertAttributeEquals(
+            true,
+            'mapTestClassNameToCoveredClassName',
+            $this->coverage
+        );
+    }
+
+    /**
+     * @covers            PHP_CodeCoverage::setMapTestClassNameToCoveredClassName
+     * @expectedException PHP_CodeCoverage_Exception
+     */
+    public function testSetMapTestClassNameToCoveredClassNameThrowsExceptionForInvalidArgument()
+    {
+        $this->coverage->setMapTestClassNameToCoveredClassName(null);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::clear
+     */
+    public function testClear()
+    {
+        $this->coverage->clear();
+
+        $this->assertAttributeEquals(null, 'currentId', $this->coverage);
+        $this->assertAttributeEquals(array(), 'data', $this->coverage);
+        $this->assertAttributeEquals(array(), 'tests', $this->coverage);
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::start
+     * @covers PHP_CodeCoverage::stop
+     * @covers PHP_CodeCoverage::append
+     * @covers PHP_CodeCoverage::applyListsFilter
+     * @covers PHP_CodeCoverage::initializeFilesThatAreSeenTheFirstTime
+     * @covers PHP_CodeCoverage::applyCoversAnnotationFilter
+     * @covers PHP_CodeCoverage::getTests
+     */
+    public function testCollect()
+    {
+        $coverage = $this->getCoverageForBankAccount();
+
+        $this->assertEquals(
+            $this->getExpectedDataArrayForBankAccount(),
+            $coverage->getData()
+        );
+
+        if (version_compare(PHPUnit_Runner_Version::id(), '4.7', '>=')) {
+            $size = 'unknown';
+        } else {
+            $size = 'small';
+        }
+
+        $this->assertEquals(
+            array(
+                'BankAccountTest::testBalanceIsInitiallyZero'       => array('size' => $size, 'status' => null),
+                'BankAccountTest::testBalanceCannotBecomeNegative'  => array('size' => $size, 'status' => null),
+                'BankAccountTest::testBalanceCannotBecomeNegative2' => array('size' => $size, 'status' => null),
+                'BankAccountTest::testDepositWithdrawMoney'         => array('size' => $size, 'status' => null)
+            ),
+            $coverage->getTests()
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getData
+     * @covers PHP_CodeCoverage::merge
+     */
+    public function testMerge()
+    {
+        $coverage = $this->getCoverageForBankAccountForFirstTwoTests();
+        $coverage->merge($this->getCoverageForBankAccountForLastTwoTests());
+
+        $this->assertEquals(
+            $this->getExpectedDataArrayForBankAccount(),
+            $coverage->getData()
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getData
+     * @covers PHP_CodeCoverage::merge
+     */
+    public function testMerge2()
+    {
+        $coverage = new PHP_CodeCoverage(
+            $this->getMock('PHP_CodeCoverage_Driver_Xdebug'),
+            new PHP_CodeCoverage_Filter
+        );
+
+        $coverage->merge($this->getCoverageForBankAccount());
+
+        $this->assertEquals(
+            $this->getExpectedDataArrayForBankAccount(),
+            $coverage->getData()
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getLinesToBeIgnored
+     */
+    public function testGetLinesToBeIgnored()
+    {
+        $this->assertEquals(
+            array(
+                1,
+                3,
+                4,
+                5,
+                7,
+                8,
+                9,
+                10,
+                11,
+                12,
+                13,
+                14,
+                15,
+                16,
+                17,
+                18,
+                19,
+                20,
+                21,
+                22,
+                23,
+                24,
+                25,
+                26,
+                27,
+                28,
+                30,
+                32,
+                33,
+                34,
+                35,
+                36,
+                37,
+                38
+            ),
+            $this->getLinesToBeIgnored()->invoke(
+                $this->coverage,
+                TEST_FILES_PATH . 'source_with_ignore.php'
+            )
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getLinesToBeIgnored
+     */
+    public function testGetLinesToBeIgnored2()
+    {
+        $this->assertEquals(
+            array(1, 5),
+            $this->getLinesToBeIgnored()->invoke(
+                $this->coverage,
+                TEST_FILES_PATH . 'source_without_ignore.php'
+            )
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getLinesToBeIgnored
+     */
+    public function testGetLinesToBeIgnored3()
+    {
+        $this->assertEquals(
+            array(
+                1,
+                2,
+                3,
+                4,
+                5,
+                8,
+                11,
+                15,
+                16,
+                19,
+                20
+            ),
+            $this->getLinesToBeIgnored()->invoke(
+                $this->coverage,
+                TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php'
+            )
+        );
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getLinesToBeIgnored
+     */
+    public function testGetLinesToBeIgnoredOneLineAnnotations()
+    {
+        $this->assertEquals(
+            array(
+                1,
+                2,
+                3,
+                4,
+                5,
+                6,
+                7,
+                8,
+                9,
+                10,
+                11,
+                12,
+                13,
+                14,
+                15,
+                16,
+                18,
+                20,
+                21,
+                23,
+                24,
+                25,
+                27,
+                28,
+                29,
+                30,
+                31,
+                32,
+                33,
+                34,
+                37
+            ),
+            $this->getLinesToBeIgnored()->invoke(
+                $this->coverage,
+                TEST_FILES_PATH . 'source_with_oneline_annotations.php'
+            )
+        );
+    }
+
+    /**
+     * @return ReflectionMethod
+     */
+    private function getLinesToBeIgnored()
+    {
+        $getLinesToBeIgnored = new ReflectionMethod(
+            'PHP_CodeCoverage',
+            'getLinesToBeIgnored'
+        );
+
+        $getLinesToBeIgnored->setAccessible(true);
+
+        return $getLinesToBeIgnored;
+    }
+
+    /**
+     * @covers PHP_CodeCoverage::getLinesToBeIgnored
+     */
+    public function testGetLinesToBeIgnoredWhenIgnoreIsDisabled()
+    {
+        $this->coverage->setDisableIgnoredLines(true);
+
+        $this->assertEquals(
+            array(),
+            $this->getLinesToBeIgnored()->invoke(
+                $this->coverage,
+                TEST_FILES_PATH . 'source_with_ignore.php'
+            )
+        );
+    }
+}
diff --git a/vendor/phpunit/php-code-coverage/tests/TestCase.php b/vendor/phpunit/php-code-coverage/tests/TestCase.php
new file mode 100644
index 0000000..f982428
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/TestCase.php
@@ -0,0 +1,311 @@
+<?php
+/*
+ * This file is part of the PHP_CodeCoverage package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Abstract base class for test case classes.
+ *
+ * @since Class available since Release 1.0.0
+ */
+abstract class PHP_CodeCoverage_TestCase extends PHPUnit_Framework_TestCase
+{
+    protected function getXdebugDataForBankAccount()
+    {
+        return array(
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array(
+                    8  => 1,
+                    9  => -2,
+                    13 => -1,
+                    14 => -1,
+                    15 => -1,
+                    16 => -1,
+                    18 => -1,
+                    22 => -1,
+                    24 => -1,
+                    25 => -2,
+                    29 => -1,
+                    31 => -1,
+                    32 => -2
+                )
+            ),
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array(
+                    8  => 1,
+                    13 => 1,
+                    16 => 1,
+                    29 => 1,
+                )
+            ),
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array(
+                    8  => 1,
+                    13 => 1,
+                    16 => 1,
+                    22 => 1,
+                )
+            ),
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array(
+                    8  => 1,
+                    13 => 1,
+                    14 => 1,
+                    15 => 1,
+                    18 => 1,
+                    22 => 1,
+                    24 => 1,
+                    29 => 1,
+                    31 => 1,
+                )
+            )
+        );
+    }
+
+    protected function getCoverageForBankAccount()
+    {
+        $data = $this->getXdebugDataForBankAccount();
+
+        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
+        $stub->expects($this->any())
+            ->method('stop')
+            ->will($this->onConsecutiveCalls(
+                $data[0],
+                $data[1],
+                $data[2],
+                $data[3]
+            ));
+
+        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
+
+        $coverage->start(
+            new BankAccountTest('testBalanceIsInitiallyZero'),
+            true
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
+        );
+
+        $coverage->start(
+            new BankAccountTest('testBalanceCannotBecomeNegative')
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
+        );
+
+        $coverage->start(
+            new BankAccountTest('testBalanceCannotBecomeNegative2')
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
+        );
+
+        $coverage->start(
+            new BankAccountTest('testDepositWithdrawMoney')
+        );
+
+        $coverage->stop(
+            true,
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array_merge(
+                    range(6, 9),
+                    range(20, 25),
+                    range(27, 32)
+                )
+            )
+        );
+
+        return $coverage;
+    }
+
+    protected function getCoverageForBankAccountForFirstTwoTests()
+    {
+        $data = $this->getXdebugDataForBankAccount();
+
+        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
+        $stub->expects($this->any())
+            ->method('stop')
+            ->will($this->onConsecutiveCalls(
+                $data[0],
+                $data[1]
+            ));
+
+        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
+
+        $coverage->start(
+            new BankAccountTest('testBalanceIsInitiallyZero'),
+            true
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(6, 9))
+        );
+
+        $coverage->start(
+            new BankAccountTest('testBalanceCannotBecomeNegative')
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(27, 32))
+        );
+
+        return $coverage;
+    }
+
+    protected function getCoverageForBankAccountForLastTwoTests()
+    {
+        $data = $this->getXdebugDataForBankAccount();
+
+        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
+        $stub->expects($this->any())
+            ->method('stop')
+            ->will($this->onConsecutiveCalls(
+                $data[2],
+                $data[3]
+            ));
+
+        $coverage = new PHP_CodeCoverage($stub, new PHP_CodeCoverage_Filter);
+
+        $coverage->start(
+            new BankAccountTest('testBalanceCannotBecomeNegative2')
+        );
+
+        $coverage->stop(
+            true,
+            array(TEST_FILES_PATH . 'BankAccount.php' => range(20, 25))
+        );
+
+        $coverage->start(
+            new BankAccountTest('testDepositWithdrawMoney')
+        );
+
+        $coverage->stop(
+            true,
+            array(
+                TEST_FILES_PATH . 'BankAccount.php' => array_merge(
+                    range(6, 9),
+                    range(20, 25),
+                    range(27, 32)
+                )
+            )
+        );
+
+        return $coverage;
+    }
+
+    protected function getExpectedDataArrayForBankAccount()
+    {
+        return array(
+            TEST_FILES_PATH . 'BankAccount.php' => array(
+                8 => array(
+                    0 => 'BankAccountTest::testBalanceIsInitiallyZero',
+                    1 => 'BankAccountTest::testDepositWithdrawMoney'
+                ),
+                9  => null,
+                13 => array(),
+                14 => array(),
+                15 => array(),
+                16 => array(),
+                18 => array(),
+                22 => array(
+                    0 => 'BankAccountTest::testBalanceCannotBecomeNegative2',
+                    1 => 'BankAccountTest::testDepositWithdrawMoney'
+                ),
+                24 => array(
+                    0 => 'BankAccountTest::testDepositWithdrawMoney',
+                ),
+                25 => null,
+                29 => array(
+                    0 => 'BankAccountTest::testBalanceCannotBecomeNegative',
+                    1 => 'BankAccountTest::testDepositWithdrawMoney'
+                ),
+                31 => array(
+                    0 => 'BankAccountTest::testDepositWithdrawMoney'
+                ),
+                32 => null
+            )
+        );
+    }
+
+    protected function getCoverageForFileWithIgnoredLines()
+    {
+        $coverage = new PHP_CodeCoverage(
+            $this->setUpXdebugStubForFileWithIgnoredLines(),
+            new PHP_CodeCoverage_Filter
+        );
+
+        $coverage->start('FileWithIgnoredLines', true);
+        $coverage->stop();
+
+        return $coverage;
+    }
+
+    protected function setUpXdebugStubForFileWithIgnoredLines()
+    {
+        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
+        $stub->expects($this->any())
+            ->method('stop')
+            ->will($this->returnValue(
+                array(
+                    TEST_FILES_PATH . 'source_with_ignore.php' => array(
+                        2 => 1,
+                        4 => -1,
+                        6 => -1,
+                        7 => 1
+                    )
+                )
+            ));
+
+        return $stub;
+    }
+
+    protected function getCoverageForClassWithAnonymousFunction()
+    {
+        $coverage = new PHP_CodeCoverage(
+            $this->setUpXdebugStubForClassWithAnonymousFunction(),
+            new PHP_CodeCoverage_Filter
+        );
+
+        $coverage->start('ClassWithAnonymousFunction', true);
+        $coverage->stop();
+
+        return $coverage;
+    }
+
+    protected function setUpXdebugStubForClassWithAnonymousFunction()
+    {
+        $stub = $this->getMock('PHP_CodeCoverage_Driver_Xdebug');
+        $stub->expects($this->any())
+            ->method('stop')
+            ->will($this->returnValue(
+                array(
+                    TEST_FILES_PATH . 'source_with_class_and_anonymous_function.php' => array(
+                        7  => 1,
+                        9  => 1,
+                        10 => -1,
+                        11 => 1,
+                        12 => 1,
+                        13 => 1,
+                        14 => 1,
+                        17 => 1,
+                        18 => 1
+                    )
+                )
+            ));
+
+        return $stub;
+    }
+}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml
rename to vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php b/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php
rename to vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php b/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php b/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php
diff --git a/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php b/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
new file mode 100644
index 0000000..7ffc5c9
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * @coversDefaultClass \NamespaceOne
+ * @coversDefaultClass \AnotherDefault\Name\Space\Does\Not\Work
+ */
+class CoverageTwoDefaultClassAnnotations
+{
+    /**
+     * @covers Foo\CoveredClass::<public>
+     */
+    public function testSomething()
+    {
+        $o = new Foo\CoveredClass;
+        $o->publicMethod();
+    }
+
+}
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveredClass.php b/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoveredClass.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php b/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php
rename to vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php b/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php b/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php
rename to vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml
rename to vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml b/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml
rename to vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php b/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php
rename to vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php b/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php
rename to vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php
diff --git a/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php b/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
new file mode 100644
index 0000000..fb9dfa3
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php
@@ -0,0 +1,20 @@
+<?php
+namespace bar\baz;
+
+/**
+ * Represents foo.
+ */
+class source_with_namespace
+{
+}
+
+/**
+ * @param mixed $bar
+ */
+function &foo($bar)
+{
+    $baz = function () {};
+    $a   = true ? true : false;
+    $b   = "{$a}";
+    $c   = "${b}";
+}
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php b/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php
rename to vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php b/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php
rename to vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php
diff --git a/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php b/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
new file mode 100644
index 0000000..a291e74
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Represents foo.
+ */
+class Foo
+{
+}
+
+/**
+ * @param mixed $bar
+ */
+function &foo($bar)
+{
+    $baz = function () {};
+    $a   = true ? true : false;
+    $b   = "{$a}";
+    $c   = "${b}";
+}
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.gitattributes b/vendor/phpunit/php-file-iterator/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/.gitattributes
rename to vendor/phpunit/php-file-iterator/.gitattributes
diff --git a/core/vendor/phpunit/php-timer/.gitignore b/vendor/phpunit/php-file-iterator/.gitignore
similarity index 100%
rename from core/vendor/phpunit/php-timer/.gitignore
rename to vendor/phpunit/php-file-iterator/.gitignore
diff --git a/core/vendor/phpunit/php-file-iterator/ChangeLog.md b/vendor/phpunit/php-file-iterator/ChangeLog.md
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/ChangeLog.md
rename to vendor/phpunit/php-file-iterator/ChangeLog.md
diff --git a/core/vendor/phpunit/php-file-iterator/LICENSE b/vendor/phpunit/php-file-iterator/LICENSE
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/LICENSE
rename to vendor/phpunit/php-file-iterator/LICENSE
diff --git a/core/vendor/phpunit/php-file-iterator/README.md b/vendor/phpunit/php-file-iterator/README.md
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/README.md
rename to vendor/phpunit/php-file-iterator/README.md
diff --git a/core/vendor/phpunit/php-file-iterator/composer.json b/vendor/phpunit/php-file-iterator/composer.json
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/composer.json
rename to vendor/phpunit/php-file-iterator/composer.json
diff --git a/core/vendor/phpunit/php-file-iterator/src/Facade.php b/vendor/phpunit/php-file-iterator/src/Facade.php
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/src/Facade.php
rename to vendor/phpunit/php-file-iterator/src/Facade.php
diff --git a/core/vendor/phpunit/php-file-iterator/src/Factory.php b/vendor/phpunit/php-file-iterator/src/Factory.php
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/src/Factory.php
rename to vendor/phpunit/php-file-iterator/src/Factory.php
diff --git a/core/vendor/phpunit/php-file-iterator/src/Iterator.php b/vendor/phpunit/php-file-iterator/src/Iterator.php
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/src/Iterator.php
rename to vendor/phpunit/php-file-iterator/src/Iterator.php
diff --git a/core/vendor/phpunit/php-token-stream/.gitattributes b/vendor/phpunit/php-text-template/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/.gitattributes
rename to vendor/phpunit/php-text-template/.gitattributes
diff --git a/core/vendor/phpunit/php-text-template/.gitignore b/vendor/phpunit/php-text-template/.gitignore
similarity index 100%
rename from core/vendor/phpunit/php-text-template/.gitignore
rename to vendor/phpunit/php-text-template/.gitignore
diff --git a/core/vendor/phpunit/php-text-template/LICENSE b/vendor/phpunit/php-text-template/LICENSE
similarity index 100%
rename from core/vendor/phpunit/php-text-template/LICENSE
rename to vendor/phpunit/php-text-template/LICENSE
diff --git a/core/vendor/phpunit/php-text-template/README.md b/vendor/phpunit/php-text-template/README.md
similarity index 100%
rename from core/vendor/phpunit/php-text-template/README.md
rename to vendor/phpunit/php-text-template/README.md
diff --git a/core/vendor/phpunit/php-text-template/composer.json b/vendor/phpunit/php-text-template/composer.json
similarity index 100%
rename from core/vendor/phpunit/php-text-template/composer.json
rename to vendor/phpunit/php-text-template/composer.json
diff --git a/core/vendor/phpunit/php-text-template/src/Template.php b/vendor/phpunit/php-text-template/src/Template.php
similarity index 100%
rename from core/vendor/phpunit/php-text-template/src/Template.php
rename to vendor/phpunit/php-text-template/src/Template.php
diff --git a/core/vendor/phpunit/php-timer/.gitattributes b/vendor/phpunit/php-timer/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/php-timer/.gitattributes
rename to vendor/phpunit/php-timer/.gitattributes
diff --git a/core/vendor/phpunit/php-file-iterator/.gitignore b/vendor/phpunit/php-timer/.gitignore
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/.gitignore
rename to vendor/phpunit/php-timer/.gitignore
diff --git a/core/vendor/phpunit/php-timer/.travis.yml b/vendor/phpunit/php-timer/.travis.yml
similarity index 100%
rename from core/vendor/phpunit/php-timer/.travis.yml
rename to vendor/phpunit/php-timer/.travis.yml
diff --git a/core/vendor/phpunit/php-timer/LICENSE b/vendor/phpunit/php-timer/LICENSE
similarity index 100%
rename from core/vendor/phpunit/php-timer/LICENSE
rename to vendor/phpunit/php-timer/LICENSE
diff --git a/core/vendor/phpunit/php-timer/README.md b/vendor/phpunit/php-timer/README.md
similarity index 100%
rename from core/vendor/phpunit/php-timer/README.md
rename to vendor/phpunit/php-timer/README.md
diff --git a/core/vendor/phpunit/php-timer/composer.json b/vendor/phpunit/php-timer/composer.json
similarity index 100%
rename from core/vendor/phpunit/php-timer/composer.json
rename to vendor/phpunit/php-timer/composer.json
diff --git a/core/vendor/phpunit/php-timer/src/Timer.php b/vendor/phpunit/php-timer/src/Timer.php
similarity index 100%
rename from core/vendor/phpunit/php-timer/src/Timer.php
rename to vendor/phpunit/php-timer/src/Timer.php
diff --git a/core/vendor/phpunit/php-timer/Tests/TimerTest.php b/vendor/phpunit/php-timer/tests/TimerTest.php
similarity index 100%
rename from core/vendor/phpunit/php-timer/Tests/TimerTest.php
rename to vendor/phpunit/php-timer/tests/TimerTest.php
diff --git a/core/vendor/phpunit/php-text-template/.gitattributes b/vendor/phpunit/php-token-stream/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/php-text-template/.gitattributes
rename to vendor/phpunit/php-token-stream/.gitattributes
diff --git a/core/vendor/phpunit/php-token-stream/.gitignore b/vendor/phpunit/php-token-stream/.gitignore
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/.gitignore
rename to vendor/phpunit/php-token-stream/.gitignore
diff --git a/vendor/phpunit/php-token-stream/.travis.yml b/vendor/phpunit/php-token-stream/.travis.yml
new file mode 100644
index 0000000..11dedef
--- /dev/null
+++ b/vendor/phpunit/php-token-stream/.travis.yml
@@ -0,0 +1,35 @@
+language: php
+
+php:
+  - 5.3.3
+  - 5.3
+  - 5.4
+  - 5.5
+  - 5.6
+  - 7.0
+  - hhvm
+
+matrix:
+  allow_failures:
+    - php: hhvm
+
+sudo: false
+
+before_install:
+  - composer self-update
+
+install:
+  - travis_retry composer install --no-interaction --prefer-source
+
+script:
+  - ./vendor/bin/phpunit --configuration ./build/phpunit.xml
+
+notifications:
+  email: false
+  webhooks:
+    urls:
+      - https://webhooks.gitter.im/e/6668f52f3dd4e3f81960
+    on_success: always
+    on_failure: always
+    on_start: false
+
diff --git a/core/vendor/phpunit/php-token-stream/LICENSE b/vendor/phpunit/php-token-stream/LICENSE
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/LICENSE
rename to vendor/phpunit/php-token-stream/LICENSE
diff --git a/core/vendor/phpunit/php-token-stream/README.md b/vendor/phpunit/php-token-stream/README.md
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/README.md
rename to vendor/phpunit/php-token-stream/README.md
diff --git a/core/vendor/phpunit/php-token-stream/build.xml b/vendor/phpunit/php-token-stream/build.xml
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/build.xml
rename to vendor/phpunit/php-token-stream/build.xml
diff --git a/core/vendor/phpunit/php-token-stream/build/phpunit.xml b/vendor/phpunit/php-token-stream/build/phpunit.xml
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/build/phpunit.xml
rename to vendor/phpunit/php-token-stream/build/phpunit.xml
diff --git a/core/vendor/phpunit/php-token-stream/composer.json b/vendor/phpunit/php-token-stream/composer.json
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/composer.json
rename to vendor/phpunit/php-token-stream/composer.json
diff --git a/core/vendor/phpunit/php-token-stream/src/Token.php b/vendor/phpunit/php-token-stream/src/Token.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/src/Token.php
rename to vendor/phpunit/php-token-stream/src/Token.php
diff --git a/vendor/phpunit/php-token-stream/src/Token/Stream.php b/vendor/phpunit/php-token-stream/src/Token/Stream.php
new file mode 100644
index 0000000..59a9c29
--- /dev/null
+++ b/vendor/phpunit/php-token-stream/src/Token/Stream.php
@@ -0,0 +1,606 @@
+<?php
+/*
+ * This file is part of the PHP_TokenStream package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * A stream of PHP tokens.
+ *
+ * @author    Sebastian Bergmann <sebastian@phpunit.de>
+ * @copyright Sebastian Bergmann <sebastian@phpunit.de>
+ * @license   http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @link      http://github.com/sebastianbergmann/php-token-stream/tree
+ * @since     Class available since Release 1.0.0
+ */
+class PHP_Token_Stream implements ArrayAccess, Countable, SeekableIterator
+{
+    /**
+     * @var array
+     */
+    protected static $customTokens = array(
+        '(' => 'PHP_Token_OPEN_BRACKET',
+        ')' => 'PHP_Token_CLOSE_BRACKET',
+        '[' => 'PHP_Token_OPEN_SQUARE',
+        ']' => 'PHP_Token_CLOSE_SQUARE',
+        '{' => 'PHP_Token_OPEN_CURLY',
+        '}' => 'PHP_Token_CLOSE_CURLY',
+        ';' => 'PHP_Token_SEMICOLON',
+        '.' => 'PHP_Token_DOT',
+        ',' => 'PHP_Token_COMMA',
+        '=' => 'PHP_Token_EQUAL',
+        '<' => 'PHP_Token_LT',
+        '>' => 'PHP_Token_GT',
+        '+' => 'PHP_Token_PLUS',
+        '-' => 'PHP_Token_MINUS',
+        '*' => 'PHP_Token_MULT',
+        '/' => 'PHP_Token_DIV',
+        '?' => 'PHP_Token_QUESTION_MARK',
+        '!' => 'PHP_Token_EXCLAMATION_MARK',
+        ':' => 'PHP_Token_COLON',
+        '"' => 'PHP_Token_DOUBLE_QUOTES',
+        '@' => 'PHP_Token_AT',
+        '&' => 'PHP_Token_AMPERSAND',
+        '%' => 'PHP_Token_PERCENT',
+        '|' => 'PHP_Token_PIPE',
+        '$' => 'PHP_Token_DOLLAR',
+        '^' => 'PHP_Token_CARET',
+        '~' => 'PHP_Token_TILDE',
+        '`' => 'PHP_Token_BACKTICK'
+    );
+
+    /**
+     * @var string
+     */
+    protected $filename;
+
+    /**
+     * @var array
+     */
+    protected $tokens = array();
+
+    /**
+     * @var integer
+     */
+    protected $position = 0;
+
+    /**
+     * @var array
+     */
+    protected $linesOfCode = array('loc' => 0, 'cloc' => 0, 'ncloc' => 0);
+
+    /**
+     * @var array
+     */
+    protected $classes;
+
+    /**
+     * @var array
+     */
+    protected $functions;
+
+    /**
+     * @var array
+     */
+    protected $includes;
+
+    /**
+     * @var array
+     */
+    protected $interfaces;
+
+    /**
+     * @var array
+     */
+    protected $traits;
+
+    /**
+     * @var array
+     */
+    protected $lineToFunctionMap = array();
+
+    /**
+     * Constructor.
+     *
+     * @param string $sourceCode
+     */
+    public function __construct($sourceCode)
+    {
+        if (is_file($sourceCode)) {
+            $this->filename = $sourceCode;
+            $sourceCode     = file_get_contents($sourceCode);
+        }
+
+        $this->scan($sourceCode);
+    }
+
+    /**
+     * Destructor.
+     */
+    public function __destruct()
+    {
+        $this->tokens = array();
+    }
+
+    /**
+     * @return string
+     */
+    public function __toString()
+    {
+        $buffer = '';
+
+        foreach ($this as $token) {
+            $buffer .= $token;
+        }
+
+        return $buffer;
+    }
+
+    /**
+     * @return string
+     * @since  Method available since Release 1.1.0
+     */
+    public function getFilename()
+    {
+        return $this->filename;
+    }
+
+    /**
+     * Scans the source for sequences of characters and converts them into a
+     * stream of tokens.
+     *
+     * @param string $sourceCode
+     */
+    protected function scan($sourceCode)
+    {
+        $line      = 1;
+        $tokens    = token_get_all($sourceCode);
+        $numTokens = count($tokens);
+
+        $lastNonWhitespaceTokenWasDoubleColon = false;
+
+        for ($i = 0; $i < $numTokens; ++$i) {
+            $token = $tokens[$i];
+            unset($tokens[$i]);
+
+            if (is_array($token)) {
+                $name = substr(token_name($token[0]), 2);
+                $text = $token[1];
+
+                if ($lastNonWhitespaceTokenWasDoubleColon && $name == 'CLASS') {
+                    $name = 'CLASS_NAME_CONSTANT';
+                }
+
+                $tokenClass = 'PHP_Token_' . $name;
+            } else {
+                $text       = $token;
+                $tokenClass = self::$customTokens[$token];
+            }
+
+            $this->tokens[] = new $tokenClass($text, $line, $this, $i);
+            $lines          = substr_count($text, "\n");
+            $line          += $lines;
+
+            if ($tokenClass == 'PHP_Token_HALT_COMPILER') {
+                break;
+            } elseif ($tokenClass == 'PHP_Token_COMMENT' ||
+                $tokenClass == 'PHP_Token_DOC_COMMENT') {
+                $this->linesOfCode['cloc'] += $lines + 1;
+            }
+
+            if ($name == 'DOUBLE_COLON') {
+                $lastNonWhitespaceTokenWasDoubleColon = true;
+            } elseif ($name != 'WHITESPACE') {
+                $lastNonWhitespaceTokenWasDoubleColon = false;
+            }
+        }
+
+        $this->linesOfCode['loc']   = substr_count($sourceCode, "\n");
+        $this->linesOfCode['ncloc'] = $this->linesOfCode['loc'] -
+                                      $this->linesOfCode['cloc'];
+    }
+
+    /**
+     * @return integer
+     */
+    public function count()
+    {
+        return count($this->tokens);
+    }
+
+    /**
+     * @return PHP_Token[]
+     */
+    public function tokens()
+    {
+        return $this->tokens;
+    }
+
+    /**
+     * @return array
+     */
+    public function getClasses()
+    {
+        if ($this->classes !== null) {
+            return $this->classes;
+        }
+
+        $this->parse();
+
+        return $this->classes;
+    }
+
+    /**
+     * @return array
+     */
+    public function getFunctions()
+    {
+        if ($this->functions !== null) {
+            return $this->functions;
+        }
+
+        $this->parse();
+
+        return $this->functions;
+    }
+
+    /**
+     * @return array
+     */
+    public function getInterfaces()
+    {
+        if ($this->interfaces !== null) {
+            return $this->interfaces;
+        }
+
+        $this->parse();
+
+        return $this->interfaces;
+    }
+
+    /**
+     * @return array
+     * @since  Method available since Release 1.1.0
+     */
+    public function getTraits()
+    {
+        if ($this->traits !== null) {
+            return $this->traits;
+        }
+
+        $this->parse();
+
+        return $this->traits;
+    }
+
+    /**
+     * Gets the names of all files that have been included
+     * using include(), include_once(), require() or require_once().
+     *
+     * Parameter $categorize set to TRUE causing this function to return a
+     * multi-dimensional array with categories in the keys of the first dimension
+     * and constants and their values in the second dimension.
+     *
+     * Parameter $category allow to filter following specific inclusion type
+     *
+     * @param bool   $categorize OPTIONAL
+     * @param string $category   OPTIONAL Either 'require_once', 'require',
+     *                                           'include_once', 'include'.
+     * @return array
+     * @since  Method available since Release 1.1.0
+     */
+    public function getIncludes($categorize = false, $category = null)
+    {
+        if ($this->includes === null) {
+            $this->includes = array(
+              'require_once' => array(),
+              'require'      => array(),
+              'include_once' => array(),
+              'include'      => array()
+            );
+
+            foreach ($this->tokens as $token) {
+                switch (get_class($token)) {
+                    case 'PHP_Token_REQUIRE_ONCE':
+                    case 'PHP_Token_REQUIRE':
+                    case 'PHP_Token_INCLUDE_ONCE':
+                    case 'PHP_Token_INCLUDE':
+                        $this->includes[$token->getType()][] = $token->getName();
+                        break;
+                }
+            }
+        }
+
+        if (isset($this->includes[$category])) {
+            $includes = $this->includes[$category];
+        } elseif ($categorize === false) {
+            $includes = array_merge(
+                $this->includes['require_once'],
+                $this->includes['require'],
+                $this->includes['include_once'],
+                $this->includes['include']
+            );
+        } else {
+            $includes = $this->includes;
+        }
+
+        return $includes;
+    }
+
+    /**
+     * Returns the name of the function or method a line belongs to.
+     *
+     * @return string or null if the line is not in a function or method
+     * @since  Method available since Release 1.2.0
+     */
+    public function getFunctionForLine($line)
+    {
+        $this->parse();
+
+        if (isset($this->lineToFunctionMap[$line])) {
+            return $this->lineToFunctionMap[$line];
+        }
+    }
+
+    protected function parse()
+    {
+        $this->interfaces = array();
+        $this->classes    = array();
+        $this->traits     = array();
+        $this->functions  = array();
+        $class            = array();
+        $classEndLine     = array();
+        $trait            = false;
+        $traitEndLine     = false;
+        $interface        = false;
+        $interfaceEndLine = false;
+
+        foreach ($this->tokens as $token) {
+            switch (get_class($token)) {
+                case 'PHP_Token_HALT_COMPILER':
+                    return;
+
+                case 'PHP_Token_INTERFACE':
+                    $interface        = $token->getName();
+                    $interfaceEndLine = $token->getEndLine();
+
+                    $this->interfaces[$interface] = array(
+                      'methods'   => array(),
+                      'parent'    => $token->getParent(),
+                      'keywords'  => $token->getKeywords(),
+                      'docblock'  => $token->getDocblock(),
+                      'startLine' => $token->getLine(),
+                      'endLine'   => $interfaceEndLine,
+                      'package'   => $token->getPackage(),
+                      'file'      => $this->filename
+                    );
+                    break;
+
+                case 'PHP_Token_CLASS':
+                case 'PHP_Token_TRAIT':
+                    $tmp = array(
+                      'methods'   => array(),
+                      'parent'    => $token->getParent(),
+                      'interfaces'=> $token->getInterfaces(),
+                      'keywords'  => $token->getKeywords(),
+                      'docblock'  => $token->getDocblock(),
+                      'startLine' => $token->getLine(),
+                      'endLine'   => $token->getEndLine(),
+                      'package'   => $token->getPackage(),
+                      'file'      => $this->filename
+                    );
+
+                    if ($token instanceof PHP_Token_CLASS) {
+                        $class[]        = $token->getName();
+                        $classEndLine[] = $token->getEndLine();
+
+                        if ($class[count($class)-1] != 'anonymous class') {
+                            $this->classes[$class[count($class)-1]] = $tmp;
+                        }
+                    } else {
+                        $trait                = $token->getName();
+                        $traitEndLine         = $token->getEndLine();
+                        $this->traits[$trait] = $tmp;
+                    }
+                    break;
+
+                case 'PHP_Token_FUNCTION':
+                    $name = $token->getName();
+                    $tmp  = array(
+                      'docblock'  => $token->getDocblock(),
+                      'keywords'  => $token->getKeywords(),
+                      'visibility'=> $token->getVisibility(),
+                      'signature' => $token->getSignature(),
+                      'startLine' => $token->getLine(),
+                      'endLine'   => $token->getEndLine(),
+                      'ccn'       => $token->getCCN(),
+                      'file'      => $this->filename
+                    );
+
+                    if (empty($class) &&
+                        $trait === false &&
+                        $interface === false) {
+                        $this->functions[$name] = $tmp;
+
+                        $this->addFunctionToMap(
+                            $name,
+                            $tmp['startLine'],
+                            $tmp['endLine']
+                        );
+                    } elseif (!empty($class) && $class[count($class)-1] != 'anonymous class') {
+                        $this->classes[$class[count($class)-1]]['methods'][$name] = $tmp;
+
+                        $this->addFunctionToMap(
+                            $class[count($class)-1] . '::' . $name,
+                            $tmp['startLine'],
+                            $tmp['endLine']
+                        );
+                    } elseif ($trait !== false) {
+                        $this->traits[$trait]['methods'][$name] = $tmp;
+
+                        $this->addFunctionToMap(
+                            $trait . '::' . $name,
+                            $tmp['startLine'],
+                            $tmp['endLine']
+                        );
+                    } else {
+                        $this->interfaces[$interface]['methods'][$name] = $tmp;
+                    }
+                    break;
+
+                case 'PHP_Token_CLOSE_CURLY':
+                    if (!empty($classEndLine) &&
+                        $classEndLine[count($classEndLine)-1] == $token->getLine()) {
+                        array_pop($classEndLine);
+                        array_pop($class);
+                    } elseif ($traitEndLine !== false &&
+                        $traitEndLine == $token->getLine()) {
+                        $trait        = false;
+                        $traitEndLine = false;
+                    } elseif ($interfaceEndLine !== false &&
+                        $interfaceEndLine == $token->getLine()) {
+                        $interface        = false;
+                        $interfaceEndLine = false;
+                    }
+                    break;
+            }
+        }
+    }
+
+    /**
+     * @return array
+     */
+    public function getLinesOfCode()
+    {
+        return $this->linesOfCode;
+    }
+
+    /**
+     */
+    public function rewind()
+    {
+        $this->position = 0;
+    }
+
+    /**
+     * @return boolean
+     */
+    public function valid()
+    {
+        return isset($this->tokens[$this->position]);
+    }
+
+    /**
+     * @return integer
+     */
+    public function key()
+    {
+        return $this->position;
+    }
+
+    /**
+     * @return PHP_Token
+     */
+    public function current()
+    {
+        return $this->tokens[$this->position];
+    }
+
+    /**
+     */
+    public function next()
+    {
+        $this->position++;
+    }
+
+    /**
+     * @param  integer $offset
+     * @return boolean
+     */
+    public function offsetExists($offset)
+    {
+        return isset($this->tokens[$offset]);
+    }
+
+    /**
+     * @param  integer $offset
+     * @return mixed
+     * @throws OutOfBoundsException
+     */
+    public function offsetGet($offset)
+    {
+        if (!$this->offsetExists($offset)) {
+            throw new OutOfBoundsException(
+                sprintf(
+                    'No token at position "%s"',
+                    $offset
+                )
+            );
+        }
+
+        return $this->tokens[$offset];
+    }
+
+    /**
+     * @param integer $offset
+     * @param mixed   $value
+     */
+    public function offsetSet($offset, $value)
+    {
+        $this->tokens[$offset] = $value;
+    }
+
+    /**
+     * @param  integer $offset
+     * @throws OutOfBoundsException
+     */
+    public function offsetUnset($offset)
+    {
+        if (!$this->offsetExists($offset)) {
+            throw new OutOfBoundsException(
+                sprintf(
+                    'No token at position "%s"',
+                    $offset
+                )
+            );
+        }
+
+        unset($this->tokens[$offset]);
+    }
+
+    /**
+     * Seek to an absolute position.
+     *
+     * @param  integer $position
+     * @throws OutOfBoundsException
+     */
+    public function seek($position)
+    {
+        $this->position = $position;
+
+        if (!$this->valid()) {
+            throw new OutOfBoundsException(
+                sprintf(
+                    'No token at position "%s"',
+                    $this->position
+                )
+            );
+        }
+    }
+
+    /**
+     * @param string  $name
+     * @param integer $startLine
+     * @param integer $endLine
+     */
+    private function addFunctionToMap($name, $startLine, $endLine)
+    {
+        for ($line = $startLine; $line <= $endLine; $line++) {
+            $this->lineToFunctionMap[$line] = $name;
+        }
+    }
+}
diff --git a/core/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php b/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php
rename to vendor/phpunit/php-token-stream/src/Token/Stream/CachingFactory.php
diff --git a/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php b/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
new file mode 100644
index 0000000..4ba0296
--- /dev/null
+++ b/vendor/phpunit/php-token-stream/tests/Token/ClassTest.php
@@ -0,0 +1,112 @@
+<?php
+/*
+ * This file is part of the PHP_TokenStream package.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Tests for the PHP_Token_CLASS class.
+ *
+ * @package    PHP_TokenStream
+ * @subpackage Tests
+ * @author     Laurent Laville <pear@laurent-laville.org>
+ * @copyright  Sebastian Bergmann <sebastian@phpunit.de>
+ * @license    http://www.opensource.org/licenses/BSD-3-Clause  The BSD 3-Clause License
+ * @version    Release: @package_version@
+ * @link       http://github.com/sebastianbergmann/php-token-stream/
+ * @since      Class available since Release 1.0.2
+ */
+class PHP_Token_ClassTest extends PHPUnit_Framework_TestCase
+{
+    protected $class;
+    protected $function;
+
+    protected function setUp()
+    {
+        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'source2.php');
+
+        foreach ($ts as $token) {
+            if ($token instanceof PHP_Token_CLASS) {
+                $this->class = $token;
+            }
+
+            if ($token instanceof PHP_Token_FUNCTION) {
+                $this->function = $token;
+                break;
+            }
+        }
+    }
+
+    /**
+     * @covers PHP_Token_CLASS::getKeywords
+     */
+    public function testGetClassKeywords()
+    {
+        $this->assertEquals('abstract', $this->class->getKeywords());
+    }
+
+    /**
+     * @covers PHP_Token_FUNCTION::getKeywords
+     */
+    public function testGetFunctionKeywords()
+    {
+        $this->assertEquals('abstract,static', $this->function->getKeywords());
+    }
+
+    /**
+     * @covers PHP_Token_FUNCTION::getVisibility
+     */
+    public function testGetFunctionVisibility()
+    {
+        $this->assertEquals('public', $this->function->getVisibility());
+    }
+
+    public function testIssue19()
+    {
+        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue19.php');
+
+        foreach ($ts as $token) {
+            if ($token instanceof PHP_Token_CLASS) {
+                $this->assertFalse($token->hasInterfaces());
+            }
+        }
+    }
+
+    public function testIssue30()
+    {
+        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'issue30.php');
+        $this->assertCount(1, $ts->getClasses());
+    }
+
+    /**
+     * @requires PHP 7
+     */
+    public function testAnonymousClassesAreHandledCorrectly()
+    {
+        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_that_declares_anonymous_class.php');
+
+        $classes = $ts->getClasses();
+
+        $this->assertEquals(array('class_with_method_that_declares_anonymous_class'), array_keys($classes));
+    }
+
+    /**
+     * @requires PHP 7
+     * @ticket   https://github.com/sebastianbergmann/php-token-stream/issues/52
+     */
+    public function testAnonymousClassesAreHandledCorrectly2()
+    {
+        $ts = new PHP_Token_Stream(TEST_FILES_PATH . 'class_with_method_that_declares_anonymous_class2.php');
+
+        $classes = $ts->getClasses();
+
+        $this->assertEquals(array('Test'), array_keys($classes));
+        $this->assertEquals(array('methodOne', 'methodTwo'), array_keys($classes['Test']['methods']));
+
+        $this->assertEmpty($ts->getFunctions());
+    }
+}
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php b/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php
rename to vendor/phpunit/php-token-stream/tests/Token/ClosureTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php b/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php
rename to vendor/phpunit/php-token-stream/tests/Token/FunctionTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php b/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php
rename to vendor/phpunit/php-token-stream/tests/Token/IncludeTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php b/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php
rename to vendor/phpunit/php-token-stream/tests/Token/InterfaceTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php b/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php
rename to vendor/phpunit/php-token-stream/tests/Token/NamespaceTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/TokenTest.php b/vendor/phpunit/php-token-stream/tests/TokenTest.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/TokenTest.php
rename to vendor/phpunit/php-token-stream/tests/TokenTest.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php b/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/classExtendsNamespacedClass.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php b/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/classInNamespace.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php b/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/classInScopedNamespace.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class.php b/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class.php
diff --git a/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class2.php b/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class2.php
new file mode 100644
index 0000000..9f3ee28
--- /dev/null
+++ b/vendor/phpunit/php-token-stream/tests/_fixture/class_with_method_that_declares_anonymous_class2.php
@@ -0,0 +1,16 @@
+<?php
+class Test {
+	public function methodOne() {
+		$foo = new class {
+			public function method_in_anonymous_class() {
+				return true;
+			}
+		};
+
+		return $foo->method_in_anonymous_class();
+	}
+
+	public function methodTwo() {
+		return false;
+	}
+}
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/closure.php b/vendor/phpunit/php-token-stream/tests/_fixture/closure.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/closure.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/closure.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php b/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/issue19.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/issue19.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php b/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/issue30.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/issue30.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php b/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingBraces.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php b/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/multipleNamespacesWithOneClassUsingNonBraceSyntax.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source.php b/vendor/phpunit/php-token-stream/tests/_fixture/source.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/source.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/source.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source2.php b/vendor/phpunit/php-token-stream/tests/_fixture/source2.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/source2.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/source2.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source3.php b/vendor/phpunit/php-token-stream/tests/_fixture/source3.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/source3.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/source3.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source4.php b/vendor/phpunit/php-token-stream/tests/_fixture/source4.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/source4.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/source4.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/_fixture/source5.php b/vendor/phpunit/php-token-stream/tests/_fixture/source5.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/_fixture/source5.php
rename to vendor/phpunit/php-token-stream/tests/_fixture/source5.php
diff --git a/core/vendor/phpunit/php-token-stream/tests/bootstrap.php b/vendor/phpunit/php-token-stream/tests/bootstrap.php
similarity index 100%
rename from core/vendor/phpunit/php-token-stream/tests/bootstrap.php
rename to vendor/phpunit/php-token-stream/tests/bootstrap.php
diff --git a/core/vendor/phpunit/php-file-iterator/.gitattributes b/vendor/phpunit/phpunit-mock-objects/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/php-file-iterator/.gitattributes
rename to vendor/phpunit/phpunit-mock-objects/.gitattributes
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.gitignore b/vendor/phpunit/phpunit-mock-objects/.gitignore
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/.gitignore
rename to vendor/phpunit/phpunit-mock-objects/.gitignore
diff --git a/core/vendor/phpunit/phpunit-mock-objects/.travis.yml b/vendor/phpunit/phpunit-mock-objects/.travis.yml
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/.travis.yml
rename to vendor/phpunit/phpunit-mock-objects/.travis.yml
diff --git a/core/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md b/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md
rename to vendor/phpunit/phpunit-mock-objects/CONTRIBUTING.md
diff --git a/core/vendor/phpunit/phpunit-mock-objects/LICENSE b/vendor/phpunit/phpunit-mock-objects/LICENSE
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/LICENSE
rename to vendor/phpunit/phpunit-mock-objects/LICENSE
diff --git a/core/vendor/phpunit/phpunit-mock-objects/README.md b/vendor/phpunit/phpunit-mock-objects/README.md
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/README.md
rename to vendor/phpunit/phpunit-mock-objects/README.md
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build.xml b/vendor/phpunit/phpunit-mock-objects/build.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/build.xml
rename to vendor/phpunit/phpunit-mock-objects/build.xml
diff --git a/core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml b/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
rename to vendor/phpunit/phpunit-mock-objects/build/travis-ci.xml
diff --git a/core/vendor/phpunit/phpunit-mock-objects/composer.json b/vendor/phpunit/phpunit-mock-objects/composer.json
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/composer.json
rename to vendor/phpunit/phpunit-mock-objects/composer.json
diff --git a/core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist b/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
rename to vendor/phpunit/phpunit-mock-objects/phpunit.xml.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Identity.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/InvocationMocker.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Match.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/MethodNameMatch.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Namespace.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/ParametersMatch.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Builder/Stub.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/BadMethodCallException.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/Exception.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Exception/RuntimeException.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_class_method.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_clone.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_method.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/mocked_static_method.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/proxied_method.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/trait_class.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/unmocked_clone.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_class.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Generator/wsdl_method.tpl.dist
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Object.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invocation/Static.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/InvocationMocker.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Invokable.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyInvokedCount.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/AnyParameters.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/ConsecutiveParameters.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Invocation.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtIndex.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastCount.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtLeastOnce.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedAtMostCount.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedCount.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/InvokedRecorder.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/MethodName.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/Parameters.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Matcher/StatelessInvocation.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockBuilder.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/MockObject.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ConsecutiveCalls.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Exception.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/MatcherCollection.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/Return.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnArgument.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnCallback.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnSelf.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Stub/ReturnValueMap.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php b/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php
rename to vendor/phpunit/phpunit-mock-objects/src/Framework/MockObject/Verifiable.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php b/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/GeneratorTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/232.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/232.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/232.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/232.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/ObjectTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/Invocation/StaticTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/Matcher/ConsecutiveParametersTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/abstract_class.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/abstract_class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/abstract_class.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/abstract_class.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_clone.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_clone.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_dont_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_implementing_interface_dont_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_partial.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_named_method.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/class_with_method_with_variadic_arguments.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/interface.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/invocation_object_clone_object.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_clone.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_clone.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_dont_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_implementing_interface_dont_call_parent_constructor.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_class_partial.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/namespaced_interface.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/nonexistent_class_with_namespace_starting_with_separator.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/proxy.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/scalar_type_declarations.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/scalar_type_declarations.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/scalar_type_declarations.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/scalar_type_declarations.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_namespace.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt b/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObject/wsdl_class_partial.phpt
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php b/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/MockObjectTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php b/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php
rename to vendor/phpunit/phpunit-mock-objects/tests/ProxyObjectTest.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractMockTestClass.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/AbstractTrait.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnInterface.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/AnotherInterface.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/Bar.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassThatImplementsSerializable.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/ClassWithStaticMethod.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/Foo.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/FunctionCallback.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/GoogleSearch.wsdl
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/InterfaceWithStaticMethod.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallback.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/MethodCallbackByReference.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MockTestInterface.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MockTestInterface.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/MockTestInterface.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/MockTestInterface.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/Mockable.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/PartialMockTestClass.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/SingletonClass.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/SomeClass.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/StaticMockTestClass.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php b/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
rename to vendor/phpunit/phpunit-mock-objects/tests/_fixture/TraversableMockTestInterface.php
diff --git a/core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php b/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
similarity index 100%
rename from core/vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
rename to vendor/phpunit/phpunit-mock-objects/tests/bootstrap.php
diff --git a/core/vendor/phpunit/phpunit/.gitattributes b/vendor/phpunit/phpunit/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/phpunit/.gitattributes
rename to vendor/phpunit/phpunit/.gitattributes
diff --git a/core/vendor/phpunit/phpunit/.gitignore b/vendor/phpunit/phpunit/.gitignore
similarity index 100%
rename from core/vendor/phpunit/phpunit/.gitignore
rename to vendor/phpunit/phpunit/.gitignore
diff --git a/vendor/phpunit/phpunit/.php_cs b/vendor/phpunit/phpunit/.php_cs
new file mode 100644
index 0000000..5b353d2
--- /dev/null
+++ b/vendor/phpunit/phpunit/.php_cs
@@ -0,0 +1,44 @@
+<?php
+$finder = Symfony\CS\Finder\DefaultFinder::create()
+    ->files()
+    ->in('build')
+    ->in('src')
+    ->in('tests')
+    ->name('*.php')
+    ->name('*.phpt');
+
+return Symfony\CS\Config\Config::create()
+    ->level(\Symfony\CS\FixerInterface::NONE_LEVEL)
+    ->fixers(
+        array(
+            'duplicate_semicolon',
+            'empty_return',
+            'extra_empty_lines',
+            'join_function',
+            'list_commas',
+            'no_blank_lines_after_class_opening',
+            'no_empty_lines_after_phpdocs',
+            'phpdoc_indent',
+            'phpdoc_no_access',
+            'phpdoc_no_empty_return',
+            'phpdoc_no_package',
+            'phpdoc_params',
+            'phpdoc_scalar',
+            'phpdoc_to_comment',
+            'phpdoc_trim',
+            'return',
+            'self_accessor',
+            'single_quote',
+            'spaces_before_semicolon',
+            'spaces_cast',
+            'ternary_spaces',
+            'trim_array_spaces',
+            'unused_use',
+            'whitespacy_lines',
+            'align_double_arrow',
+            'align_equals',
+            'concat_with_spaces'
+        )
+    )
+    ->finder($finder);
+
diff --git a/core/vendor/phpunit/phpunit/.travis.yml b/vendor/phpunit/phpunit/.travis.yml
similarity index 100%
rename from core/vendor/phpunit/phpunit/.travis.yml
rename to vendor/phpunit/phpunit/.travis.yml
diff --git a/core/vendor/phpunit/phpunit/CODE_OF_CONDUCT.md b/vendor/phpunit/phpunit/CODE_OF_CONDUCT.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/CODE_OF_CONDUCT.md
rename to vendor/phpunit/phpunit/CODE_OF_CONDUCT.md
diff --git a/vendor/phpunit/phpunit/CONTRIBUTING.md b/vendor/phpunit/phpunit/CONTRIBUTING.md
new file mode 100644
index 0000000..aee139f
--- /dev/null
+++ b/vendor/phpunit/phpunit/CONTRIBUTING.md
@@ -0,0 +1,67 @@
+# Contributing to PHPUnit
+
+## Contributor Code of Conduct
+
+Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
+
+## Workflow
+
+* Fork the project.
+* Make your bug fix or feature addition.
+* Add tests for it. This is important so we don't break it in a future version unintentionally.
+* Send a pull request. Bonus points for topic branches.
+
+Please make sure that you have [set up your user name and email address](http://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup) for use with Git. Strings such as `silly nick name <root@localhost>` look really stupid in the commit history of a project.
+
+Pull requests for bug fixes must be based on the current stable branch whereas pull requests for new features must be based on the current alpha branch (when `5.0` is the current stable branch, then `5.1` is the current beta branch and `5.2` is the current alpha branch).
+
+We are trying to keep backwards compatibility breaks in PHPUnit to an absolute minimum. Please take this into account when proposing changes.
+
+Due to time constraints, we are not always able to respond as quickly as we would like. Please do not take delays personal and feel free to remind us if you feel that we forgot to respond.
+
+## Coding Guidelines
+
+This project comes with a configuration file for [php-cs-fixer](https://github.com/FriendsOfPHP/PHP-CS-Fixer) (`.php_cs`) that you can use to (re)format your sourcecode for compliance with this project's coding guidelines:
+
+```bash
+$ wget http://get.sensiolabs.org/php-cs-fixer.phar
+
+$ php php-cs-fixer.phar fix
+```
+
+## Using PHPUnit from a Git checkout
+
+The following commands can be used to perform the initial checkout of PHPUnit:
+
+```bash
+$ git clone git://github.com/sebastianbergmann/phpunit.git
+
+$ cd phpunit
+```
+
+Retrieve PHPUnit's dependencies using [Composer](http://getcomposer.org/):
+
+```bash
+$ wget http://getcomposer.org/composer.phar
+
+$ php composer.phar install
+```
+
+The `phpunit` script can be used to invoke the PHPUnit test runner:
+
+```bash
+$ ./phpunit --version
+```
+
+## Reporting issues
+
+Please use the most specific issue tracker to search for existing tickets and to open new tickets:
+
+* [General problems](https://github.com/sebastianbergmann/phpunit/issues)
+* [Code Coverage](https://github.com/sebastianbergmann/php-code-coverage/issues)
+* [Stub and Mock Objects](https://github.com/sebastianbergmann/phpunit-mock-objects/issues)
+* [DbUnit](https://github.com/sebastianbergmann/dbunit/issues)
+* [PHPUnit_Selenium](https://github.com/sebastianbergmann/phpunit-selenium/issues)
+* [Documentation](https://github.com/sebastianbergmann/phpunit-documentation/issues)
+* [Website](https://github.com/sebastianbergmann/phpunit-website/issues)
+
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.0.md b/vendor/phpunit/phpunit/ChangeLog-4.0.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.0.md
rename to vendor/phpunit/phpunit/ChangeLog-4.0.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.1.md b/vendor/phpunit/phpunit/ChangeLog-4.1.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.1.md
rename to vendor/phpunit/phpunit/ChangeLog-4.1.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.2.md b/vendor/phpunit/phpunit/ChangeLog-4.2.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.2.md
rename to vendor/phpunit/phpunit/ChangeLog-4.2.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.3.md b/vendor/phpunit/phpunit/ChangeLog-4.3.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.3.md
rename to vendor/phpunit/phpunit/ChangeLog-4.3.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.4.md b/vendor/phpunit/phpunit/ChangeLog-4.4.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.4.md
rename to vendor/phpunit/phpunit/ChangeLog-4.4.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.5.md b/vendor/phpunit/phpunit/ChangeLog-4.5.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.5.md
rename to vendor/phpunit/phpunit/ChangeLog-4.5.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.6.md b/vendor/phpunit/phpunit/ChangeLog-4.6.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.6.md
rename to vendor/phpunit/phpunit/ChangeLog-4.6.md
diff --git a/core/vendor/phpunit/phpunit/ChangeLog-4.7.md b/vendor/phpunit/phpunit/ChangeLog-4.7.md
similarity index 100%
rename from core/vendor/phpunit/phpunit/ChangeLog-4.7.md
rename to vendor/phpunit/phpunit/ChangeLog-4.7.md
diff --git a/vendor/phpunit/phpunit/ChangeLog-4.8.md b/vendor/phpunit/phpunit/ChangeLog-4.8.md
new file mode 100644
index 0000000..6adc04a
--- /dev/null
+++ b/vendor/phpunit/phpunit/ChangeLog-4.8.md
@@ -0,0 +1,82 @@
+# Changes in PHPUnit 4.8
+
+All notable changes of the PHPUnit 4.8 release series are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
+
+## [4.8.9] - 2015-09-20
+
+### Fixed
+
+* Fixed regression introduced in PHPUnit 4.8.8
+
+## [4.8.8] - 2015-09-19
+
+### Fixed
+
+* Fixed [#1860](https://github.com/sebastianbergmann/phpunit/issues/1860): Not well-formed XML strings are always considered equal by `PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString()`
+
+## [4.8.7] - 2015-09-14
+
+New PHAR release due to updated dependencies
+
+## [4.8.6] - 2015-08-24
+
+### Fixed
+
+* Fixed [#1835](https://github.com/sebastianbergmann/phpunit/issues/1835): Skipped test reported as errored since PHPUnit 4.7.4
+
+## [4.8.5] - 2015-08-19
+
+### Fixed
+
+* Fixed [#1831](https://github.com/sebastianbergmann/phpunit/issues/1831): PHAR manifest is missing
+
+## [4.8.4] - 2015-08-15
+
+### Fixed
+
+* Fixed [#1823](https://github.com/sebastianbergmann/phpunit/issues/1823): Columns attribute in XML configuration file is ignored
+
+## [4.8.3] - 2015-08-10
+
+### Changed
+
+* PHPUnit now exits early during bootstrap when an unsupported version of PHP is used
+
+## [4.8.2] - 2015-08-07
+
+### Fixed
+
+* Fixed [#1816](https://github.com/sebastianbergmann/phpunit/issues/1816): PHPUnit 4.8.1 shows "4.8.0" as version number
+
+## [4.8.1] - 2015-08-07
+
+### Fixed
+
+* Fixed [#1815](https://github.com/sebastianbergmann/phpunit/issues/1815): `phpunit --self-update` does not work in PHPUnit 4.8.0
+
+## [4.8.0] - 2015-08-07
+
+### Added
+
+* Added `--check-version` commandline switch to check whether the current version of PHPUnit is used (PHAR only)
+* Added `--no-coverage` commandline switch to ignore code coverage configuration from the configuration file
+* Implemented [#1663](https://github.com/sebastianbergmann/phpunit/issues/1663): The Crap4J report's threshold is now configurable
+* Merged [#1728](https://github.com/sebastianbergmann/phpunit/issues/1728): Implemented the `@testWith` annotation as "syntactic sugar" for data providers
+* Merged [#1739](https://github.com/sebastianbergmann/phpunit/issues/1739): Added support to the commandline test runner for using options after arguments
+
+### Changed
+
+* Made the argument check of `assertContains()` and `assertNotContains()` more strict to prevent undefined behavior such as [#1808](https://github.com/sebastianbergmann/phpunit/issues/1808)
+* Changed the name of the default group from `__nogroup__` to `default`
+
+[4.8.9]: https://github.com/sebastianbergmann/phpunit/compare/4.8.8...4.8.9
+[4.8.8]: https://github.com/sebastianbergmann/phpunit/compare/4.8.7...4.8.8
+[4.8.7]: https://github.com/sebastianbergmann/phpunit/compare/4.8.6...4.8.7
+[4.8.6]: https://github.com/sebastianbergmann/phpunit/compare/4.8.5...4.8.6
+[4.8.5]: https://github.com/sebastianbergmann/phpunit/compare/4.8.4...4.8.5
+[4.8.4]: https://github.com/sebastianbergmann/phpunit/compare/4.8.3...4.8.4
+[4.8.3]: https://github.com/sebastianbergmann/phpunit/compare/4.8.2...4.8.3
+[4.8.2]: https://github.com/sebastianbergmann/phpunit/compare/4.8.1...4.8.2
+[4.8.1]: https://github.com/sebastianbergmann/phpunit/compare/4.8.0...4.8.1
+[4.8.0]: https://github.com/sebastianbergmann/phpunit/compare/4.7...4.8.0
+
diff --git a/core/vendor/phpunit/phpunit/LICENSE b/vendor/phpunit/phpunit/LICENSE
similarity index 100%
rename from core/vendor/phpunit/phpunit/LICENSE
rename to vendor/phpunit/phpunit/LICENSE
diff --git a/vendor/phpunit/phpunit/README.md b/vendor/phpunit/phpunit/README.md
new file mode 100644
index 0000000..d1b5f30
--- /dev/null
+++ b/vendor/phpunit/phpunit/README.md
@@ -0,0 +1,46 @@
+# PHPUnit
+
+PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
+
+[![Latest Stable Version](https://img.shields.io/packagist/v/phpunit/phpunit.svg?style=flat-square)](https://packagist.org/packages/phpunit/phpunit)
+[![Minimum PHP Version](https://img.shields.io/badge/php-%3E%3D%205.3.3-8892BF.svg?style=flat-square)](https://php.net/)
+[![Build Status](https://img.shields.io/travis/sebastianbergmann/phpunit/4.8.svg?style=flat-square)](https://travis-ci.org/sebastianbergmann/phpunit)
+
+## Installation
+
+We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit bundled in a single file:
+
+```bash
+$ wget https://phar.phpunit.de/phpunit.phar
+
+$ chmod +x phpunit.phar
+
+$ mv phpunit.phar /usr/local/bin/phpunit
+```
+
+You can also immediately use the PHAR after you have downloaded it, of course:
+
+```bash
+$ wget https://phar.phpunit.de/phpunit.phar
+
+$ php phpunit.phar
+```
+
+Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the [documentation](https://phpunit.de/documentation.html) for details on how to do this.
+
+## Contribute
+
+Please refer to [CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/master/CONTRIBUTING.md) for information on how to contribute to PHPUnit and its related projects.
+
+## List of Contributors
+
+Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components:
+
+* [PHPUnit](https://github.com/sebastianbergmann/phpunit/graphs/contributors)
+* [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage/graphs/contributors)
+* [PHPUnit_MockObject](https://github.com/sebastianbergmann/phpunit-mock-objects/graphs/contributors)
+
+A very special thanks to everyone who has contributed to the documentation and helps maintain the translations:
+
+* [PHPUnit Documentation](https://github.com/sebastianbergmann/phpunit-documentation/graphs/contributors)
+
diff --git a/core/vendor/phpunit/phpunit/build.xml b/vendor/phpunit/phpunit/build.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/build.xml
rename to vendor/phpunit/phpunit/build.xml
diff --git a/core/vendor/phpunit/phpunit/build/ca.pem b/vendor/phpunit/phpunit/build/ca.pem
similarity index 100%
rename from core/vendor/phpunit/phpunit/build/ca.pem
rename to vendor/phpunit/phpunit/build/ca.pem
diff --git a/core/vendor/phpunit/phpunit/build/phar-autoload.php.in b/vendor/phpunit/phpunit/build/phar-autoload.php.in
similarity index 100%
rename from core/vendor/phpunit/phpunit/build/phar-autoload.php.in
rename to vendor/phpunit/phpunit/build/phar-autoload.php.in
diff --git a/core/vendor/phpunit/phpunit/build/phar-manifest.php b/vendor/phpunit/phpunit/build/phar-manifest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/build/phar-manifest.php
rename to vendor/phpunit/phpunit/build/phar-manifest.php
diff --git a/core/vendor/phpunit/phpunit/build/phar-version.php b/vendor/phpunit/phpunit/build/phar-version.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/build/phar-version.php
rename to vendor/phpunit/phpunit/build/phar-version.php
diff --git a/core/vendor/phpunit/phpunit/build/travis-ci-fail.xml b/vendor/phpunit/phpunit/build/travis-ci-fail.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/build/travis-ci-fail.xml
rename to vendor/phpunit/phpunit/build/travis-ci-fail.xml
diff --git a/core/vendor/phpunit/phpunit/composer.json b/vendor/phpunit/phpunit/composer.json
similarity index 100%
rename from core/vendor/phpunit/phpunit/composer.json
rename to vendor/phpunit/phpunit/composer.json
diff --git a/core/vendor/phpunit/phpunit/phpdox.xml.dist b/vendor/phpunit/phpunit/phpdox.xml.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit/phpdox.xml.dist
rename to vendor/phpunit/phpunit/phpdox.xml.dist
diff --git a/core/vendor/phpunit/phpunit/phpunit b/vendor/phpunit/phpunit/phpunit
similarity index 100%
rename from core/vendor/phpunit/phpunit/phpunit
rename to vendor/phpunit/phpunit/phpunit
diff --git a/core/vendor/phpunit/phpunit/phpunit.xml.dist b/vendor/phpunit/phpunit/phpunit.xml.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit/phpunit.xml.dist
rename to vendor/phpunit/phpunit/phpunit.xml.dist
diff --git a/core/vendor/phpunit/phpunit/phpunit.xsd b/vendor/phpunit/phpunit/phpunit.xsd
similarity index 100%
rename from core/vendor/phpunit/phpunit/phpunit.xsd
rename to vendor/phpunit/phpunit/phpunit.xsd
diff --git a/core/vendor/phpunit/phpunit/src/Exception.php b/vendor/phpunit/phpunit/src/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Exception.php
rename to vendor/phpunit/phpunit/src/Exception.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php b/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php
rename to vendor/phpunit/phpunit/src/Extensions/GroupTestSuite.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php b/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php
rename to vendor/phpunit/phpunit/src/Extensions/PhptTestCase.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php b/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php
rename to vendor/phpunit/phpunit/src/Extensions/PhptTestSuite.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php b/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php
rename to vendor/phpunit/phpunit/src/Extensions/RepeatedTest.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php b/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/TestDecorator.php
rename to vendor/phpunit/phpunit/src/Extensions/TestDecorator.php
diff --git a/core/vendor/phpunit/phpunit/src/Extensions/TicketListener.php b/vendor/phpunit/phpunit/src/Extensions/TicketListener.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Extensions/TicketListener.php
rename to vendor/phpunit/phpunit/src/Extensions/TicketListener.php
diff --git a/vendor/phpunit/phpunit/src/Framework/Assert.php b/vendor/phpunit/phpunit/src/Framework/Assert.php
new file mode 100644
index 0000000..948a599
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/Assert.php
@@ -0,0 +1,3016 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * A set of assert methods.
+ *
+ * @since Class available since Release 2.0.0
+ */
+abstract class PHPUnit_Framework_Assert
+{
+    /**
+     * @var int
+     */
+    private static $count = 0;
+
+    /**
+     * Asserts that an array has a specified key.
+     *
+     * @param mixed             $key
+     * @param array|ArrayAccess $array
+     * @param string            $message
+     * @since Method available since Release 3.0.0
+     */
+    public static function assertArrayHasKey($key, $array, $message = '')
+    {
+        if (!(is_integer($key) || is_string($key))) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                1,
+                'integer or string'
+            );
+        }
+
+        if (!(is_array($array) || $array instanceof ArrayAccess)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or ArrayAccess'
+            );
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_ArrayHasKey($key);
+
+        self::assertThat($array, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an array has a specified subset.
+     *
+     * @param array|ArrayAccess $subset
+     * @param array|ArrayAccess $array
+     * @param bool              $strict  Check for object identity
+     * @param string            $message
+     * @since Method available since Release 4.4.0
+     */
+    public static function assertArraySubset($subset, $array, $strict = false, $message = '')
+    {
+        if (!is_array($subset)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                1,
+                'array or ArrayAccess'
+            );
+        }
+
+        if (!is_array($array)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or ArrayAccess'
+            );
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_ArraySubset($subset, $strict);
+
+        self::assertThat($array, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an array does not have a specified key.
+     *
+     * @param mixed             $key
+     * @param array|ArrayAccess $array
+     * @param string            $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertArrayNotHasKey($key, $array, $message = '')
+    {
+        if (!(is_integer($key) || is_string($key))) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                1,
+                'integer or string'
+            );
+        }
+
+        if (!(is_array($array) || $array instanceof ArrayAccess)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or ArrayAccess'
+            );
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_ArrayHasKey($key)
+        );
+
+        self::assertThat($array, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a haystack contains a needle.
+     *
+     * @param mixed  $needle
+     * @param mixed  $haystack
+     * @param string $message
+     * @param bool   $ignoreCase
+     * @param bool   $checkForObjectIdentity
+     * @param bool   $checkForNonObjectIdentity
+     * @since  Method available since Release 2.1.0
+     */
+    public static function assertContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
+    {
+        if (is_array($haystack) ||
+            is_object($haystack) && $haystack instanceof Traversable) {
+            $constraint = new PHPUnit_Framework_Constraint_TraversableContains(
+                $needle,
+                $checkForObjectIdentity,
+                $checkForNonObjectIdentity
+            );
+        } elseif (is_string($haystack)) {
+            if (!is_string($needle)) {
+                throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                    1,
+                    'string'
+                );
+            }
+
+            $constraint = new PHPUnit_Framework_Constraint_StringContains(
+                $needle,
+                $ignoreCase
+            );
+        } else {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array, traversable or string'
+            );
+        }
+
+        self::assertThat($haystack, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a haystack that is stored in a static attribute of a class
+     * or an attribute of an object contains a needle.
+     *
+     * @param mixed  $needle
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @param bool   $ignoreCase
+     * @param bool   $checkForObjectIdentity
+     * @param bool   $checkForNonObjectIdentity
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertAttributeContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
+    {
+        self::assertContains(
+            $needle,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message,
+            $ignoreCase,
+            $checkForObjectIdentity,
+            $checkForNonObjectIdentity
+        );
+    }
+
+    /**
+     * Asserts that a haystack does not contain a needle.
+     *
+     * @param mixed  $needle
+     * @param mixed  $haystack
+     * @param string $message
+     * @param bool   $ignoreCase
+     * @param bool   $checkForObjectIdentity
+     * @param bool   $checkForNonObjectIdentity
+     * @since  Method available since Release 2.1.0
+     */
+    public static function assertNotContains($needle, $haystack, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
+    {
+        if (is_array($haystack) ||
+            is_object($haystack) && $haystack instanceof Traversable) {
+            $constraint = new PHPUnit_Framework_Constraint_Not(
+                new PHPUnit_Framework_Constraint_TraversableContains(
+                    $needle,
+                    $checkForObjectIdentity,
+                    $checkForNonObjectIdentity
+                )
+            );
+        } elseif (is_string($haystack)) {
+            if (!is_string($needle)) {
+                throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                    1,
+                    'string'
+                );
+            }
+
+            $constraint = new PHPUnit_Framework_Constraint_Not(
+                new PHPUnit_Framework_Constraint_StringContains(
+                    $needle,
+                    $ignoreCase
+                )
+            );
+        } else {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array, traversable or string'
+            );
+        }
+
+        self::assertThat($haystack, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a haystack that is stored in a static attribute of a class
+     * or an attribute of an object does not contain a needle.
+     *
+     * @param mixed  $needle
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @param bool   $ignoreCase
+     * @param bool   $checkForObjectIdentity
+     * @param bool   $checkForNonObjectIdentity
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertAttributeNotContains($needle, $haystackAttributeName, $haystackClassOrObject, $message = '', $ignoreCase = false, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
+    {
+        self::assertNotContains(
+            $needle,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message,
+            $ignoreCase,
+            $checkForObjectIdentity,
+            $checkForNonObjectIdentity
+        );
+    }
+
+    /**
+     * Asserts that a haystack contains only values of a given type.
+     *
+     * @param string $type
+     * @param mixed  $haystack
+     * @param bool   $isNativeType
+     * @param string $message
+     * @since  Method available since Release 3.1.4
+     */
+    public static function assertContainsOnly($type, $haystack, $isNativeType = null, $message = '')
+    {
+        if (!(is_array($haystack) ||
+            is_object($haystack) && $haystack instanceof Traversable)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or traversable'
+            );
+        }
+
+        if ($isNativeType == null) {
+            $isNativeType = PHPUnit_Util_Type::isType($type);
+        }
+
+        self::assertThat(
+            $haystack,
+            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
+                $type,
+                $isNativeType
+            ),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a haystack contains only instances of a given classname
+     *
+     * @param string            $classname
+     * @param array|Traversable $haystack
+     * @param string            $message
+     */
+    public static function assertContainsOnlyInstancesOf($classname, $haystack, $message = '')
+    {
+        if (!(is_array($haystack) ||
+            is_object($haystack) && $haystack instanceof Traversable)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or traversable'
+            );
+        }
+
+        self::assertThat(
+            $haystack,
+            new PHPUnit_Framework_Constraint_TraversableContainsOnly(
+                $classname,
+                false
+            ),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a haystack that is stored in a static attribute of a class
+     * or an attribute of an object contains only values of a given type.
+     *
+     * @param string $type
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param bool   $isNativeType
+     * @param string $message
+     * @since  Method available since Release 3.1.4
+     */
+    public static function assertAttributeContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
+    {
+        self::assertContainsOnly(
+            $type,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $isNativeType,
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a haystack does not contain only values of a given type.
+     *
+     * @param string $type
+     * @param mixed  $haystack
+     * @param bool   $isNativeType
+     * @param string $message
+     * @since  Method available since Release 3.1.4
+     */
+    public static function assertNotContainsOnly($type, $haystack, $isNativeType = null, $message = '')
+    {
+        if (!(is_array($haystack) ||
+            is_object($haystack) && $haystack instanceof Traversable)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                2,
+                'array or traversable'
+            );
+        }
+
+        if ($isNativeType == null) {
+            $isNativeType = PHPUnit_Util_Type::isType($type);
+        }
+
+        self::assertThat(
+            $haystack,
+            new PHPUnit_Framework_Constraint_Not(
+                new PHPUnit_Framework_Constraint_TraversableContainsOnly(
+                    $type,
+                    $isNativeType
+                )
+            ),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a haystack that is stored in a static attribute of a class
+     * or an attribute of an object does not contain only values of a given
+     * type.
+     *
+     * @param string $type
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param bool   $isNativeType
+     * @param string $message
+     * @since  Method available since Release 3.1.4
+     */
+    public static function assertAttributeNotContainsOnly($type, $haystackAttributeName, $haystackClassOrObject, $isNativeType = null, $message = '')
+    {
+        self::assertNotContainsOnly(
+            $type,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $isNativeType,
+            $message
+        );
+    }
+
+    /**
+     * Asserts the number of elements of an array, Countable or Traversable.
+     *
+     * @param int    $expectedCount
+     * @param mixed  $haystack
+     * @param string $message
+     */
+    public static function assertCount($expectedCount, $haystack, $message = '')
+    {
+        if (!is_int($expectedCount)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
+        }
+
+        if (!$haystack instanceof Countable &&
+            !$haystack instanceof Traversable &&
+            !is_array($haystack)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
+        }
+
+        self::assertThat(
+            $haystack,
+            new PHPUnit_Framework_Constraint_Count($expectedCount),
+            $message
+        );
+    }
+
+    /**
+     * Asserts the number of elements of an array, Countable or Traversable
+     * that is stored in an attribute.
+     *
+     * @param int    $expectedCount
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @since Method available since Release 3.6.0
+     */
+    public static function assertAttributeCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
+    {
+        self::assertCount(
+            $expectedCount,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts the number of elements of an array, Countable or Traversable.
+     *
+     * @param int    $expectedCount
+     * @param mixed  $haystack
+     * @param string $message
+     */
+    public static function assertNotCount($expectedCount, $haystack, $message = '')
+    {
+        if (!is_int($expectedCount)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'integer');
+        }
+
+        if (!$haystack instanceof Countable &&
+            !$haystack instanceof Traversable &&
+            !is_array($haystack)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_Count($expectedCount)
+        );
+
+        self::assertThat($haystack, $constraint, $message);
+    }
+
+    /**
+     * Asserts the number of elements of an array, Countable or Traversable
+     * that is stored in an attribute.
+     *
+     * @param int    $expectedCount
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @since Method available since Release 3.6.0
+     */
+    public static function assertAttributeNotCount($expectedCount, $haystackAttributeName, $haystackClassOrObject, $message = '')
+    {
+        self::assertNotCount(
+            $expectedCount,
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that two variables are equal.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @param float  $delta
+     * @param int    $maxDepth
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     */
+    public static function assertEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        $constraint = new PHPUnit_Framework_Constraint_IsEqual(
+            $expected,
+            $delta,
+            $maxDepth,
+            $canonicalize,
+            $ignoreCase
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a variable is equal to an attribute of an object.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @param float  $delta
+     * @param int    $maxDepth
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     */
+    public static function assertAttributeEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertEquals(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message,
+            $delta,
+            $maxDepth,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that two variables are not equal.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @param float  $delta
+     * @param int    $maxDepth
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     * @since  Method available since Release 2.3.0
+     */
+    public static function assertNotEquals($expected, $actual, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_IsEqual(
+                $expected,
+                $delta,
+                $maxDepth,
+                $canonicalize,
+                $ignoreCase
+            )
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a variable is not equal to an attribute of an object.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @param float  $delta
+     * @param int    $maxDepth
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     */
+    public static function assertAttributeNotEquals($expected, $actualAttributeName, $actualClassOrObject, $message = '', $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertNotEquals(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message,
+            $delta,
+            $maxDepth,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that a variable is empty.
+     *
+     * @param  mixed                                  $actual
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertEmpty($actual, $message = '')
+    {
+        self::assertThat($actual, self::isEmpty(), $message);
+    }
+
+    /**
+     * Asserts that a static attribute of a class or an attribute of an object
+     * is empty.
+     *
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
+    {
+        self::assertEmpty(
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a variable is not empty.
+     *
+     * @param  mixed                                  $actual
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertNotEmpty($actual, $message = '')
+    {
+        self::assertThat($actual, self::logicalNot(self::isEmpty()), $message);
+    }
+
+    /**
+     * Asserts that a static attribute of a class or an attribute of an object
+     * is not empty.
+     *
+     * @param string $haystackAttributeName
+     * @param mixed  $haystackClassOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeNotEmpty($haystackAttributeName, $haystackClassOrObject, $message = '')
+    {
+        self::assertNotEmpty(
+            self::readAttribute($haystackClassOrObject, $haystackAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a value is greater than another value.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertGreaterThan($expected, $actual, $message = '')
+    {
+        self::assertThat($actual, self::greaterThan($expected), $message);
+    }
+
+    /**
+     * Asserts that an attribute is greater than another value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertAttributeGreaterThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertGreaterThan(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a value is greater than or equal to another value.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertGreaterThanOrEqual($expected, $actual, $message = '')
+    {
+        self::assertThat(
+            $actual,
+            self::greaterThanOrEqual($expected),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that an attribute is greater than or equal to another value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertAttributeGreaterThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertGreaterThanOrEqual(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a value is smaller than another value.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertLessThan($expected, $actual, $message = '')
+    {
+        self::assertThat($actual, self::lessThan($expected), $message);
+    }
+
+    /**
+     * Asserts that an attribute is smaller than another value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertAttributeLessThan($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertLessThan(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a value is smaller than or equal to another value.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertLessThanOrEqual($expected, $actual, $message = '')
+    {
+        self::assertThat($actual, self::lessThanOrEqual($expected), $message);
+    }
+
+    /**
+     * Asserts that an attribute is smaller than or equal to another value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param string $actualClassOrObject
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertAttributeLessThanOrEqual($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertLessThanOrEqual(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that the contents of one file is equal to the contents of another
+     * file.
+     *
+     * @param string $expected
+     * @param string $actual
+     * @param string $message
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     * @since  Method available since Release 3.2.14
+     */
+    public static function assertFileEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertFileExists($expected, $message);
+        self::assertFileExists($actual, $message);
+
+        self::assertEquals(
+            file_get_contents($expected),
+            file_get_contents($actual),
+            $message,
+            0,
+            10,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that the contents of one file is not equal to the contents of
+     * another file.
+     *
+     * @param string $expected
+     * @param string $actual
+     * @param string $message
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     * @since  Method available since Release 3.2.14
+     */
+    public static function assertFileNotEquals($expected, $actual, $message = '', $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertFileExists($expected, $message);
+        self::assertFileExists($actual, $message);
+
+        self::assertNotEquals(
+            file_get_contents($expected),
+            file_get_contents($actual),
+            $message,
+            0,
+            10,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that the contents of a string is equal
+     * to the contents of a file.
+     *
+     * @param string $expectedFile
+     * @param string $actualString
+     * @param string $message
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertStringEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertFileExists($expectedFile, $message);
+
+        self::assertEquals(
+            file_get_contents($expectedFile),
+            $actualString,
+            $message,
+            0,
+            10,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that the contents of a string is not equal
+     * to the contents of a file.
+     *
+     * @param string $expectedFile
+     * @param string $actualString
+     * @param string $message
+     * @param bool   $canonicalize
+     * @param bool   $ignoreCase
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertStringNotEqualsFile($expectedFile, $actualString, $message = '', $canonicalize = false, $ignoreCase = false)
+    {
+        self::assertFileExists($expectedFile, $message);
+
+        self::assertNotEquals(
+            file_get_contents($expectedFile),
+            $actualString,
+            $message,
+            0,
+            10,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Asserts that a file exists.
+     *
+     * @param string $filename
+     * @param string $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertFileExists($filename, $message = '')
+    {
+        if (!is_string($filename)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_FileExists;
+
+        self::assertThat($filename, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a file does not exist.
+     *
+     * @param string $filename
+     * @param string $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertFileNotExists($filename, $message = '')
+    {
+        if (!is_string($filename)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_FileExists
+        );
+
+        self::assertThat($filename, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a condition is true.
+     *
+     * @param  bool                                   $condition
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertTrue($condition, $message = '')
+    {
+        self::assertThat($condition, self::isTrue(), $message);
+    }
+
+    /**
+     * Asserts that a condition is not true.
+     *
+     * @param  bool                                   $condition
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertNotTrue($condition, $message = '')
+    {
+        self::assertThat($condition, self::logicalNot(self::isTrue()), $message);
+    }
+
+    /**
+     * Asserts that a condition is false.
+     *
+     * @param  bool                                   $condition
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertFalse($condition, $message = '')
+    {
+        self::assertThat($condition, self::isFalse(), $message);
+    }
+
+    /**
+     * Asserts that a condition is not false.
+     *
+     * @param  bool                                   $condition
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function assertNotFalse($condition, $message = '')
+    {
+        self::assertThat($condition, self::logicalNot(self::isFalse()), $message);
+    }
+
+    /**
+     * Asserts that a variable is not null.
+     *
+     * @param mixed  $actual
+     * @param string $message
+     */
+    public static function assertNotNull($actual, $message = '')
+    {
+        self::assertThat($actual, self::logicalNot(self::isNull()), $message);
+    }
+
+    /**
+     * Asserts that a variable is null.
+     *
+     * @param mixed  $actual
+     * @param string $message
+     */
+    public static function assertNull($actual, $message = '')
+    {
+        self::assertThat($actual, self::isNull(), $message);
+    }
+
+    /**
+     * Asserts that a class has a specified attribute.
+     *
+     * @param string $attributeName
+     * @param string $className
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertClassHasAttribute($attributeName, $className, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_string($className) || !class_exists($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_ClassHasAttribute(
+            $attributeName
+        );
+
+        self::assertThat($className, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a class does not have a specified attribute.
+     *
+     * @param string $attributeName
+     * @param string $className
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertClassNotHasAttribute($attributeName, $className, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_string($className) || !class_exists($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_ClassHasAttribute($attributeName)
+        );
+
+        self::assertThat($className, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a class has a specified static attribute.
+     *
+     * @param string $attributeName
+     * @param string $className
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertClassHasStaticAttribute($attributeName, $className, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_string($className) || !class_exists($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
+            $attributeName
+        );
+
+        self::assertThat($className, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a class does not have a specified static attribute.
+     *
+     * @param string $attributeName
+     * @param string $className
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertClassNotHasStaticAttribute($attributeName, $className, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_string($className) || !class_exists($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'class name', $className);
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
+                $attributeName
+            )
+        );
+
+        self::assertThat($className, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an object has a specified attribute.
+     *
+     * @param string $attributeName
+     * @param object $object
+     * @param string $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertObjectHasAttribute($attributeName, $object, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_object($object)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_ObjectHasAttribute(
+            $attributeName
+        );
+
+        self::assertThat($object, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an object does not have a specified attribute.
+     *
+     * @param string $attributeName
+     * @param object $object
+     * @param string $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertObjectNotHasAttribute($attributeName, $object, $message = '')
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'valid attribute name');
+        }
+
+        if (!is_object($object)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'object');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_ObjectHasAttribute($attributeName)
+        );
+
+        self::assertThat($object, $constraint, $message);
+    }
+
+    /**
+     * Asserts that two variables have the same type and value.
+     * Used on objects, it asserts that two variables reference
+     * the same object.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     */
+    public static function assertSame($expected, $actual, $message = '')
+    {
+        if (is_bool($expected) && is_bool($actual)) {
+            self::assertEquals($expected, $actual, $message);
+        } else {
+            $constraint = new PHPUnit_Framework_Constraint_IsIdentical(
+                $expected
+            );
+
+            self::assertThat($actual, $constraint, $message);
+        }
+    }
+
+    /**
+     * Asserts that a variable and an attribute of an object have the same type
+     * and value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param object $actualClassOrObject
+     * @param string $message
+     */
+    public static function assertAttributeSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertSame(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that two variables do not have the same type and value.
+     * Used on objects, it asserts that two variables do not reference
+     * the same object.
+     *
+     * @param mixed  $expected
+     * @param mixed  $actual
+     * @param string $message
+     */
+    public static function assertNotSame($expected, $actual, $message = '')
+    {
+        if (is_bool($expected) && is_bool($actual)) {
+            self::assertNotEquals($expected, $actual, $message);
+        } else {
+            $constraint = new PHPUnit_Framework_Constraint_Not(
+                new PHPUnit_Framework_Constraint_IsIdentical($expected)
+            );
+
+            self::assertThat($actual, $constraint, $message);
+        }
+    }
+
+    /**
+     * Asserts that a variable and an attribute of an object do not have the
+     * same type and value.
+     *
+     * @param mixed  $expected
+     * @param string $actualAttributeName
+     * @param object $actualClassOrObject
+     * @param string $message
+     */
+    public static function assertAttributeNotSame($expected, $actualAttributeName, $actualClassOrObject, $message = '')
+    {
+        self::assertNotSame(
+            $expected,
+            self::readAttribute($actualClassOrObject, $actualAttributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a variable is of a given type.
+     *
+     * @param string $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertInstanceOf($expected, $actual, $message = '')
+    {
+        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_IsInstanceOf(
+            $expected
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an attribute is of a given type.
+     *
+     * @param string $expected
+     * @param string $attributeName
+     * @param mixed  $classOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeInstanceOf($expected, $attributeName, $classOrObject, $message = '')
+    {
+        self::assertInstanceOf(
+            $expected,
+            self::readAttribute($classOrObject, $attributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a variable is not of a given type.
+     *
+     * @param string $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertNotInstanceOf($expected, $actual, $message = '')
+    {
+        if (!(is_string($expected) && (class_exists($expected) || interface_exists($expected)))) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class or interface name');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_IsInstanceOf($expected)
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an attribute is of a given type.
+     *
+     * @param string $expected
+     * @param string $attributeName
+     * @param mixed  $classOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeNotInstanceOf($expected, $attributeName, $classOrObject, $message = '')
+    {
+        self::assertNotInstanceOf(
+            $expected,
+            self::readAttribute($classOrObject, $attributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a variable is of a given type.
+     *
+     * @param string $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertInternalType($expected, $actual, $message = '')
+    {
+        if (!is_string($expected)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_IsType(
+            $expected
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an attribute is of a given type.
+     *
+     * @param string $expected
+     * @param string $attributeName
+     * @param mixed  $classOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeInternalType($expected, $attributeName, $classOrObject, $message = '')
+    {
+        self::assertInternalType(
+            $expected,
+            self::readAttribute($classOrObject, $attributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a variable is not of a given type.
+     *
+     * @param string $expected
+     * @param mixed  $actual
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertNotInternalType($expected, $actual, $message = '')
+    {
+        if (!is_string($expected)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_IsType($expected)
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that an attribute is of a given type.
+     *
+     * @param string $expected
+     * @param string $attributeName
+     * @param mixed  $classOrObject
+     * @param string $message
+     * @since Method available since Release 3.5.0
+     */
+    public static function assertAttributeNotInternalType($expected, $attributeName, $classOrObject, $message = '')
+    {
+        self::assertNotInternalType(
+            $expected,
+            self::readAttribute($classOrObject, $attributeName),
+            $message
+        );
+    }
+
+    /**
+     * Asserts that a string matches a given regular expression.
+     *
+     * @param string $pattern
+     * @param string $string
+     * @param string $message
+     */
+    public static function assertRegExp($pattern, $string, $message = '')
+    {
+        if (!is_string($pattern)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_PCREMatch($pattern);
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string does not match a given regular expression.
+     *
+     * @param string $pattern
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 2.1.0
+     */
+    public static function assertNotRegExp($pattern, $string, $message = '')
+    {
+        if (!is_string($pattern)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_PCREMatch($pattern)
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
+     * is the same.
+     *
+     * @param array|Countable|Traversable $expected
+     * @param array|Countable|Traversable $actual
+     * @param string                      $message
+     */
+    public static function assertSameSize($expected, $actual, $message = '')
+    {
+        if (!$expected instanceof Countable &&
+            !$expected instanceof Traversable &&
+            !is_array($expected)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
+        }
+
+        if (!$actual instanceof Countable &&
+            !$actual instanceof Traversable &&
+            !is_array($actual)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
+        }
+
+        self::assertThat(
+            $actual,
+            new PHPUnit_Framework_Constraint_SameSize($expected),
+            $message
+        );
+    }
+
+    /**
+     * Assert that the size of two arrays (or `Countable` or `Traversable` objects)
+     * is not the same.
+     *
+     * @param array|Countable|Traversable $expected
+     * @param array|Countable|Traversable $actual
+     * @param string                      $message
+     */
+    public static function assertNotSameSize($expected, $actual, $message = '')
+    {
+        if (!$expected instanceof Countable &&
+            !$expected instanceof Traversable &&
+            !is_array($expected)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'countable or traversable');
+        }
+
+        if (!$actual instanceof Countable &&
+            !$actual instanceof Traversable &&
+            !is_array($actual)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'countable or traversable');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_SameSize($expected)
+        );
+
+        self::assertThat($actual, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string matches a given format string.
+     *
+     * @param string $format
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.5.0
+     */
+    public static function assertStringMatchesFormat($format, $string, $message = '')
+    {
+        if (!is_string($format)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_StringMatches($format);
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string does not match a given format string.
+     *
+     * @param string $format
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.5.0
+     */
+    public static function assertStringNotMatchesFormat($format, $string, $message = '')
+    {
+        if (!is_string($format)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_StringMatches($format)
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string matches a given format file.
+     *
+     * @param string $formatFile
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.5.0
+     */
+    public static function assertStringMatchesFormatFile($formatFile, $string, $message = '')
+    {
+        self::assertFileExists($formatFile, $message);
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_StringMatches(
+            file_get_contents($formatFile)
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string does not match a given format string.
+     *
+     * @param string $formatFile
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.5.0
+     */
+    public static function assertStringNotMatchesFormatFile($formatFile, $string, $message = '')
+    {
+        self::assertFileExists($formatFile, $message);
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_StringMatches(
+                file_get_contents($formatFile)
+            )
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string starts with a given prefix.
+     *
+     * @param string $prefix
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.4.0
+     */
+    public static function assertStringStartsWith($prefix, $string, $message = '')
+    {
+        if (!is_string($prefix)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_StringStartsWith(
+            $prefix
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string starts not with a given prefix.
+     *
+     * @param string $prefix
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.4.0
+     */
+    public static function assertStringStartsNotWith($prefix, $string, $message = '')
+    {
+        if (!is_string($prefix)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_StringStartsWith($prefix)
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string ends with a given suffix.
+     *
+     * @param string $suffix
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.4.0
+     */
+    public static function assertStringEndsWith($suffix, $string, $message = '')
+    {
+        if (!is_string($suffix)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that a string ends not with a given suffix.
+     *
+     * @param string $suffix
+     * @param string $string
+     * @param string $message
+     * @since  Method available since Release 3.4.0
+     */
+    public static function assertStringEndsNotWith($suffix, $string, $message = '')
+    {
+        if (!is_string($suffix)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!is_string($string)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        $constraint = new PHPUnit_Framework_Constraint_Not(
+            new PHPUnit_Framework_Constraint_StringEndsWith($suffix)
+        );
+
+        self::assertThat($string, $constraint, $message);
+    }
+
+    /**
+     * Asserts that two XML files are equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualFile
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertXmlFileEqualsXmlFile($expectedFile, $actualFile, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
+        $actual   = PHPUnit_Util_XML::loadFile($actualFile);
+
+        self::assertEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two XML files are not equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualFile
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertXmlFileNotEqualsXmlFile($expectedFile, $actualFile, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
+        $actual   = PHPUnit_Util_XML::loadFile($actualFile);
+
+        self::assertNotEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two XML documents are equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualXml
+     * @param string $message
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertXmlStringEqualsXmlFile($expectedFile, $actualXml, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
+        $actual   = PHPUnit_Util_XML::load($actualXml);
+
+        self::assertEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two XML documents are not equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualXml
+     * @param string $message
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertXmlStringNotEqualsXmlFile($expectedFile, $actualXml, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::loadFile($expectedFile);
+        $actual   = PHPUnit_Util_XML::load($actualXml);
+
+        self::assertNotEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two XML documents are equal.
+     *
+     * @param string $expectedXml
+     * @param string $actualXml
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertXmlStringEqualsXmlString($expectedXml, $actualXml, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::load($expectedXml);
+        $actual   = PHPUnit_Util_XML::load($actualXml);
+
+        self::assertEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two XML documents are not equal.
+     *
+     * @param string $expectedXml
+     * @param string $actualXml
+     * @param string $message
+     * @since  Method available since Release 3.1.0
+     */
+    public static function assertXmlStringNotEqualsXmlString($expectedXml, $actualXml, $message = '')
+    {
+        $expected = PHPUnit_Util_XML::load($expectedXml);
+        $actual   = PHPUnit_Util_XML::load($actualXml);
+
+        self::assertNotEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that a hierarchy of DOMElements matches.
+     *
+     * @param DOMElement $expectedElement
+     * @param DOMElement $actualElement
+     * @param bool       $checkAttributes
+     * @param string     $message
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertEqualXMLStructure(DOMElement $expectedElement, DOMElement $actualElement, $checkAttributes = false, $message = '')
+    {
+        $expectedElement = clone $expectedElement;
+        $actualElement   = clone $actualElement;
+
+        self::assertEquals(
+            $expectedElement->tagName,
+            $actualElement->tagName,
+            $message
+        );
+
+        if ($checkAttributes) {
+            self::assertEquals(
+                $expectedElement->attributes->length,
+                $actualElement->attributes->length,
+                sprintf(
+                    '%s%sNumber of attributes on node "%s" does not match',
+                    $message,
+                    !empty($message) ? "\n" : '',
+                    $expectedElement->tagName
+                )
+            );
+
+            for ($i = 0; $i < $expectedElement->attributes->length; $i++) {
+                $expectedAttribute = $expectedElement->attributes->item($i);
+                $actualAttribute   = $actualElement->attributes->getNamedItem(
+                    $expectedAttribute->name
+                );
+
+                if (!$actualAttribute) {
+                    self::fail(
+                        sprintf(
+                            '%s%sCould not find attribute "%s" on node "%s"',
+                            $message,
+                            !empty($message) ? "\n" : '',
+                            $expectedAttribute->name,
+                            $expectedElement->tagName
+                        )
+                    );
+                }
+            }
+        }
+
+        PHPUnit_Util_XML::removeCharacterDataNodes($expectedElement);
+        PHPUnit_Util_XML::removeCharacterDataNodes($actualElement);
+
+        self::assertEquals(
+            $expectedElement->childNodes->length,
+            $actualElement->childNodes->length,
+            sprintf(
+                '%s%sNumber of child nodes of "%s" differs',
+                $message,
+                !empty($message) ? "\n" : '',
+                $expectedElement->tagName
+            )
+        );
+
+        for ($i = 0; $i < $expectedElement->childNodes->length; $i++) {
+            self::assertEqualXMLStructure(
+                $expectedElement->childNodes->item($i),
+                $actualElement->childNodes->item($i),
+                $checkAttributes,
+                $message
+            );
+        }
+    }
+
+    /**
+     * Assert the presence, absence, or count of elements in a document matching
+     * the CSS $selector, regardless of the contents of those elements.
+     *
+     * The first argument, $selector, is the CSS selector used to match
+     * the elements in the $actual document.
+     *
+     * The second argument, $count, can be either boolean or numeric.
+     * When boolean, it asserts for presence of elements matching the selector
+     * (true) or absence of elements (false).
+     * When numeric, it asserts the count of elements.
+     *
+     * assertSelectCount("#binder", true, $xml);  // any?
+     * assertSelectCount(".binder", 3, $xml);     // exactly 3?
+     *
+     * @param array          $selector
+     * @param int|bool|array $count
+     * @param mixed          $actual
+     * @param string         $message
+     * @param bool           $isHtml
+     * @since  Method available since Release 3.3.0
+     * @deprecated
+     * @codeCoverageIgnore
+     */
+    public static function assertSelectCount($selector, $count, $actual, $message = '', $isHtml = true)
+    {
+        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+
+        self::assertSelectEquals(
+            $selector,
+            true,
+            $count,
+            $actual,
+            $message,
+            $isHtml
+        );
+    }
+
+    /**
+     * assertSelectRegExp("#binder .name", "/Mike|Derek/", true, $xml); // any?
+     * assertSelectRegExp("#binder .name", "/Mike|Derek/", 3, $xml);    // 3?
+     *
+     * @param array          $selector
+     * @param string         $pattern
+     * @param int|bool|array $count
+     * @param mixed          $actual
+     * @param string         $message
+     * @param bool           $isHtml
+     * @since  Method available since Release 3.3.0
+     * @deprecated
+     * @codeCoverageIgnore
+     */
+    public static function assertSelectRegExp($selector, $pattern, $count, $actual, $message = '', $isHtml = true)
+    {
+        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+
+        self::assertSelectEquals(
+            $selector,
+            "regexp:$pattern",
+            $count,
+            $actual,
+            $message,
+            $isHtml
+        );
+    }
+
+    /**
+     * assertSelectEquals("#binder .name", "Chuck", true,  $xml);  // any?
+     * assertSelectEquals("#binder .name", "Chuck", false, $xml);  // none?
+     *
+     * @param array          $selector
+     * @param string         $content
+     * @param int|bool|array $count
+     * @param mixed          $actual
+     * @param string         $message
+     * @param bool           $isHtml
+     * @since  Method available since Release 3.3.0
+     * @deprecated
+     * @codeCoverageIgnore
+     */
+    public static function assertSelectEquals($selector, $content, $count, $actual, $message = '', $isHtml = true)
+    {
+        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+
+        $tags = PHPUnit_Util_XML::cssSelect(
+            $selector,
+            $content,
+            $actual,
+            $isHtml
+        );
+
+        // assert specific number of elements
+        if (is_numeric($count)) {
+            $counted = $tags ? count($tags) : 0;
+            self::assertEquals($count, $counted, $message);
+        } // assert any elements exist if true, assert no elements exist if false
+        elseif (is_bool($count)) {
+            $any = count($tags) > 0 && $tags[0] instanceof DOMNode;
+
+            if ($count) {
+                self::assertTrue($any, $message);
+            } else {
+                self::assertFalse($any, $message);
+            }
+        } // check for range number of elements
+        elseif (is_array($count) &&
+                (isset($count['>']) || isset($count['<']) ||
+                isset($count['>=']) || isset($count['<=']))) {
+            $counted = $tags ? count($tags) : 0;
+
+            if (isset($count['>'])) {
+                self::assertTrue($counted > $count['>'], $message);
+            }
+
+            if (isset($count['>='])) {
+                self::assertTrue($counted >= $count['>='], $message);
+            }
+
+            if (isset($count['<'])) {
+                self::assertTrue($counted < $count['<'], $message);
+            }
+
+            if (isset($count['<='])) {
+                self::assertTrue($counted <= $count['<='], $message);
+            }
+        } else {
+            throw new PHPUnit_Framework_Exception;
+        }
+    }
+
+    /**
+     * Evaluate an HTML or XML string and assert its structure and/or contents.
+     *
+     * The first argument ($matcher) is an associative array that specifies the
+     * match criteria for the assertion:
+     *
+     *  - `id`           : the node with the given id attribute must match the
+     *                     corresponding value.
+     *  - `tag`          : the node type must match the corresponding value.
+     *  - `attributes`   : a hash. The node's attributes must match the
+     *                     corresponding values in the hash.
+     *  - `content`      : The text content must match the given value.
+     *  - `parent`       : a hash. The node's parent must match the
+     *                     corresponding hash.
+     *  - `child`        : a hash. At least one of the node's immediate children
+     *                     must meet the criteria described by the hash.
+     *  - `ancestor`     : a hash. At least one of the node's ancestors must
+     *                     meet the criteria described by the hash.
+     *  - `descendant`   : a hash. At least one of the node's descendants must
+     *                     meet the criteria described by the hash.
+     *  - `children`     : a hash, for counting children of a node.
+     *                     Accepts the keys:
+     *    - `count`        : a number which must equal the number of children
+     *                       that match
+     *    - `less_than`    : the number of matching children must be greater
+     *                       than this number
+     *    - `greater_than` : the number of matching children must be less than
+     *                       this number
+     *    - `only`         : another hash consisting of the keys to use to match
+     *                       on the children, and only matching children will be
+     *                       counted
+     *
+     * <code>
+     * // Matcher that asserts that there is an element with an id="my_id".
+     * $matcher = array('id' => 'my_id');
+     *
+     * // Matcher that asserts that there is a "span" tag.
+     * $matcher = array('tag' => 'span');
+     *
+     * // Matcher that asserts that there is a "span" tag with the content
+     * // "Hello World".
+     * $matcher = array('tag' => 'span', 'content' => 'Hello World');
+     *
+     * // Matcher that asserts that there is a "span" tag with content matching
+     * // the regular expression pattern.
+     * $matcher = array('tag' => 'span', 'content' => 'regexp:/Try P(HP|ython)/');
+     *
+     * // Matcher that asserts that there is a "span" with an "list" class
+     * // attribute.
+     * $matcher = array(
+     *   'tag'        => 'span',
+     *   'attributes' => array('class' => 'list')
+     * );
+     *
+     * // Matcher that asserts that there is a "span" inside of a "div".
+     * $matcher = array(
+     *   'tag'    => 'span',
+     *   'parent' => array('tag' => 'div')
+     * );
+     *
+     * // Matcher that asserts that there is a "span" somewhere inside a
+     * // "table".
+     * $matcher = array(
+     *   'tag'      => 'span',
+     *   'ancestor' => array('tag' => 'table')
+     * );
+     *
+     * // Matcher that asserts that there is a "span" with at least one "em"
+     * // child.
+     * $matcher = array(
+     *   'tag'   => 'span',
+     *   'child' => array('tag' => 'em')
+     * );
+     *
+     * // Matcher that asserts that there is a "span" containing a (possibly
+     * // nested) "strong" tag.
+     * $matcher = array(
+     *   'tag'        => 'span',
+     *   'descendant' => array('tag' => 'strong')
+     * );
+     *
+     * // Matcher that asserts that there is a "span" containing 5-10 "em" tags
+     * // as immediate children.
+     * $matcher = array(
+     *   'tag'      => 'span',
+     *   'children' => array(
+     *     'less_than'    => 11,
+     *     'greater_than' => 4,
+     *     'only'         => array('tag' => 'em')
+     *   )
+     * );
+     *
+     * // Matcher that asserts that there is a "div", with an "ul" ancestor and
+     * // a "li" parent (with class="enum"), and containing a "span" descendant
+     * // that contains an element with id="my_test" and the text "Hello World".
+     * $matcher = array(
+     *   'tag'        => 'div',
+     *   'ancestor'   => array('tag' => 'ul'),
+     *   'parent'     => array(
+     *     'tag'        => 'li',
+     *     'attributes' => array('class' => 'enum')
+     *   ),
+     *   'descendant' => array(
+     *     'tag'   => 'span',
+     *     'child' => array(
+     *       'id'      => 'my_test',
+     *       'content' => 'Hello World'
+     *     )
+     *   )
+     * );
+     *
+     * // Use assertTag() to apply a $matcher to a piece of $html.
+     * $this->assertTag($matcher, $html);
+     *
+     * // Use assertTag() to apply a $matcher to a piece of $xml.
+     * $this->assertTag($matcher, $xml, '', false);
+     * </code>
+     *
+     * The second argument ($actual) is a string containing either HTML or
+     * XML text to be tested.
+     *
+     * The third argument ($message) is an optional message that will be
+     * used if the assertion fails.
+     *
+     * The fourth argument ($html) is an optional flag specifying whether
+     * to load the $actual string into a DOMDocument using the HTML or
+     * XML load strategy.  It is true by default, which assumes the HTML
+     * load strategy.  In many cases, this will be acceptable for XML as well.
+     *
+     * @param array  $matcher
+     * @param string $actual
+     * @param string $message
+     * @param bool   $isHtml
+     * @since  Method available since Release 3.3.0
+     * @deprecated
+     * @codeCoverageIgnore
+     */
+    public static function assertTag($matcher, $actual, $message = '', $isHtml = true)
+    {
+        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+
+        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
+        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
+        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
+
+        self::assertTrue($matched, $message);
+    }
+
+    /**
+     * This assertion is the exact opposite of assertTag().
+     *
+     * Rather than asserting that $matcher results in a match, it asserts that
+     * $matcher does not match.
+     *
+     * @param array  $matcher
+     * @param string $actual
+     * @param string $message
+     * @param bool   $isHtml
+     * @since  Method available since Release 3.3.0
+     * @deprecated
+     * @codeCoverageIgnore
+     */
+    public static function assertNotTag($matcher, $actual, $message = '', $isHtml = true)
+    {
+        trigger_error(__METHOD__ . ' is deprecated', E_USER_DEPRECATED);
+
+        $dom     = PHPUnit_Util_XML::load($actual, $isHtml);
+        $tags    = PHPUnit_Util_XML::findNodes($dom, $matcher, $isHtml);
+        $matched = count($tags) > 0 && $tags[0] instanceof DOMNode;
+
+        self::assertFalse($matched, $message);
+    }
+
+    /**
+     * Evaluates a PHPUnit_Framework_Constraint matcher object.
+     *
+     * @param mixed                        $value
+     * @param PHPUnit_Framework_Constraint $constraint
+     * @param string                       $message
+     * @since  Method available since Release 3.0.0
+     */
+    public static function assertThat($value, PHPUnit_Framework_Constraint $constraint, $message = '')
+    {
+        self::$count += count($constraint);
+
+        $constraint->evaluate($value, $message);
+    }
+
+    /**
+     * Asserts that a string is a valid JSON string.
+     *
+     * @param string $actualJson
+     * @param string $message
+     * @since  Method available since Release 3.7.20
+     */
+    public static function assertJson($actualJson, $message = '')
+    {
+        if (!is_string($actualJson)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        self::assertThat($actualJson, self::isJson(), $message);
+    }
+
+    /**
+     * Asserts that two given JSON encoded objects or arrays are equal.
+     *
+     * @param string $expectedJson
+     * @param string $actualJson
+     * @param string $message
+     */
+    public static function assertJsonStringEqualsJsonString($expectedJson, $actualJson, $message = '')
+    {
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        $expected = json_decode($expectedJson);
+        $actual   = json_decode($actualJson);
+
+        self::assertEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that two given JSON encoded objects or arrays are not equal.
+     *
+     * @param string $expectedJson
+     * @param string $actualJson
+     * @param string $message
+     */
+    public static function assertJsonStringNotEqualsJsonString($expectedJson, $actualJson, $message = '')
+    {
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        $expected = json_decode($expectedJson);
+        $actual   = json_decode($actualJson);
+
+        self::assertNotEquals($expected, $actual, $message);
+    }
+
+    /**
+     * Asserts that the generated JSON encoded object and the content of the given file are equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualJson
+     * @param string $message
+     */
+    public static function assertJsonStringEqualsJsonFile($expectedFile, $actualJson, $message = '')
+    {
+        self::assertFileExists($expectedFile, $message);
+        $expectedJson = file_get_contents($expectedFile);
+
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        // call constraint
+        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
+            $expectedJson
+        );
+
+        self::assertThat($actualJson, $constraint, $message);
+    }
+
+    /**
+     * Asserts that the generated JSON encoded object and the content of the given file are not equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualJson
+     * @param string $message
+     */
+    public static function assertJsonStringNotEqualsJsonFile($expectedFile, $actualJson, $message = '')
+    {
+        self::assertFileExists($expectedFile, $message);
+        $expectedJson = file_get_contents($expectedFile);
+
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        // call constraint
+        $constraint = new PHPUnit_Framework_Constraint_JsonMatches(
+            $expectedJson
+        );
+
+        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraint), $message);
+    }
+
+    /**
+     * Asserts that two JSON files are not equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualFile
+     * @param string $message
+     */
+    public static function assertJsonFileNotEqualsJsonFile($expectedFile, $actualFile, $message = '')
+    {
+        self::assertFileExists($expectedFile, $message);
+        self::assertFileExists($actualFile, $message);
+
+        $actualJson   = file_get_contents($actualFile);
+        $expectedJson = file_get_contents($expectedFile);
+
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        // call constraint
+        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
+            $expectedJson
+        );
+
+        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
+
+        self::assertThat($expectedJson, new PHPUnit_Framework_Constraint_Not($constraintActual), $message);
+        self::assertThat($actualJson, new PHPUnit_Framework_Constraint_Not($constraintExpected), $message);
+    }
+
+    /**
+     * Asserts that two JSON files are equal.
+     *
+     * @param string $expectedFile
+     * @param string $actualFile
+     * @param string $message
+     */
+    public static function assertJsonFileEqualsJsonFile($expectedFile, $actualFile, $message = '')
+    {
+        self::assertFileExists($expectedFile, $message);
+        self::assertFileExists($actualFile, $message);
+
+        $actualJson   = file_get_contents($actualFile);
+        $expectedJson = file_get_contents($expectedFile);
+
+        self::assertJson($expectedJson, $message);
+        self::assertJson($actualJson, $message);
+
+        // call constraint
+        $constraintExpected = new PHPUnit_Framework_Constraint_JsonMatches(
+            $expectedJson
+        );
+
+        $constraintActual = new PHPUnit_Framework_Constraint_JsonMatches($actualJson);
+
+        self::assertThat($expectedJson, $constraintActual, $message);
+        self::assertThat($actualJson, $constraintExpected, $message);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_And matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_And
+     * @since  Method available since Release 3.0.0
+     */
+    public static function logicalAnd()
+    {
+        $constraints = func_get_args();
+
+        $constraint = new PHPUnit_Framework_Constraint_And;
+        $constraint->setConstraints($constraints);
+
+        return $constraint;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Or matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_Or
+     * @since  Method available since Release 3.0.0
+     */
+    public static function logicalOr()
+    {
+        $constraints = func_get_args();
+
+        $constraint = new PHPUnit_Framework_Constraint_Or;
+        $constraint->setConstraints($constraints);
+
+        return $constraint;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Not matcher object.
+     *
+     * @param  PHPUnit_Framework_Constraint     $constraint
+     * @return PHPUnit_Framework_Constraint_Not
+     * @since  Method available since Release 3.0.0
+     */
+    public static function logicalNot(PHPUnit_Framework_Constraint $constraint)
+    {
+        return new PHPUnit_Framework_Constraint_Not($constraint);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Xor matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_Xor
+     * @since  Method available since Release 3.0.0
+     */
+    public static function logicalXor()
+    {
+        $constraints = func_get_args();
+
+        $constraint = new PHPUnit_Framework_Constraint_Xor;
+        $constraint->setConstraints($constraints);
+
+        return $constraint;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsAnything matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsAnything
+     * @since  Method available since Release 3.0.0
+     */
+    public static function anything()
+    {
+        return new PHPUnit_Framework_Constraint_IsAnything;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsTrue
+     * @since  Method available since Release 3.3.0
+     */
+    public static function isTrue()
+    {
+        return new PHPUnit_Framework_Constraint_IsTrue;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Callback matcher object.
+     *
+     * @param  callable                              $callback
+     * @return PHPUnit_Framework_Constraint_Callback
+     */
+    public static function callback($callback)
+    {
+        return new PHPUnit_Framework_Constraint_Callback($callback);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsFalse matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsFalse
+     * @since  Method available since Release 3.3.0
+     */
+    public static function isFalse()
+    {
+        return new PHPUnit_Framework_Constraint_IsFalse;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsJson matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsJson
+     * @since  Method available since Release 3.7.20
+     */
+    public static function isJson()
+    {
+        return new PHPUnit_Framework_Constraint_IsJson;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsNull
+     * @since  Method available since Release 3.3.0
+     */
+    public static function isNull()
+    {
+        return new PHPUnit_Framework_Constraint_IsNull;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Attribute matcher object.
+     *
+     * @param  PHPUnit_Framework_Constraint           $constraint
+     * @param  string                                 $attributeName
+     * @return PHPUnit_Framework_Constraint_Attribute
+     * @since  Method available since Release 3.1.0
+     */
+    public static function attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)
+    {
+        return new PHPUnit_Framework_Constraint_Attribute(
+            $constraint,
+            $attributeName
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_TraversableContains matcher
+     * object.
+     *
+     * @param  mixed                                            $value
+     * @param  bool                                             $checkForObjectIdentity
+     * @param  bool                                             $checkForNonObjectIdentity
+     * @return PHPUnit_Framework_Constraint_TraversableContains
+     * @since  Method available since Release 3.0.0
+     */
+    public static function contains($value, $checkForObjectIdentity = true, $checkForNonObjectIdentity = false)
+    {
+        return new PHPUnit_Framework_Constraint_TraversableContains($value, $checkForObjectIdentity, $checkForNonObjectIdentity);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
+     * object.
+     *
+     * @param  string                                               $type
+     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
+     * @since  Method available since Release 3.1.4
+     */
+    public static function containsOnly($type)
+    {
+        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($type);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_TraversableContainsOnly matcher
+     * object.
+     *
+     * @param  string                                               $classname
+     * @return PHPUnit_Framework_Constraint_TraversableContainsOnly
+     */
+    public static function containsOnlyInstancesOf($classname)
+    {
+        return new PHPUnit_Framework_Constraint_TraversableContainsOnly($classname, false);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_ArrayHasKey matcher object.
+     *
+     * @param  mixed                                    $key
+     * @return PHPUnit_Framework_Constraint_ArrayHasKey
+     * @since  Method available since Release 3.0.0
+     */
+    public static function arrayHasKey($key)
+    {
+        return new PHPUnit_Framework_Constraint_ArrayHasKey($key);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object.
+     *
+     * @param  mixed                                $value
+     * @param  float                                $delta
+     * @param  int                                  $maxDepth
+     * @param  bool                                 $canonicalize
+     * @param  bool                                 $ignoreCase
+     * @return PHPUnit_Framework_Constraint_IsEqual
+     * @since  Method available since Release 3.0.0
+     */
+    public static function equalTo($value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        return new PHPUnit_Framework_Constraint_IsEqual(
+            $value,
+            $delta,
+            $maxDepth,
+            $canonicalize,
+            $ignoreCase
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsEqual matcher object
+     * that is wrapped in a PHPUnit_Framework_Constraint_Attribute matcher
+     * object.
+     *
+     * @param  string                                 $attributeName
+     * @param  mixed                                  $value
+     * @param  float                                  $delta
+     * @param  int                                    $maxDepth
+     * @param  bool                                   $canonicalize
+     * @param  bool                                   $ignoreCase
+     * @return PHPUnit_Framework_Constraint_Attribute
+     * @since  Method available since Release 3.1.0
+     */
+    public static function attributeEqualTo($attributeName, $value, $delta = 0.0, $maxDepth = 10, $canonicalize = false, $ignoreCase = false)
+    {
+        return self::attribute(
+            self::equalTo(
+                $value,
+                $delta,
+                $maxDepth,
+                $canonicalize,
+                $ignoreCase
+            ),
+            $attributeName
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsEmpty matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_IsEmpty
+     * @since  Method available since Release 3.5.0
+     */
+    public static function isEmpty()
+    {
+        return new PHPUnit_Framework_Constraint_IsEmpty;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_FileExists matcher object.
+     *
+     * @return PHPUnit_Framework_Constraint_FileExists
+     * @since  Method available since Release 3.0.0
+     */
+    public static function fileExists()
+    {
+        return new PHPUnit_Framework_Constraint_FileExists;
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_GreaterThan matcher object.
+     *
+     * @param  mixed                                    $value
+     * @return PHPUnit_Framework_Constraint_GreaterThan
+     * @since  Method available since Release 3.0.0
+     */
+    public static function greaterThan($value)
+    {
+        return new PHPUnit_Framework_Constraint_GreaterThan($value);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
+     * a PHPUnit_Framework_Constraint_IsEqual and a
+     * PHPUnit_Framework_Constraint_GreaterThan matcher object.
+     *
+     * @param  mixed                           $value
+     * @return PHPUnit_Framework_Constraint_Or
+     * @since  Method available since Release 3.1.0
+     */
+    public static function greaterThanOrEqual($value)
+    {
+        return self::logicalOr(
+            new PHPUnit_Framework_Constraint_IsEqual($value),
+            new PHPUnit_Framework_Constraint_GreaterThan($value)
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_ClassHasAttribute matcher object.
+     *
+     * @param  string                                         $attributeName
+     * @return PHPUnit_Framework_Constraint_ClassHasAttribute
+     * @since  Method available since Release 3.1.0
+     */
+    public static function classHasAttribute($attributeName)
+    {
+        return new PHPUnit_Framework_Constraint_ClassHasAttribute(
+            $attributeName
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_ClassHasStaticAttribute matcher
+     * object.
+     *
+     * @param  string                                               $attributeName
+     * @return PHPUnit_Framework_Constraint_ClassHasStaticAttribute
+     * @since  Method available since Release 3.1.0
+     */
+    public static function classHasStaticAttribute($attributeName)
+    {
+        return new PHPUnit_Framework_Constraint_ClassHasStaticAttribute(
+            $attributeName
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_ObjectHasAttribute matcher object.
+     *
+     * @param  string                                          $attributeName
+     * @return PHPUnit_Framework_Constraint_ObjectHasAttribute
+     * @since  Method available since Release 3.0.0
+     */
+    public static function objectHasAttribute($attributeName)
+    {
+        return new PHPUnit_Framework_Constraint_ObjectHasAttribute(
+            $attributeName
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsIdentical matcher object.
+     *
+     * @param  mixed                                    $value
+     * @return PHPUnit_Framework_Constraint_IsIdentical
+     * @since  Method available since Release 3.0.0
+     */
+    public static function identicalTo($value)
+    {
+        return new PHPUnit_Framework_Constraint_IsIdentical($value);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsInstanceOf matcher object.
+     *
+     * @param  string                                    $className
+     * @return PHPUnit_Framework_Constraint_IsInstanceOf
+     * @since  Method available since Release 3.0.0
+     */
+    public static function isInstanceOf($className)
+    {
+        return new PHPUnit_Framework_Constraint_IsInstanceOf($className);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_IsType matcher object.
+     *
+     * @param  string                              $type
+     * @return PHPUnit_Framework_Constraint_IsType
+     * @since  Method available since Release 3.0.0
+     */
+    public static function isType($type)
+    {
+        return new PHPUnit_Framework_Constraint_IsType($type);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_LessThan matcher object.
+     *
+     * @param  mixed                                 $value
+     * @return PHPUnit_Framework_Constraint_LessThan
+     * @since  Method available since Release 3.0.0
+     */
+    public static function lessThan($value)
+    {
+        return new PHPUnit_Framework_Constraint_LessThan($value);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Or matcher object that wraps
+     * a PHPUnit_Framework_Constraint_IsEqual and a
+     * PHPUnit_Framework_Constraint_LessThan matcher object.
+     *
+     * @param  mixed                           $value
+     * @return PHPUnit_Framework_Constraint_Or
+     * @since  Method available since Release 3.1.0
+     */
+    public static function lessThanOrEqual($value)
+    {
+        return self::logicalOr(
+            new PHPUnit_Framework_Constraint_IsEqual($value),
+            new PHPUnit_Framework_Constraint_LessThan($value)
+        );
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_PCREMatch matcher object.
+     *
+     * @param  string                                 $pattern
+     * @return PHPUnit_Framework_Constraint_PCREMatch
+     * @since  Method available since Release 3.0.0
+     */
+    public static function matchesRegularExpression($pattern)
+    {
+        return new PHPUnit_Framework_Constraint_PCREMatch($pattern);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_StringMatches matcher object.
+     *
+     * @param  string                                     $string
+     * @return PHPUnit_Framework_Constraint_StringMatches
+     * @since  Method available since Release 3.5.0
+     */
+    public static function matches($string)
+    {
+        return new PHPUnit_Framework_Constraint_StringMatches($string);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_StringStartsWith matcher object.
+     *
+     * @param  mixed                                         $prefix
+     * @return PHPUnit_Framework_Constraint_StringStartsWith
+     * @since  Method available since Release 3.4.0
+     */
+    public static function stringStartsWith($prefix)
+    {
+        return new PHPUnit_Framework_Constraint_StringStartsWith($prefix);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_StringContains matcher object.
+     *
+     * @param  string                                      $string
+     * @param  bool                                        $case
+     * @return PHPUnit_Framework_Constraint_StringContains
+     * @since  Method available since Release 3.0.0
+     */
+    public static function stringContains($string, $case = true)
+    {
+        return new PHPUnit_Framework_Constraint_StringContains($string, $case);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_StringEndsWith matcher object.
+     *
+     * @param  mixed                                       $suffix
+     * @return PHPUnit_Framework_Constraint_StringEndsWith
+     * @since  Method available since Release 3.4.0
+     */
+    public static function stringEndsWith($suffix)
+    {
+        return new PHPUnit_Framework_Constraint_StringEndsWith($suffix);
+    }
+
+    /**
+     * Returns a PHPUnit_Framework_Constraint_Count matcher object.
+     *
+     * @param  int                                $count
+     * @return PHPUnit_Framework_Constraint_Count
+     */
+    public static function countOf($count)
+    {
+        return new PHPUnit_Framework_Constraint_Count($count);
+    }
+    /**
+     * Fails a test with the given message.
+     *
+     * @param  string                                 $message
+     * @throws PHPUnit_Framework_AssertionFailedError
+     */
+    public static function fail($message = '')
+    {
+        throw new PHPUnit_Framework_AssertionFailedError($message);
+    }
+
+    /**
+     * Returns the value of an attribute of a class or an object.
+     * This also works for attributes that are declared protected or private.
+     *
+     * @param  mixed                       $classOrObject
+     * @param  string                      $attributeName
+     * @return mixed
+     * @throws PHPUnit_Framework_Exception
+     */
+    public static function readAttribute($classOrObject, $attributeName)
+    {
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
+        }
+
+        if (is_string($classOrObject)) {
+            if (!class_exists($classOrObject)) {
+                throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                    1,
+                    'class name'
+                );
+            }
+
+            return self::getStaticAttribute(
+                $classOrObject,
+                $attributeName
+            );
+        } elseif (is_object($classOrObject)) {
+            return self::getObjectAttribute(
+                $classOrObject,
+                $attributeName
+            );
+        } else {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(
+                1,
+                'class name or object'
+            );
+        }
+    }
+
+    /**
+     * Returns the value of a static attribute.
+     * This also works for attributes that are declared protected or private.
+     *
+     * @param  string                      $className
+     * @param  string                      $attributeName
+     * @return mixed
+     * @throws PHPUnit_Framework_Exception
+     * @since  Method available since Release 4.0.0
+     */
+    public static function getStaticAttribute($className, $attributeName)
+    {
+        if (!is_string($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'string');
+        }
+
+        if (!class_exists($className)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'class name');
+        }
+
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
+        }
+
+        $class = new ReflectionClass($className);
+
+        while ($class) {
+            $attributes = $class->getStaticProperties();
+
+            if (array_key_exists($attributeName, $attributes)) {
+                return $attributes[$attributeName];
+            }
+
+            $class = $class->getParentClass();
+        }
+
+        throw new PHPUnit_Framework_Exception(
+            sprintf(
+                'Attribute "%s" not found in class.',
+                $attributeName
+            )
+        );
+    }
+
+    /**
+     * Returns the value of an object's attribute.
+     * This also works for attributes that are declared protected or private.
+     *
+     * @param  object                      $object
+     * @param  string                      $attributeName
+     * @return mixed
+     * @throws PHPUnit_Framework_Exception
+     * @since  Method available since Release 4.0.0
+     */
+    public static function getObjectAttribute($object, $attributeName)
+    {
+        if (!is_object($object)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(1, 'object');
+        }
+
+        if (!is_string($attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'string');
+        }
+
+        if (!preg_match('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $attributeName)) {
+            throw PHPUnit_Util_InvalidArgumentHelper::factory(2, 'valid attribute name');
+        }
+
+        try {
+            $attribute = new ReflectionProperty($object, $attributeName);
+        } catch (ReflectionException $e) {
+            $reflector = new ReflectionObject($object);
+
+            while ($reflector = $reflector->getParentClass()) {
+                try {
+                    $attribute = $reflector->getProperty($attributeName);
+                    break;
+                } catch (ReflectionException $e) {
+                }
+            }
+        }
+
+        if (isset($attribute)) {
+            if (!$attribute || $attribute->isPublic()) {
+                return $object->$attributeName;
+            }
+
+            $attribute->setAccessible(true);
+            $value = $attribute->getValue($object);
+            $attribute->setAccessible(false);
+
+            return $value;
+        }
+
+        throw new PHPUnit_Framework_Exception(
+            sprintf(
+                'Attribute "%s" not found in object.',
+                $attributeName
+            )
+        );
+    }
+
+    /**
+     * Mark the test as incomplete.
+     *
+     * @param  string                                $message
+     * @throws PHPUnit_Framework_IncompleteTestError
+     * @since  Method available since Release 3.0.0
+     */
+    public static function markTestIncomplete($message = '')
+    {
+        throw new PHPUnit_Framework_IncompleteTestError($message);
+    }
+
+    /**
+     * Mark the test as skipped.
+     *
+     * @param  string                             $message
+     * @throws PHPUnit_Framework_SkippedTestError
+     * @since  Method available since Release 3.0.0
+     */
+    public static function markTestSkipped($message = '')
+    {
+        throw new PHPUnit_Framework_SkippedTestError($message);
+    }
+
+    /**
+     * Return the current assertion count.
+     *
+     * @return int
+     * @since  Method available since Release 3.3.3
+     */
+    public static function getCount()
+    {
+        return self::$count;
+    }
+
+    /**
+     * Reset the assertion counter.
+     *
+     * @since  Method available since Release 3.3.3
+     */
+    public static function resetCount()
+    {
+        self::$count = 0;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
rename to vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php b/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php
rename to vendor/phpunit/phpunit/src/Framework/AssertionFailedError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php b/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/BaseTestListener.php
rename to vendor/phpunit/phpunit/src/Framework/BaseTestListener.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php b/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php
rename to vendor/phpunit/phpunit/src/Framework/CodeCoverageException.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint.php b/vendor/phpunit/phpunit/src/Framework/Constraint.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/And.php b/vendor/phpunit/phpunit/src/Framework/Constraint/And.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/And.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/And.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Count.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegExp.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php b/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php b/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php b/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php b/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php b/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches/ErrorMessageProvider.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php b/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Not.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php b/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Or.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Or.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php b/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/PCREMatch.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php b/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php b/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php b/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php b/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/StringMatches.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php b/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php b/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php b/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php
rename to vendor/phpunit/phpunit/src/Framework/Constraint/Xor.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error.php b/vendor/phpunit/phpunit/src/Framework/Error.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Error.php
rename to vendor/phpunit/phpunit/src/Framework/Error.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php b/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php
rename to vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Notice.php b/vendor/phpunit/phpunit/src/Framework/Error/Notice.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Error/Notice.php
rename to vendor/phpunit/phpunit/src/Framework/Error/Notice.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Error/Warning.php b/vendor/phpunit/phpunit/src/Framework/Error/Warning.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Error/Warning.php
rename to vendor/phpunit/phpunit/src/Framework/Error/Warning.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Exception.php b/vendor/phpunit/phpunit/src/Framework/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Exception.php
rename to vendor/phpunit/phpunit/src/Framework/Exception.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php b/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php
rename to vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php b/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php
rename to vendor/phpunit/phpunit/src/Framework/ExpectationFailedException.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php b/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php
rename to vendor/phpunit/phpunit/src/Framework/IncompleteTest.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php b/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php
rename to vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php b/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php
rename to vendor/phpunit/phpunit/src/Framework/IncompleteTestError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php b/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php
rename to vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php b/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php
rename to vendor/phpunit/phpunit/src/Framework/InvalidCoversTargetException.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/OutputError.php b/vendor/phpunit/phpunit/src/Framework/OutputError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/OutputError.php
rename to vendor/phpunit/phpunit/src/Framework/OutputError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/RiskyTest.php b/vendor/phpunit/phpunit/src/Framework/RiskyTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/RiskyTest.php
rename to vendor/phpunit/phpunit/src/Framework/RiskyTest.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php b/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/RiskyTestError.php
rename to vendor/phpunit/phpunit/src/Framework/RiskyTestError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php b/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php
rename to vendor/phpunit/phpunit/src/Framework/SelfDescribing.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTest.php b/vendor/phpunit/phpunit/src/Framework/SkippedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SkippedTest.php
rename to vendor/phpunit/phpunit/src/Framework/SkippedTest.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php b/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php
rename to vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php b/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SkippedTestError.php
rename to vendor/phpunit/phpunit/src/Framework/SkippedTestError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php b/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php
rename to vendor/phpunit/phpunit/src/Framework/SkippedTestSuiteError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/SyntheticError.php b/vendor/phpunit/phpunit/src/Framework/SyntheticError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/SyntheticError.php
rename to vendor/phpunit/phpunit/src/Framework/SyntheticError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Test.php b/vendor/phpunit/phpunit/src/Framework/Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Test.php
rename to vendor/phpunit/phpunit/src/Framework/Test.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestCase.php b/vendor/phpunit/phpunit/src/Framework/TestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestCase.php
rename to vendor/phpunit/phpunit/src/Framework/TestCase.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestFailure.php b/vendor/phpunit/phpunit/src/Framework/TestFailure.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestFailure.php
rename to vendor/phpunit/phpunit/src/Framework/TestFailure.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestListener.php b/vendor/phpunit/phpunit/src/Framework/TestListener.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestListener.php
rename to vendor/phpunit/phpunit/src/Framework/TestListener.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestResult.php b/vendor/phpunit/phpunit/src/Framework/TestResult.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestResult.php
rename to vendor/phpunit/phpunit/src/Framework/TestResult.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestSuite.php b/vendor/phpunit/phpunit/src/Framework/TestSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestSuite.php
rename to vendor/phpunit/phpunit/src/Framework/TestSuite.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php b/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php
rename to vendor/phpunit/phpunit/src/Framework/TestSuite/DataProvider.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php b/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php
rename to vendor/phpunit/phpunit/src/Framework/UnintentionallyCoveredCodeError.php
diff --git a/core/vendor/phpunit/phpunit/src/Framework/Warning.php b/vendor/phpunit/phpunit/src/Framework/Warning.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Framework/Warning.php
rename to vendor/phpunit/phpunit/src/Framework/Warning.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php b/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php
rename to vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Exception.php b/vendor/phpunit/phpunit/src/Runner/Exception.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Exception.php
rename to vendor/phpunit/phpunit/src/Runner/Exception.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php b/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
rename to vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group.php b/vendor/phpunit/phpunit/src/Runner/Filter/Group.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Filter/Group.php
rename to vendor/phpunit/phpunit/src/Runner/Filter/Group.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php b/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php
rename to vendor/phpunit/phpunit/src/Runner/Filter/Group/Exclude.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php b/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php
rename to vendor/phpunit/phpunit/src/Runner/Filter/Group/Include.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/Filter/Test.php b/vendor/phpunit/phpunit/src/Runner/Filter/Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/Filter/Test.php
rename to vendor/phpunit/phpunit/src/Runner/Filter/Test.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php b/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php
rename to vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php
diff --git a/core/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php b/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php
rename to vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php
diff --git a/vendor/phpunit/phpunit/src/Runner/Version.php b/vendor/phpunit/phpunit/src/Runner/Version.php
new file mode 100644
index 0000000..d7ff4a9
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Runner/Version.php
@@ -0,0 +1,64 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * This class defines the current version of PHPUnit.
+ *
+ * @since Class available since Release 2.0.0
+ */
+class PHPUnit_Runner_Version
+{
+    private static $pharVersion;
+    private static $version;
+
+    /**
+     * Returns the current version of PHPUnit.
+     *
+     * @return string
+     */
+    public static function id()
+    {
+        if (self::$pharVersion !== null) {
+            return self::$pharVersion;
+        }
+
+        if (self::$version === null) {
+            $version       = new SebastianBergmann\Version('4.8.9', dirname(dirname(__DIR__)));
+            self::$version = $version->getVersion();
+        }
+
+        return self::$version;
+    }
+
+    /**
+     * @return string
+     */
+    public static function getVersionString()
+    {
+        return 'PHPUnit ' . self::id() . ' by Sebastian Bergmann and contributors.';
+    }
+
+    /**
+     * @return string
+     * @since  Method available since Release 4.0.0
+     */
+    public static function getReleaseChannel()
+    {
+        if (strpos(self::$pharVersion, 'alpha') !== false) {
+            return '-alpha';
+        }
+
+        if (strpos(self::$pharVersion, 'beta') !== false) {
+            return '-beta';
+        }
+
+        return '';
+    }
+}
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/Command.php b/vendor/phpunit/phpunit/src/TextUI/Command.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/TextUI/Command.php
rename to vendor/phpunit/phpunit/src/TextUI/Command.php
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php b/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php
rename to vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php
diff --git a/core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php b/vendor/phpunit/phpunit/src/TextUI/TestRunner.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/TextUI/TestRunner.php
rename to vendor/phpunit/phpunit/src/TextUI/TestRunner.php
diff --git a/vendor/phpunit/phpunit/src/Util/Blacklist.php b/vendor/phpunit/phpunit/src/Util/Blacklist.php
new file mode 100644
index 0000000..35a053e
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Util/Blacklist.php
@@ -0,0 +1,113 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Utility class for blacklisting PHPUnit's own source code files.
+ *
+ * @since Class available since Release 4.0.0
+ */
+class PHPUnit_Util_Blacklist
+{
+    /**
+     * @var array
+     */
+    public static $blacklistedClassNames = array(
+        'File_Iterator'                              => 1,
+        'PHP_CodeCoverage'                           => 1,
+        'PHP_Invoker'                                => 1,
+        'PHP_Timer'                                  => 1,
+        'PHP_Token'                                  => 1,
+        'PHPUnit_Framework_TestCase'                 => 2,
+        'PHPUnit_Extensions_Database_TestCase'       => 2,
+        'PHPUnit_Framework_MockObject_Generator'     => 2,
+        'PHPUnit_Extensions_SeleniumTestCase'        => 2,
+        'Text_Template'                              => 1,
+        'Symfony\Component\Yaml\Yaml'                => 1,
+        'SebastianBergmann\Diff\Diff'                => 1,
+        'SebastianBergmann\Environment\Runtime'      => 1,
+        'SebastianBergmann\Comparator\Comparator'    => 1,
+        'SebastianBergmann\Exporter\Exporter'        => 1,
+        'SebastianBergmann\GlobalState\Snapshot'     => 1,
+        'SebastianBergmann\RecursionContext\Context' => 1,
+        'SebastianBergmann\Version'                  => 1,
+        'Composer\Autoload\ClassLoader'              => 1,
+        'Doctrine\Instantiator\Instantiator'         => 1,
+        'phpDocumentor\Reflection\DocBlock'          => 1,
+        'Prophecy\Prophet'                           => 1
+    );
+
+    /**
+     * @var array
+     */
+    private static $directories;
+
+    /**
+     * @return array
+     * @since  Method available since Release 4.1.0
+     */
+    public function getBlacklistedDirectories()
+    {
+        $this->initialize();
+
+        return self::$directories;
+    }
+
+    /**
+     * @param  string $file
+     * @return bool
+     */
+    public function isBlacklisted($file)
+    {
+        if (defined('PHPUNIT_TESTSUITE')) {
+            return false;
+        }
+
+        $this->initialize();
+
+        foreach (self::$directories as $directory) {
+            if (strpos($file, $directory) === 0) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    private function initialize()
+    {
+        if (self::$directories === null) {
+            self::$directories = array();
+
+            foreach (self::$blacklistedClassNames as $className => $parent) {
+                if (!class_exists($className)) {
+                    continue;
+                }
+
+                $reflector = new ReflectionClass($className);
+                $directory = $reflector->getFileName();
+
+                for ($i = 0; $i < $parent; $i++) {
+                    $directory = dirname($directory);
+                }
+
+                self::$directories[] = $directory;
+            }
+
+            // Hide process isolation workaround on Windows.
+            // @see PHPUnit_Util_PHP::factory()
+            // @see PHPUnit_Util_PHP_Windows::process()
+            if (DIRECTORY_SEPARATOR === '\\') {
+                // tempnam() prefix is limited to first 3 chars.
+                // @see http://php.net/manual/en/function.tempnam.php
+                self::$directories[] = sys_get_temp_dir() . '\\PHP';
+            }
+        }
+    }
+}
diff --git a/vendor/phpunit/phpunit/src/Util/Configuration.php b/vendor/phpunit/phpunit/src/Util/Configuration.php
new file mode 100644
index 0000000..eab3b65
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Util/Configuration.php
@@ -0,0 +1,1133 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Wrapper for the PHPUnit XML configuration file.
+ *
+ * Example XML configuration file:
+ * <code>
+ * <?xml version="1.0" encoding="utf-8" ?>
+ *
+ * <phpunit backupGlobals="true"
+ *          backupStaticAttributes="false"
+ *          bootstrap="/path/to/bootstrap.php"
+ *          cacheTokens="false"
+ *          columns="80"
+ *          colors="false"
+ *          stderr="false"
+ *          convertErrorsToExceptions="true"
+ *          convertNoticesToExceptions="true"
+ *          convertWarningsToExceptions="true"
+ *          forceCoversAnnotation="false"
+ *          mapTestClassNameToCoveredClassName="false"
+ *          printerClass="PHPUnit_TextUI_ResultPrinter"
+ *          processIsolation="false"
+ *          stopOnError="false"
+ *          stopOnFailure="false"
+ *          stopOnIncomplete="false"
+ *          stopOnRisky="false"
+ *          stopOnSkipped="false"
+ *          testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader"
+ *          timeoutForSmallTests="1"
+ *          timeoutForMediumTests="10"
+ *          timeoutForLargeTests="60"
+ *          beStrictAboutTestsThatDoNotTestAnything="false"
+ *          beStrictAboutOutputDuringTests="false"
+ *          beStrictAboutTestSize="false"
+ *          beStrictAboutTodoAnnotatedTests="false"
+ *          checkForUnintentionallyCoveredCode="false"
+ *          disallowChangesToGlobalState="false"
+ *          verbose="false">
+ *   <testsuites>
+ *     <testsuite name="My Test Suite">
+ *       <directory suffix="Test.php" phpVersion="5.3.0" phpVersionOperator=">=">/path/to/files</directory>
+ *       <file phpVersion="5.3.0" phpVersionOperator=">=">/path/to/MyTest.php</file>
+ *       <exclude>/path/to/files/exclude</exclude>
+ *     </testsuite>
+ *   </testsuites>
+ *
+ *   <groups>
+ *     <include>
+ *       <group>name</group>
+ *     </include>
+ *     <exclude>
+ *       <group>name</group>
+ *     </exclude>
+ *   </groups>
+ *
+ *   <filter>
+ *     <blacklist>
+ *       <directory suffix=".php">/path/to/files</directory>
+ *       <file>/path/to/file</file>
+ *       <exclude>
+ *         <directory suffix=".php">/path/to/files</directory>
+ *         <file>/path/to/file</file>
+ *       </exclude>
+ *     </blacklist>
+ *     <whitelist addUncoveredFilesFromWhitelist="true"
+ *                processUncoveredFilesFromWhitelist="false">
+ *       <directory suffix=".php">/path/to/files</directory>
+ *       <file>/path/to/file</file>
+ *       <exclude>
+ *         <directory suffix=".php">/path/to/files</directory>
+ *         <file>/path/to/file</file>
+ *       </exclude>
+ *     </whitelist>
+ *   </filter>
+ *
+ *   <listeners>
+ *     <listener class="MyListener" file="/optional/path/to/MyListener.php">
+ *       <arguments>
+ *         <array>
+ *           <element key="0">
+ *             <string>Sebastian</string>
+ *           </element>
+ *         </array>
+ *         <integer>22</integer>
+ *         <string>April</string>
+ *         <double>19.78</double>
+ *         <null/>
+ *         <object class="stdClass"/>
+ *         <file>MyRelativeFile.php</file>
+ *         <directory>MyRelativeDir</directory>
+ *       </arguments>
+ *     </listener>
+ *   </listeners>
+ *
+ *   <logging>
+ *     <log type="coverage-html" target="/tmp/report" lowUpperBound="50" highLowerBound="90"/>
+ *     <log type="coverage-clover" target="/tmp/clover.xml"/>
+ *     <log type="coverage-crap4j" target="/tmp/crap.xml" threshold="30"/>
+ *     <log type="json" target="/tmp/logfile.json"/>
+ *     <log type="plain" target="/tmp/logfile.txt"/>
+ *     <log type="tap" target="/tmp/logfile.tap"/>
+ *     <log type="junit" target="/tmp/logfile.xml" logIncompleteSkipped="false"/>
+ *     <log type="testdox-html" target="/tmp/testdox.html"/>
+ *     <log type="testdox-text" target="/tmp/testdox.txt"/>
+ *   </logging>
+ *
+ *   <php>
+ *     <includePath>.</includePath>
+ *     <ini name="foo" value="bar"/>
+ *     <const name="foo" value="bar"/>
+ *     <var name="foo" value="bar"/>
+ *     <env name="foo" value="bar"/>
+ *     <post name="foo" value="bar"/>
+ *     <get name="foo" value="bar"/>
+ *     <cookie name="foo" value="bar"/>
+ *     <server name="foo" value="bar"/>
+ *     <files name="foo" value="bar"/>
+ *     <request name="foo" value="bar"/>
+ *   </php>
+ *
+ *   <selenium>
+ *     <browser name="Firefox on Linux"
+ *              browser="*firefox /usr/lib/firefox/firefox-bin"
+ *              host="my.linux.box"
+ *              port="4444"
+ *              timeout="30000"/>
+ *   </selenium>
+ * </phpunit>
+ * </code>
+ *
+ * @since Class available since Release 3.2.0
+ */
+class PHPUnit_Util_Configuration
+{
+    private static $instances = array();
+
+    protected $document;
+    protected $xpath;
+    protected $filename;
+
+    /**
+     * Loads a PHPUnit configuration file.
+     *
+     * @param string $filename
+     */
+    protected function __construct($filename)
+    {
+        $this->filename = $filename;
+        $this->document = PHPUnit_Util_XML::loadFile($filename, false, true, true);
+        $this->xpath    = new DOMXPath($this->document);
+    }
+
+    /**
+     * @since  Method available since Release 3.4.0
+     */
+    final private function __clone()
+    {
+    }
+
+    /**
+     * Returns a PHPUnit configuration object.
+     *
+     * @param  string                     $filename
+     * @return PHPUnit_Util_Configuration
+     * @since  Method available since Release 3.4.0
+     */
+    public static function getInstance($filename)
+    {
+        $realpath = realpath($filename);
+
+        if ($realpath === false) {
+            throw new PHPUnit_Framework_Exception(
+                sprintf(
+                    'Could not read "%s".',
+                    $filename
+                )
+            );
+        }
+
+        if (!isset(self::$instances[$realpath])) {
+            self::$instances[$realpath] = new self($realpath);
+        }
+
+        return self::$instances[$realpath];
+    }
+
+    /**
+     * Returns the realpath to the configuration file.
+     *
+     * @return string
+     * @since  Method available since Release 3.6.0
+     */
+    public function getFilename()
+    {
+        return $this->filename;
+    }
+
+    /**
+     * Returns the configuration for SUT filtering.
+     *
+     * @return array
+     * @since  Method available since Release 3.2.1
+     */
+    public function getFilterConfiguration()
+    {
+        $addUncoveredFilesFromWhitelist     = true;
+        $processUncoveredFilesFromWhitelist = false;
+
+        $tmp = $this->xpath->query('filter/whitelist');
+
+        if ($tmp->length == 1) {
+            if ($tmp->item(0)->hasAttribute('addUncoveredFilesFromWhitelist')) {
+                $addUncoveredFilesFromWhitelist = $this->getBoolean(
+                    (string) $tmp->item(0)->getAttribute(
+                        'addUncoveredFilesFromWhitelist'
+                    ),
+                    true
+                );
+            }
+
+            if ($tmp->item(0)->hasAttribute('processUncoveredFilesFromWhitelist')) {
+                $processUncoveredFilesFromWhitelist = $this->getBoolean(
+                    (string) $tmp->item(0)->getAttribute(
+                        'processUncoveredFilesFromWhitelist'
+                    ),
+                    false
+                );
+            }
+        }
+
+        return array(
+          'blacklist' => array(
+            'include' => array(
+              'directory' => $this->readFilterDirectories(
+                  'filter/blacklist/directory'
+              ),
+              'file' => $this->readFilterFiles(
+                  'filter/blacklist/file'
+              )
+            ),
+            'exclude' => array(
+              'directory' => $this->readFilterDirectories(
+                  'filter/blacklist/exclude/directory'
+              ),
+              'file' => $this->readFilterFiles(
+                  'filter/blacklist/exclude/file'
+              )
+            )
+          ),
+          'whitelist' => array(
+            'addUncoveredFilesFromWhitelist'     => $addUncoveredFilesFromWhitelist,
+            'processUncoveredFilesFromWhitelist' => $processUncoveredFilesFromWhitelist,
+            'include'                            => array(
+              'directory' => $this->readFilterDirectories(
+                  'filter/whitelist/directory'
+              ),
+              'file' => $this->readFilterFiles(
+                  'filter/whitelist/file'
+              )
+            ),
+            'exclude' => array(
+              'directory' => $this->readFilterDirectories(
+                  'filter/whitelist/exclude/directory'
+              ),
+              'file' => $this->readFilterFiles(
+                  'filter/whitelist/exclude/file'
+              )
+            )
+          )
+        );
+    }
+
+    /**
+     * Returns the configuration for groups.
+     *
+     * @return array
+     * @since  Method available since Release 3.2.1
+     */
+    public function getGroupConfiguration()
+    {
+        $groups = array(
+          'include' => array(),
+          'exclude' => array()
+        );
+
+        foreach ($this->xpath->query('groups/include/group') as $group) {
+            $groups['include'][] = (string) $group->textContent;
+        }
+
+        foreach ($this->xpath->query('groups/exclude/group') as $group) {
+            $groups['exclude'][] = (string) $group->textContent;
+        }
+
+        return $groups;
+    }
+
+    /**
+     * Returns the configuration for listeners.
+     *
+     * @return array
+     * @since  Method available since Release 3.4.0
+     */
+    public function getListenerConfiguration()
+    {
+        $result = array();
+
+        foreach ($this->xpath->query('listeners/listener') as $listener) {
+            $class     = (string) $listener->getAttribute('class');
+            $file      = '';
+            $arguments = array();
+
+            if ($listener->getAttribute('file')) {
+                $file = $this->toAbsolutePath(
+                    (string) $listener->getAttribute('file'),
+                    true
+                );
+            }
+
+            foreach ($listener->childNodes as $node) {
+                if ($node instanceof DOMElement && $node->tagName == 'arguments') {
+                    foreach ($node->childNodes as $argument) {
+                        if ($argument instanceof DOMElement) {
+                            if ($argument->tagName == 'file' ||
+                            $argument->tagName == 'directory') {
+                                $arguments[] = $this->toAbsolutePath((string) $argument->textContent);
+                            } else {
+                                $arguments[] = PHPUnit_Util_XML::xmlToVariable($argument);
+                            }
+                        }
+                    }
+                }
+            }
+
+            $result[] = array(
+              'class'     => $class,
+              'file'      => $file,
+              'arguments' => $arguments
+            );
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the logging configuration.
+     *
+     * @return array
+     */
+    public function getLoggingConfiguration()
+    {
+        $result = array();
+
+        foreach ($this->xpath->query('logging/log') as $log) {
+            $type   = (string) $log->getAttribute('type');
+            $target = (string) $log->getAttribute('target');
+
+            if (!$target) {
+                continue;
+            }
+
+            $target = $this->toAbsolutePath($target);
+
+            if ($type == 'coverage-html') {
+                if ($log->hasAttribute('lowUpperBound')) {
+                    $result['lowUpperBound'] = $this->getInteger(
+                        (string) $log->getAttribute('lowUpperBound'),
+                        50
+                    );
+                }
+
+                if ($log->hasAttribute('highLowerBound')) {
+                    $result['highLowerBound'] = $this->getInteger(
+                        (string) $log->getAttribute('highLowerBound'),
+                        90
+                    );
+                }
+            } elseif ($type == 'coverage-crap4j') {
+                if ($log->hasAttribute('threshold')) {
+                    $result['crap4jThreshold'] = $this->getInteger(
+                        (string) $log->getAttribute('threshold'),
+                        30
+                    );
+                }
+            } elseif ($type == 'junit') {
+                if ($log->hasAttribute('logIncompleteSkipped')) {
+                    $result['logIncompleteSkipped'] = $this->getBoolean(
+                        (string) $log->getAttribute('logIncompleteSkipped'),
+                        false
+                    );
+                }
+            } elseif ($type == 'coverage-text') {
+                if ($log->hasAttribute('showUncoveredFiles')) {
+                    $result['coverageTextShowUncoveredFiles'] = $this->getBoolean(
+                        (string) $log->getAttribute('showUncoveredFiles'),
+                        false
+                    );
+                }
+                if ($log->hasAttribute('showOnlySummary')) {
+                    $result['coverageTextShowOnlySummary'] = $this->getBoolean(
+                        (string) $log->getAttribute('showOnlySummary'),
+                        false
+                    );
+                }
+            }
+
+            $result[$type] = $target;
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the PHP configuration.
+     *
+     * @return array
+     * @since  Method available since Release 3.2.1
+     */
+    public function getPHPConfiguration()
+    {
+        $result = array(
+          'include_path' => array(),
+          'ini'          => array(),
+          'const'        => array(),
+          'var'          => array(),
+          'env'          => array(),
+          'post'         => array(),
+          'get'          => array(),
+          'cookie'       => array(),
+          'server'       => array(),
+          'files'        => array(),
+          'request'      => array()
+        );
+
+        foreach ($this->xpath->query('php/includePath') as $includePath) {
+            $path = (string) $includePath->textContent;
+            if ($path) {
+                $result['include_path'][] = $this->toAbsolutePath($path);
+            }
+        }
+
+        foreach ($this->xpath->query('php/ini') as $ini) {
+            $name  = (string) $ini->getAttribute('name');
+            $value = (string) $ini->getAttribute('value');
+
+            $result['ini'][$name] = $value;
+        }
+
+        foreach ($this->xpath->query('php/const') as $const) {
+            $name  = (string) $const->getAttribute('name');
+            $value = (string) $const->getAttribute('value');
+
+            $result['const'][$name] = $this->getBoolean($value, $value);
+        }
+
+        foreach (array('var', 'env', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
+            foreach ($this->xpath->query('php/' . $array) as $var) {
+                $name  = (string) $var->getAttribute('name');
+                $value = (string) $var->getAttribute('value');
+
+                $result[$array][$name] = $this->getBoolean($value, $value);
+            }
+        }
+
+        return $result;
+    }
+
+    /**
+     * Handles the PHP configuration.
+     *
+     * @since  Method available since Release 3.2.20
+     */
+    public function handlePHPConfiguration()
+    {
+        $configuration = $this->getPHPConfiguration();
+
+        if (! empty($configuration['include_path'])) {
+            ini_set(
+                'include_path',
+                implode(PATH_SEPARATOR, $configuration['include_path']) .
+                PATH_SEPARATOR .
+                ini_get('include_path')
+            );
+        }
+
+        foreach ($configuration['ini'] as $name => $value) {
+            if (defined($value)) {
+                $value = constant($value);
+            }
+
+            ini_set($name, $value);
+        }
+
+        foreach ($configuration['const'] as $name => $value) {
+            if (!defined($name)) {
+                define($name, $value);
+            }
+        }
+
+        foreach (array('var', 'post', 'get', 'cookie', 'server', 'files', 'request') as $array) {
+            // See https://github.com/sebastianbergmann/phpunit/issues/277
+            switch ($array) {
+                case 'var':
+                    $target = &$GLOBALS;
+                    break;
+
+                case 'server':
+                    $target = &$_SERVER;
+                    break;
+
+                default:
+                    $target = &$GLOBALS['_' . strtoupper($array)];
+                    break;
+            }
+
+            foreach ($configuration[$array] as $name => $value) {
+                $target[$name] = $value;
+            }
+        }
+
+        foreach ($configuration['env'] as $name => $value) {
+            if (false === getenv($name)) {
+                putenv("{$name}={$value}");
+            }
+            if (!isset($_ENV[$name])) {
+                $_ENV[$name] = $value;
+            }
+        }
+    }
+
+    /**
+     * Returns the PHPUnit configuration.
+     *
+     * @return array
+     * @since  Method available since Release 3.2.14
+     */
+    public function getPHPUnitConfiguration()
+    {
+        $result = array();
+        $root   = $this->document->documentElement;
+
+        if ($root->hasAttribute('cacheTokens')) {
+            $result['cacheTokens'] = $this->getBoolean(
+                (string) $root->getAttribute('cacheTokens'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('columns')) {
+            $columns = (string) $root->getAttribute('columns');
+
+            if ($columns == 'max') {
+                $result['columns'] = 'max';
+            } else {
+                $result['columns'] = $this->getInteger($columns, 80);
+            }
+        }
+
+        if ($root->hasAttribute('colors')) {
+            /* only allow boolean for compatibility with previous versions
+              'always' only allowed from command line */
+            if ($this->getBoolean($root->getAttribute('colors'), false)) {
+                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_AUTO;
+            } else {
+                $result['colors'] = PHPUnit_TextUI_ResultPrinter::COLOR_NEVER;
+            }
+        }
+
+        /*
+         * Issue #657
+         */
+        if ($root->hasAttribute('stderr')) {
+            $result['stderr'] = $this->getBoolean(
+                (string) $root->getAttribute('stderr'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('backupGlobals')) {
+            $result['backupGlobals'] = $this->getBoolean(
+                (string) $root->getAttribute('backupGlobals'),
+                true
+            );
+        }
+
+        if ($root->hasAttribute('backupStaticAttributes')) {
+            $result['backupStaticAttributes'] = $this->getBoolean(
+                (string) $root->getAttribute('backupStaticAttributes'),
+                false
+            );
+        }
+
+        if ($root->getAttribute('bootstrap')) {
+            $result['bootstrap'] = $this->toAbsolutePath(
+                (string) $root->getAttribute('bootstrap')
+            );
+        }
+
+        if ($root->hasAttribute('convertErrorsToExceptions')) {
+            $result['convertErrorsToExceptions'] = $this->getBoolean(
+                (string) $root->getAttribute('convertErrorsToExceptions'),
+                true
+            );
+        }
+
+        if ($root->hasAttribute('convertNoticesToExceptions')) {
+            $result['convertNoticesToExceptions'] = $this->getBoolean(
+                (string) $root->getAttribute('convertNoticesToExceptions'),
+                true
+            );
+        }
+
+        if ($root->hasAttribute('convertWarningsToExceptions')) {
+            $result['convertWarningsToExceptions'] = $this->getBoolean(
+                (string) $root->getAttribute('convertWarningsToExceptions'),
+                true
+            );
+        }
+
+        if ($root->hasAttribute('forceCoversAnnotation')) {
+            $result['forceCoversAnnotation'] = $this->getBoolean(
+                (string) $root->getAttribute('forceCoversAnnotation'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('mapTestClassNameToCoveredClassName')) {
+            $result['mapTestClassNameToCoveredClassName'] = $this->getBoolean(
+                (string) $root->getAttribute('mapTestClassNameToCoveredClassName'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('processIsolation')) {
+            $result['processIsolation'] = $this->getBoolean(
+                (string) $root->getAttribute('processIsolation'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('stopOnError')) {
+            $result['stopOnError'] = $this->getBoolean(
+                (string) $root->getAttribute('stopOnError'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('stopOnFailure')) {
+            $result['stopOnFailure'] = $this->getBoolean(
+                (string) $root->getAttribute('stopOnFailure'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('stopOnIncomplete')) {
+            $result['stopOnIncomplete'] = $this->getBoolean(
+                (string) $root->getAttribute('stopOnIncomplete'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('stopOnRisky')) {
+            $result['stopOnRisky'] = $this->getBoolean(
+                (string) $root->getAttribute('stopOnRisky'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('stopOnSkipped')) {
+            $result['stopOnSkipped'] = $this->getBoolean(
+                (string) $root->getAttribute('stopOnSkipped'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('testSuiteLoaderClass')) {
+            $result['testSuiteLoaderClass'] = (string) $root->getAttribute(
+                'testSuiteLoaderClass'
+            );
+        }
+
+        if ($root->getAttribute('testSuiteLoaderFile')) {
+            $result['testSuiteLoaderFile'] = $this->toAbsolutePath(
+                (string) $root->getAttribute('testSuiteLoaderFile')
+            );
+        }
+
+        if ($root->hasAttribute('printerClass')) {
+            $result['printerClass'] = (string) $root->getAttribute(
+                'printerClass'
+            );
+        }
+
+        if ($root->getAttribute('printerFile')) {
+            $result['printerFile'] = $this->toAbsolutePath(
+                (string) $root->getAttribute('printerFile')
+            );
+        }
+
+        if ($root->hasAttribute('timeoutForSmallTests')) {
+            $result['timeoutForSmallTests'] = $this->getInteger(
+                (string) $root->getAttribute('timeoutForSmallTests'),
+                1
+            );
+        }
+
+        if ($root->hasAttribute('timeoutForMediumTests')) {
+            $result['timeoutForMediumTests'] = $this->getInteger(
+                (string) $root->getAttribute('timeoutForMediumTests'),
+                10
+            );
+        }
+
+        if ($root->hasAttribute('timeoutForLargeTests')) {
+            $result['timeoutForLargeTests'] = $this->getInteger(
+                (string) $root->getAttribute('timeoutForLargeTests'),
+                60
+            );
+        }
+
+        if ($root->hasAttribute('beStrictAboutTestsThatDoNotTestAnything')) {
+            $result['reportUselessTests'] = $this->getBoolean(
+                (string) $root->getAttribute('beStrictAboutTestsThatDoNotTestAnything'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('checkForUnintentionallyCoveredCode')) {
+            $result['strictCoverage'] = $this->getBoolean(
+                (string) $root->getAttribute('checkForUnintentionallyCoveredCode'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('beStrictAboutOutputDuringTests')) {
+            $result['disallowTestOutput'] = $this->getBoolean(
+                (string) $root->getAttribute('beStrictAboutOutputDuringTests'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('beStrictAboutChangesToGlobalState')) {
+            $result['disallowChangesToGlobalState'] = $this->getBoolean(
+                (string) $root->getAttribute('beStrictAboutChangesToGlobalState'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('beStrictAboutTestSize')) {
+            $result['enforceTimeLimit'] = $this->getBoolean(
+                (string) $root->getAttribute('beStrictAboutTestSize'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('beStrictAboutTodoAnnotatedTests')) {
+            $result['disallowTodoAnnotatedTests'] = $this->getBoolean(
+                (string) $root->getAttribute('beStrictAboutTodoAnnotatedTests'),
+                false
+            );
+        }
+
+        if ($root->hasAttribute('strict')) {
+            $flag = $this->getBoolean(
+                (string) $root->getAttribute('strict'),
+                false
+            );
+
+            $result['reportUselessTests']          = $flag;
+            $result['strictCoverage']              = $flag;
+            $result['disallowTestOutput']          = $flag;
+            $result['enforceTimeLimit']            = $flag;
+            $result['disallowTodoAnnotatedTests']  = $flag;
+            $result['deprecatedStrictModeSetting'] = true;
+        }
+
+        if ($root->hasAttribute('verbose')) {
+            $result['verbose'] = $this->getBoolean(
+                (string) $root->getAttribute('verbose'),
+                false
+            );
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the SeleniumTestCase browser configuration.
+     *
+     * @return array
+     * @since  Method available since Release 3.2.9
+     */
+    public function getSeleniumBrowserConfiguration()
+    {
+        $result = array();
+
+        foreach ($this->xpath->query('selenium/browser') as $config) {
+            $name    = (string) $config->getAttribute('name');
+            $browser = (string) $config->getAttribute('browser');
+
+            if ($config->hasAttribute('host')) {
+                $host = (string) $config->getAttribute('host');
+            } else {
+                $host = 'localhost';
+            }
+
+            if ($config->hasAttribute('port')) {
+                $port = $this->getInteger(
+                    (string) $config->getAttribute('port'),
+                    4444
+                );
+            } else {
+                $port = 4444;
+            }
+
+            if ($config->hasAttribute('timeout')) {
+                $timeout = $this->getInteger(
+                    (string) $config->getAttribute('timeout'),
+                    30000
+                );
+            } else {
+                $timeout = 30000;
+            }
+
+            $result[] = array(
+              'name'    => $name,
+              'browser' => $browser,
+              'host'    => $host,
+              'port'    => $port,
+              'timeout' => $timeout
+            );
+        }
+
+        return $result;
+    }
+
+    /**
+     * Returns the test suite configuration.
+     *
+     * @return PHPUnit_Framework_TestSuite
+     * @since  Method available since Release 3.2.1
+     */
+    public function getTestSuiteConfiguration($testSuiteFilter = null)
+    {
+        $testSuiteNodes = $this->xpath->query('testsuites/testsuite');
+
+        if ($testSuiteNodes->length == 0) {
+            $testSuiteNodes = $this->xpath->query('testsuite');
+        }
+
+        if ($testSuiteNodes->length == 1) {
+            return $this->getTestSuite($testSuiteNodes->item(0), $testSuiteFilter);
+        }
+
+        if ($testSuiteNodes->length > 1) {
+            $suite = new PHPUnit_Framework_TestSuite;
+
+            foreach ($testSuiteNodes as $testSuiteNode) {
+                $suite->addTestSuite(
+                    $this->getTestSuite($testSuiteNode, $testSuiteFilter)
+                );
+            }
+
+            return $suite;
+        }
+    }
+
+    /**
+     * @param  DOMElement                  $testSuiteNode
+     * @return PHPUnit_Framework_TestSuite
+     * @since  Method available since Release 3.4.0
+     */
+    protected function getTestSuite(DOMElement $testSuiteNode, $testSuiteFilter = null)
+    {
+        if ($testSuiteNode->hasAttribute('name')) {
+            $suite = new PHPUnit_Framework_TestSuite(
+                (string) $testSuiteNode->getAttribute('name')
+            );
+        } else {
+            $suite = new PHPUnit_Framework_TestSuite;
+        }
+
+        $exclude = array();
+
+        foreach ($testSuiteNode->getElementsByTagName('exclude') as $excludeNode) {
+            $excludeFile = (string) $excludeNode->textContent;
+            if ($excludeFile) {
+                $exclude[] = $this->toAbsolutePath($excludeFile);
+            }
+        }
+
+        $fileIteratorFacade = new File_Iterator_Facade;
+
+        foreach ($testSuiteNode->getElementsByTagName('directory') as $directoryNode) {
+            if ($testSuiteFilter && $directoryNode->parentNode->getAttribute('name') != $testSuiteFilter) {
+                continue;
+            }
+
+            $directory = (string) $directoryNode->textContent;
+
+            if (empty($directory)) {
+                continue;
+            }
+
+            if ($directoryNode->hasAttribute('phpVersion')) {
+                $phpVersion = (string) $directoryNode->getAttribute('phpVersion');
+            } else {
+                $phpVersion = PHP_VERSION;
+            }
+
+            if ($directoryNode->hasAttribute('phpVersionOperator')) {
+                $phpVersionOperator = (string) $directoryNode->getAttribute('phpVersionOperator');
+            } else {
+                $phpVersionOperator = '>=';
+            }
+
+            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
+                continue;
+            }
+
+            if ($directoryNode->hasAttribute('prefix')) {
+                $prefix = (string) $directoryNode->getAttribute('prefix');
+            } else {
+                $prefix = '';
+            }
+
+            if ($directoryNode->hasAttribute('suffix')) {
+                $suffix = (string) $directoryNode->getAttribute('suffix');
+            } else {
+                $suffix = 'Test.php';
+            }
+
+            $files = $fileIteratorFacade->getFilesAsArray(
+                $this->toAbsolutePath($directory),
+                $suffix,
+                $prefix,
+                $exclude
+            );
+            $suite->addTestFiles($files);
+        }
+
+        foreach ($testSuiteNode->getElementsByTagName('file') as $fileNode) {
+            if ($testSuiteFilter && $fileNode->parentNode->getAttribute('name') != $testSuiteFilter) {
+                continue;
+            }
+
+            $file = (string) $fileNode->textContent;
+
+            if (empty($file)) {
+                continue;
+            }
+
+            // Get the absolute path to the file
+            $file = $fileIteratorFacade->getFilesAsArray(
+                $this->toAbsolutePath($file)
+            );
+
+            if (!isset($file[0])) {
+                continue;
+            }
+
+            $file = $file[0];
+
+            if ($fileNode->hasAttribute('phpVersion')) {
+                $phpVersion = (string) $fileNode->getAttribute('phpVersion');
+            } else {
+                $phpVersion = PHP_VERSION;
+            }
+
+            if ($fileNode->hasAttribute('phpVersionOperator')) {
+                $phpVersionOperator = (string) $fileNode->getAttribute('phpVersionOperator');
+            } else {
+                $phpVersionOperator = '>=';
+            }
+
+            if (!version_compare(PHP_VERSION, $phpVersion, $phpVersionOperator)) {
+                continue;
+            }
+
+            $suite->addTestFile($file);
+        }
+
+        return $suite;
+    }
+
+    /**
+     * @param  string $value
+     * @param  bool   $default
+     * @return bool
+     * @since  Method available since Release 3.2.3
+     */
+    protected function getBoolean($value, $default)
+    {
+        if (strtolower($value) == 'false') {
+            return false;
+        } elseif (strtolower($value) == 'true') {
+            return true;
+        }
+
+        return $default;
+    }
+
+    /**
+     * @param  string $value
+     * @param  bool   $default
+     * @return bool
+     * @since  Method available since Release 3.6.0
+     */
+    protected function getInteger($value, $default)
+    {
+        if (is_numeric($value)) {
+            return (int) $value;
+        }
+
+        return $default;
+    }
+
+    /**
+     * @param  string $query
+     * @return array
+     * @since  Method available since Release 3.2.3
+     */
+    protected function readFilterDirectories($query)
+    {
+        $directories = array();
+
+        foreach ($this->xpath->query($query) as $directory) {
+            $directoryPath = (string) $directory->textContent;
+
+            if (!$directoryPath) {
+                continue;
+            }
+
+            if ($directory->hasAttribute('prefix')) {
+                $prefix = (string) $directory->getAttribute('prefix');
+            } else {
+                $prefix = '';
+            }
+
+            if ($directory->hasAttribute('suffix')) {
+                $suffix = (string) $directory->getAttribute('suffix');
+            } else {
+                $suffix = '.php';
+            }
+
+            if ($directory->hasAttribute('group')) {
+                $group = (string) $directory->getAttribute('group');
+            } else {
+                $group = 'DEFAULT';
+            }
+
+            $directories[] = array(
+              'path'   => $this->toAbsolutePath($directoryPath),
+              'prefix' => $prefix,
+              'suffix' => $suffix,
+              'group'  => $group
+            );
+        }
+
+        return $directories;
+    }
+
+    /**
+     * @param  string $query
+     * @return array
+     * @since  Method available since Release 3.2.3
+     */
+    protected function readFilterFiles($query)
+    {
+        $files = array();
+
+        foreach ($this->xpath->query($query) as $file) {
+            $filePath = (string) $file->textContent;
+            if ($filePath) {
+                $files[] = $this->toAbsolutePath($filePath);
+            }
+        }
+
+        return $files;
+    }
+
+    /**
+     * @param  string $path
+     * @param  bool   $useIncludePath
+     * @return string
+     * @since  Method available since Release 3.5.0
+     */
+    protected function toAbsolutePath($path, $useIncludePath = false)
+    {
+        if ($path[0] === '/') {
+            return $path;
+        }
+
+        // Matches the following on Windows:
+        //  - \\NetworkComputer\Path
+        //  - \\.\D:
+        //  - \\.\c:
+        //  - C:\Windows
+        //  - C:\windows
+        //  - C:/windows
+        //  - c:/windows
+        if (defined('PHP_WINDOWS_VERSION_BUILD') &&
+            ($path[0] === '\\' ||
+            (strlen($path) >= 3 && preg_match('#^[A-Z]\:[/\\\]#i', substr($path, 0, 3))))) {
+            return $path;
+        }
+
+        // Stream
+        if (strpos($path, '://') !== false) {
+            return $path;
+        }
+
+        $file = dirname($this->filename) . DIRECTORY_SEPARATOR . $path;
+
+        if ($useIncludePath && !file_exists($file)) {
+            $includePathFile = stream_resolve_include_path($path);
+
+            if ($includePathFile) {
+                $file = $includePathFile;
+            }
+        }
+
+        return $file;
+    }
+}
diff --git a/core/vendor/phpunit/phpunit/src/Util/ErrorHandler.php b/vendor/phpunit/phpunit/src/Util/ErrorHandler.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/ErrorHandler.php
rename to vendor/phpunit/phpunit/src/Util/ErrorHandler.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Fileloader.php b/vendor/phpunit/phpunit/src/Util/Fileloader.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Fileloader.php
rename to vendor/phpunit/phpunit/src/Util/Fileloader.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Filesystem.php b/vendor/phpunit/phpunit/src/Util/Filesystem.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Filesystem.php
rename to vendor/phpunit/phpunit/src/Util/Filesystem.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Filter.php b/vendor/phpunit/phpunit/src/Util/Filter.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Filter.php
rename to vendor/phpunit/phpunit/src/Util/Filter.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Getopt.php b/vendor/phpunit/phpunit/src/Util/Getopt.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Getopt.php
rename to vendor/phpunit/phpunit/src/Util/Getopt.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/GlobalState.php b/vendor/phpunit/phpunit/src/Util/GlobalState.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/GlobalState.php
rename to vendor/phpunit/phpunit/src/Util/GlobalState.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php b/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php
rename to vendor/phpunit/phpunit/src/Util/InvalidArgumentHelper.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/JSON.php b/vendor/phpunit/phpunit/src/Util/Log/JSON.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Log/JSON.php
rename to vendor/phpunit/phpunit/src/Util/Log/JSON.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/JUnit.php b/vendor/phpunit/phpunit/src/Util/Log/JUnit.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Log/JUnit.php
rename to vendor/phpunit/phpunit/src/Util/Log/JUnit.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Log/TAP.php b/vendor/phpunit/phpunit/src/Util/Log/TAP.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Log/TAP.php
rename to vendor/phpunit/phpunit/src/Util/Log/TAP.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP.php b/vendor/phpunit/phpunit/src/Util/PHP.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/PHP.php
rename to vendor/phpunit/phpunit/src/Util/PHP.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Default.php b/vendor/phpunit/phpunit/src/Util/PHP/Default.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/PHP/Default.php
rename to vendor/phpunit/phpunit/src/Util/PHP/Default.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist b/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist
rename to vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl.dist
diff --git a/core/vendor/phpunit/phpunit/src/Util/PHP/Windows.php b/vendor/phpunit/phpunit/src/Util/PHP/Windows.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/PHP/Windows.php
rename to vendor/phpunit/phpunit/src/Util/PHP/Windows.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Printer.php b/vendor/phpunit/phpunit/src/Util/Printer.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Printer.php
rename to vendor/phpunit/phpunit/src/Util/Printer.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Regex.php b/vendor/phpunit/phpunit/src/Util/Regex.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Regex.php
rename to vendor/phpunit/phpunit/src/Util/Regex.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/String.php b/vendor/phpunit/phpunit/src/Util/String.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/String.php
rename to vendor/phpunit/phpunit/src/Util/String.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Test.php b/vendor/phpunit/phpunit/src/Util/Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Test.php
rename to vendor/phpunit/phpunit/src/Util/Test.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php b/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php
rename to vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php b/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php
rename to vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php b/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php
rename to vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/HTML.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php b/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php
rename to vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter/Text.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php b/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php
rename to vendor/phpunit/phpunit/src/Util/TestSuiteIterator.php
diff --git a/core/vendor/phpunit/phpunit/src/Util/Type.php b/vendor/phpunit/phpunit/src/Util/Type.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/src/Util/Type.php
rename to vendor/phpunit/phpunit/src/Util/Type.php
diff --git a/vendor/phpunit/phpunit/src/Util/XML.php b/vendor/phpunit/phpunit/src/Util/XML.php
new file mode 100644
index 0000000..16c4c0e
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Util/XML.php
@@ -0,0 +1,906 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * XML helpers.
+ *
+ * @since Class available since Release 3.2.0
+ */
+class PHPUnit_Util_XML
+{
+    /**
+     * Escapes a string for the use in XML documents
+     * Any Unicode character is allowed, excluding the surrogate blocks, FFFE,
+     * and FFFF (not even as character reference).
+     * See http://www.w3.org/TR/xml/#charsets
+     *
+     * @param  string $string
+     * @return string
+     * @since  Method available since Release 3.4.6
+     */
+    public static function prepareString($string)
+    {
+        return preg_replace(
+            '/[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f]/',
+            '',
+            htmlspecialchars(
+                PHPUnit_Util_String::convertToUtf8($string),
+                ENT_QUOTES,
+                'UTF-8'
+            )
+        );
+    }
+
+    /**
+     * Loads an XML (or HTML) file into a DOMDocument object.
+     *
+     * @param  string      $filename
+     * @param  bool        $isHtml
+     * @param  bool        $xinclude
+     * @param  bool        $strict
+     * @return DOMDocument
+     * @since  Method available since Release 3.3.0
+     */
+    public static function loadFile($filename, $isHtml = false, $xinclude = false, $strict = false)
+    {
+        $reporting = error_reporting(0);
+        $contents  = file_get_contents($filename);
+        error_reporting($reporting);
+
+        if ($contents === false) {
+            throw new PHPUnit_Framework_Exception(
+                sprintf(
+                    'Could not read "%s".',
+                    $filename
+                )
+            );
+        }
+
+        return self::load($contents, $isHtml, $filename, $xinclude, $strict);
+    }
+
+    /**
+     * Load an $actual document into a DOMDocument.  This is called
+     * from the selector assertions.
+     *
+     * If $actual is already a DOMDocument, it is returned with
+     * no changes.  Otherwise, $actual is loaded into a new DOMDocument
+     * as either HTML or XML, depending on the value of $isHtml. If $isHtml is
+     * false and $xinclude is true, xinclude is performed on the loaded
+     * DOMDocument.
+     *
+     * Note: prior to PHPUnit 3.3.0, this method loaded a file and
+     * not a string as it currently does.  To load a file into a
+     * DOMDocument, use loadFile() instead.
+     *
+     * @param  string|DOMDocument $actual
+     * @param  bool               $isHtml
+     * @param  string             $filename
+     * @param  bool               $xinclude
+     * @param  bool               $strict
+     * @return DOMDocument
+     * @since  Method available since Release 3.3.0
+     */
+    public static function load($actual, $isHtml = false, $filename = '', $xinclude = false, $strict = false)
+    {
+        if ($actual instanceof DOMDocument) {
+            return $actual;
+        }
+
+        // Required for XInclude on Windows.
+        if ($xinclude) {
+            $cwd = getcwd();
+            @chdir(dirname($filename));
+        }
+
+        $document = new DOMDocument;
+        $document->preserveWhiteSpace = false;
+
+        $internal  = libxml_use_internal_errors(true);
+        $message   = '';
+        $reporting = error_reporting(0);
+
+        if ('' !== $filename) {
+            // Necessary for xinclude
+            $document->documentURI = $filename;
+        }
+
+        if ($isHtml) {
+            $loaded = $document->loadHTML($actual);
+        } else {
+            $loaded = $document->loadXML($actual);
+        }
+
+        if (!$isHtml && $xinclude) {
+            $document->xinclude();
+        }
+
+        foreach (libxml_get_errors() as $error) {
+            $message .= "\n" . $error->message;
+        }
+
+        libxml_use_internal_errors($internal);
+        error_reporting($reporting);
+
+        if ($xinclude) {
+            @chdir($cwd);
+        }
+
+        if ($loaded === false || ($strict && $message !== '')) {
+            if ($filename !== '') {
+                throw new PHPUnit_Framework_Exception(
+                    sprintf(
+                        'Could not load "%s".%s',
+                        $filename,
+                        $message != '' ? "\n" . $message : ''
+                    )
+                );
+            } else {
+                throw new PHPUnit_Framework_Exception($message);
+            }
+        }
+
+        return $document;
+    }
+
+    /**
+     * @param  DOMNode $node
+     * @return string
+     * @since  Method available since Release 3.4.0
+     */
+    public static function nodeToText(DOMNode $node)
+    {
+        if ($node->childNodes->length == 1) {
+            return $node->textContent;
+        }
+
+        $result = '';
+
+        foreach ($node->childNodes as $childNode) {
+            $result .= $node->ownerDocument->saveXML($childNode);
+        }
+
+        return $result;
+    }
+
+    /**
+     * @param DOMNode $node
+     * @since  Method available since Release 3.3.0
+     */
+    public static function removeCharacterDataNodes(DOMNode $node)
+    {
+        if ($node->hasChildNodes()) {
+            for ($i = $node->childNodes->length - 1; $i >= 0; $i--) {
+                if (($child = $node->childNodes->item($i)) instanceof DOMCharacterData) {
+                    $node->removeChild($child);
+                }
+            }
+        }
+    }
+
+    /**
+     * "Convert" a DOMElement object into a PHP variable.
+     *
+     * @param  DOMElement $element
+     * @return mixed
+     * @since  Method available since Release 3.4.0
+     */
+    public static function xmlToVariable(DOMElement $element)
+    {
+        $variable = null;
+
+        switch ($element->tagName) {
+            case 'array':
+                $variable = array();
+
+                foreach ($element->getElementsByTagName('element') as $element) {
+                    $item = $element->childNodes->item(0);
+
+                    if ($item instanceof DOMText) {
+                        $item = $element->childNodes->item(1);
+                    }
+
+                    $value = self::xmlToVariable($item);
+
+                    if ($element->hasAttribute('key')) {
+                        $variable[(string) $element->getAttribute('key')] = $value;
+                    } else {
+                        $variable[] = $value;
+                    }
+                }
+                break;
+
+            case 'object':
+                $className = $element->getAttribute('class');
+
+                if ($element->hasChildNodes()) {
+                    $arguments       = $element->childNodes->item(1)->childNodes;
+                    $constructorArgs = array();
+
+                    foreach ($arguments as $argument) {
+                        if ($argument instanceof DOMElement) {
+                            $constructorArgs[] = self::xmlToVariable($argument);
+                        }
+                    }
+
+                    $class    = new ReflectionClass($className);
+                    $variable = $class->newInstanceArgs($constructorArgs);
+                } else {
+                    $variable = new $className;
+                }
+                break;
+
+            case 'boolean':
+                $variable = $element->textContent == 'true' ? true : false;
+                break;
+
+            case 'integer':
+            case 'double':
+            case 'string':
+                $variable = $element->textContent;
+
+                settype($variable, $element->tagName);
+                break;
+        }
+
+        return $variable;
+    }
+
+    /**
+     * Validate list of keys in the associative array.
+     *
+     * @param  array                       $hash
+     * @param  array                       $validKeys
+     * @return array
+     * @throws PHPUnit_Framework_Exception
+     * @since  Method available since Release 3.3.0
+     */
+    public static function assertValidKeys(array $hash, array $validKeys)
+    {
+        $valids = array();
+
+        // Normalize validation keys so that we can use both indexed and
+        // associative arrays.
+        foreach ($validKeys as $key => $val) {
+            is_int($key) ? $valids[$val] = null : $valids[$key] = $val;
+        }
+
+        $validKeys = array_keys($valids);
+
+        // Check for invalid keys.
+        foreach ($hash as $key => $value) {
+            if (!in_array($key, $validKeys)) {
+                $unknown[] = $key;
+            }
+        }
+
+        if (!empty($unknown)) {
+            throw new PHPUnit_Framework_Exception(
+                'Unknown key(s): ' . implode(', ', $unknown)
+            );
+        }
+
+        // Add default values for any valid keys that are empty.
+        foreach ($valids as $key => $value) {
+            if (!isset($hash[$key])) {
+                $hash[$key] = $value;
+            }
+        }
+
+        return $hash;
+    }
+
+    /**
+     * Parse a CSS selector into an associative array suitable for
+     * use with findNodes().
+     *
+     * @param  string $selector
+     * @param  mixed  $content
+     * @return array
+     * @since  Method available since Release 3.3.0
+     */
+    public static function convertSelectToTag($selector, $content = true)
+    {
+        $selector = trim(preg_replace("/\s+/", ' ', $selector));
+
+        // substitute spaces within attribute value
+        while (preg_match('/\[[^\]]+"[^"]+\s[^"]+"\]/', $selector)) {
+            $selector = preg_replace(
+                '/(\[[^\]]+"[^"]+)\s([^"]+"\])/',
+                '$1__SPACE__$2',
+                $selector
+            );
+        }
+
+        if (strstr($selector, ' ')) {
+            $elements = explode(' ', $selector);
+        } else {
+            $elements = array($selector);
+        }
+
+        $previousTag = array();
+
+        foreach (array_reverse($elements) as $element) {
+            $element = str_replace('__SPACE__', ' ', $element);
+
+            // child selector
+            if ($element == '>') {
+                $previousTag = array('child' => $previousTag['descendant']);
+                continue;
+            }
+
+            // adjacent-sibling selector
+            if ($element == '+') {
+                $previousTag = array('adjacent-sibling' => $previousTag['descendant']);
+                continue;
+            }
+
+            $tag = array();
+
+            // match element tag
+            preg_match("/^([^\.#\[]*)/", $element, $eltMatches);
+
+            if (!empty($eltMatches[1])) {
+                $tag['tag'] = $eltMatches[1];
+            }
+
+            // match attributes (\[[^\]]*\]*), ids (#[^\.#\[]*),
+            // and classes (\.[^\.#\[]*))
+            preg_match_all(
+                "/(\[[^\]]*\]*|#[^\.#\[]*|\.[^\.#\[]*)/",
+                $element,
+                $matches
+            );
+
+            if (!empty($matches[1])) {
+                $classes = array();
+                $attrs   = array();
+
+                foreach ($matches[1] as $match) {
+                    // id matched
+                    if (substr($match, 0, 1) == '#') {
+                        $tag['id'] = substr($match, 1);
+                    } // class matched
+                    elseif (substr($match, 0, 1) == '.') {
+                        $classes[] = substr($match, 1);
+                    } // attribute matched
+                    elseif (substr($match, 0, 1) == '[' &&
+                             substr($match, -1, 1) == ']') {
+                        $attribute = substr($match, 1, strlen($match) - 2);
+                        $attribute = str_replace('"', '', $attribute);
+
+                        // match single word
+                        if (strstr($attribute, '~=')) {
+                            list($key, $value) = explode('~=', $attribute);
+                            $value             = "regexp:/.*\b$value\b.*/";
+                        } // match substring
+                        elseif (strstr($attribute, '*=')) {
+                            list($key, $value) = explode('*=', $attribute);
+                            $value             = "regexp:/.*$value.*/";
+                        } // exact match
+                        else {
+                            list($key, $value) = explode('=', $attribute);
+                        }
+
+                        $attrs[$key] = $value;
+                    }
+                }
+
+                if (!empty($classes)) {
+                    $tag['class'] = implode(' ', $classes);
+                }
+
+                if (!empty($attrs)) {
+                    $tag['attributes'] = $attrs;
+                }
+            }
+
+            // tag content
+            if (is_string($content)) {
+                $tag['content'] = $content;
+            }
+
+            // determine previous child/descendants
+            if (!empty($previousTag['descendant'])) {
+                $tag['descendant'] = $previousTag['descendant'];
+            } elseif (!empty($previousTag['child'])) {
+                $tag['child'] = $previousTag['child'];
+            } elseif (!empty($previousTag['adjacent-sibling'])) {
+                $tag['adjacent-sibling'] = $previousTag['adjacent-sibling'];
+                unset($tag['content']);
+            }
+
+            $previousTag = array('descendant' => $tag);
+        }
+
+        return $tag;
+    }
+
+    /**
+     * Parse an $actual document and return an array of DOMNodes
+     * matching the CSS $selector.  If an error occurs, it will
+     * return false.
+     *
+     * To only return nodes containing a certain content, give
+     * the $content to match as a string.  Otherwise, setting
+     * $content to true will return all nodes matching $selector.
+     *
+     * The $actual document may be a DOMDocument or a string
+     * containing XML or HTML, identified by $isHtml.
+     *
+     * @param  array      $selector
+     * @param  string     $content
+     * @param  mixed      $actual
+     * @param  bool       $isHtml
+     * @return bool|array
+     * @since  Method available since Release 3.3.0
+     */
+    public static function cssSelect($selector, $content, $actual, $isHtml = true)
+    {
+        $matcher = self::convertSelectToTag($selector, $content);
+        $dom     = self::load($actual, $isHtml);
+        $tags    = self::findNodes($dom, $matcher, $isHtml);
+
+        return $tags;
+    }
+
+    /**
+     * Parse out the options from the tag using DOM object tree.
+     *
+     * @param  DOMDocument $dom
+     * @param  array       $options
+     * @param  bool        $isHtml
+     * @return array
+     * @since  Method available since Release 3.3.0
+     */
+    public static function findNodes(DOMDocument $dom, array $options, $isHtml = true)
+    {
+        $valid = array(
+          'id', 'class', 'tag', 'content', 'attributes', 'parent',
+          'child', 'ancestor', 'descendant', 'children', 'adjacent-sibling'
+        );
+
+        $filtered = array();
+        $options  = self::assertValidKeys($options, $valid);
+
+        // find the element by id
+        if ($options['id']) {
+            $options['attributes']['id'] = $options['id'];
+        }
+
+        if ($options['class']) {
+            $options['attributes']['class'] = $options['class'];
+        }
+
+        $nodes = array();
+
+        // find the element by a tag type
+        if ($options['tag']) {
+            if ($isHtml) {
+                $elements = self::getElementsByCaseInsensitiveTagName(
+                    $dom,
+                    $options['tag']
+                );
+            } else {
+                $elements = $dom->getElementsByTagName($options['tag']);
+            }
+
+            foreach ($elements as $element) {
+                $nodes[] = $element;
+            }
+
+            if (empty($nodes)) {
+                return false;
+            }
+        } // no tag selected, get them all
+        else {
+            $tags = array(
+              'a', 'abbr', 'acronym', 'address', 'area', 'b', 'base', 'bdo',
+              'big', 'blockquote', 'body', 'br', 'button', 'caption', 'cite',
+              'code', 'col', 'colgroup', 'dd', 'del', 'div', 'dfn', 'dl',
+              'dt', 'em', 'fieldset', 'form', 'frame', 'frameset', 'h1', 'h2',
+              'h3', 'h4', 'h5', 'h6', 'head', 'hr', 'html', 'i', 'iframe',
+              'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'link',
+              'map', 'meta', 'noframes', 'noscript', 'object', 'ol', 'optgroup',
+              'option', 'p', 'param', 'pre', 'q', 'samp', 'script', 'select',
+              'small', 'span', 'strong', 'style', 'sub', 'sup', 'table',
+              'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title',
+              'tr', 'tt', 'ul', 'var',
+              // HTML5
+              'article', 'aside', 'audio', 'bdi', 'canvas', 'command',
+              'datalist', 'details', 'dialog', 'embed', 'figure', 'figcaption',
+              'footer', 'header', 'hgroup', 'keygen', 'mark', 'meter', 'nav',
+              'output', 'progress', 'ruby', 'rt', 'rp', 'track', 'section',
+              'source', 'summary', 'time', 'video', 'wbr'
+            );
+
+            foreach ($tags as $tag) {
+                if ($isHtml) {
+                    $elements = self::getElementsByCaseInsensitiveTagName(
+                        $dom,
+                        $tag
+                    );
+                } else {
+                    $elements = $dom->getElementsByTagName($tag);
+                }
+
+                foreach ($elements as $element) {
+                    $nodes[] = $element;
+                }
+            }
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by attributes
+        if ($options['attributes']) {
+            foreach ($nodes as $node) {
+                $invalid = false;
+
+                foreach ($options['attributes'] as $name => $value) {
+                    // match by regexp if like "regexp:/foo/i"
+                    if (preg_match('/^regexp\s*:\s*(.*)/i', $value, $matches)) {
+                        if (!preg_match($matches[1], $node->getAttribute($name))) {
+                            $invalid = true;
+                        }
+                    } // class can match only a part
+                    elseif ($name == 'class') {
+                        // split to individual classes
+                        $findClasses = explode(
+                            ' ',
+                            preg_replace("/\s+/", ' ', $value)
+                        );
+
+                        $allClasses = explode(
+                            ' ',
+                            preg_replace("/\s+/", ' ', $node->getAttribute($name))
+                        );
+
+                        // make sure each class given is in the actual node
+                        foreach ($findClasses as $findClass) {
+                            if (!in_array($findClass, $allClasses)) {
+                                $invalid = true;
+                            }
+                        }
+                    } // match by exact string
+                    else {
+                        if ($node->getAttribute($name) != $value) {
+                            $invalid = true;
+                        }
+                    }
+                }
+
+                // if every attribute given matched
+                if (!$invalid) {
+                    $filtered[] = $node;
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by content
+        if ($options['content'] !== null) {
+            foreach ($nodes as $node) {
+                $invalid = false;
+
+                // match by regexp if like "regexp:/foo/i"
+                if (preg_match('/^regexp\s*:\s*(.*)/i', $options['content'], $matches)) {
+                    if (!preg_match($matches[1], self::getNodeText($node))) {
+                        $invalid = true;
+                    }
+                } // match empty string
+                elseif ($options['content'] === '') {
+                    if (self::getNodeText($node) !== '') {
+                        $invalid = true;
+                    }
+                } // match by exact string
+                elseif (strstr(self::getNodeText($node), $options['content']) === false) {
+                    $invalid = true;
+                }
+
+                if (!$invalid) {
+                    $filtered[] = $node;
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by parent node
+        if ($options['parent']) {
+            $parentNodes = self::findNodes($dom, $options['parent'], $isHtml);
+            $parentNode  = isset($parentNodes[0]) ? $parentNodes[0] : null;
+
+            foreach ($nodes as $node) {
+                if ($parentNode !== $node->parentNode) {
+                    continue;
+                }
+
+                $filtered[] = $node;
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by child node
+        if ($options['child']) {
+            $childNodes = self::findNodes($dom, $options['child'], $isHtml);
+            $childNodes = !empty($childNodes) ? $childNodes : array();
+
+            foreach ($nodes as $node) {
+                foreach ($node->childNodes as $child) {
+                    foreach ($childNodes as $childNode) {
+                        if ($childNode === $child) {
+                            $filtered[] = $node;
+                        }
+                    }
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by adjacent-sibling
+        if ($options['adjacent-sibling']) {
+            $adjacentSiblingNodes = self::findNodes($dom, $options['adjacent-sibling'], $isHtml);
+            $adjacentSiblingNodes = !empty($adjacentSiblingNodes) ? $adjacentSiblingNodes : array();
+
+            foreach ($nodes as $node) {
+                $sibling = $node;
+
+                while ($sibling = $sibling->nextSibling) {
+                    if ($sibling->nodeType !== XML_ELEMENT_NODE) {
+                        continue;
+                    }
+
+                    foreach ($adjacentSiblingNodes as $adjacentSiblingNode) {
+                        if ($sibling === $adjacentSiblingNode) {
+                            $filtered[] = $node;
+                            break;
+                        }
+                    }
+
+                    break;
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by ancestor
+        if ($options['ancestor']) {
+            $ancestorNodes = self::findNodes($dom, $options['ancestor'], $isHtml);
+            $ancestorNode  = isset($ancestorNodes[0]) ? $ancestorNodes[0] : null;
+
+            foreach ($nodes as $node) {
+                $parent = $node->parentNode;
+
+                while ($parent && $parent->nodeType != XML_HTML_DOCUMENT_NODE) {
+                    if ($parent === $ancestorNode) {
+                        $filtered[] = $node;
+                    }
+
+                    $parent = $parent->parentNode;
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by descendant
+        if ($options['descendant']) {
+            $descendantNodes = self::findNodes($dom, $options['descendant'], $isHtml);
+            $descendantNodes = !empty($descendantNodes) ? $descendantNodes : array();
+
+            foreach ($nodes as $node) {
+                foreach (self::getDescendants($node) as $descendant) {
+                    foreach ($descendantNodes as $descendantNode) {
+                        if ($descendantNode === $descendant) {
+                            $filtered[] = $node;
+                        }
+                    }
+                }
+            }
+
+            $nodes    = $filtered;
+            $filtered = array();
+
+            if (empty($nodes)) {
+                return false;
+            }
+        }
+
+        // filter by children
+        if ($options['children']) {
+            $validChild   = array('count', 'greater_than', 'less_than', 'only');
+            $childOptions = self::assertValidKeys(
+                $options['children'],
+                $validChild
+            );
+
+            foreach ($nodes as $node) {
+                $childNodes = $node->childNodes;
+
+                foreach ($childNodes as $childNode) {
+                    if ($childNode->nodeType !== XML_CDATA_SECTION_NODE &&
+                        $childNode->nodeType !== XML_TEXT_NODE) {
+                        $children[] = $childNode;
+                    }
+                }
+
+                // we must have children to pass this filter
+                if (!empty($children)) {
+                    // exact count of children
+                    if ($childOptions['count'] !== null) {
+                        if (count($children) !== $childOptions['count']) {
+                            break;
+                        }
+                    } // range count of children
+                    elseif ($childOptions['less_than']    !== null &&
+                            $childOptions['greater_than'] !== null) {
+                        if (count($children) >= $childOptions['less_than'] ||
+                            count($children) <= $childOptions['greater_than']) {
+                            break;
+                        }
+                    } // less than a given count
+                    elseif ($childOptions['less_than'] !== null) {
+                        if (count($children) >= $childOptions['less_than']) {
+                            break;
+                        }
+                    } // more than a given count
+                    elseif ($childOptions['greater_than'] !== null) {
+                        if (count($children) <= $childOptions['greater_than']) {
+                            break;
+                        }
+                    }
+
+                    // match each child against a specific tag
+                    if ($childOptions['only']) {
+                        $onlyNodes = self::findNodes(
+                            $dom,
+                            $childOptions['only'],
+                            $isHtml
+                        );
+
+                        // try to match each child to one of the 'only' nodes
+                        foreach ($children as $child) {
+                            $matched = false;
+
+                            foreach ($onlyNodes as $onlyNode) {
+                                if ($onlyNode === $child) {
+                                    $matched = true;
+                                }
+                            }
+
+                            if (!$matched) {
+                                break 2;
+                            }
+                        }
+                    }
+
+                    $filtered[] = $node;
+                }
+            }
+
+            $nodes = $filtered;
+
+            if (empty($nodes)) {
+                return;
+            }
+        }
+
+        // return the first node that matches all criteria
+        return !empty($nodes) ? $nodes : array();
+    }
+
+    /**
+     * Recursively get flat array of all descendants of this node.
+     *
+     * @param  DOMNode $node
+     * @return array
+     * @since  Method available since Release 3.3.0
+     */
+    protected static function getDescendants(DOMNode $node)
+    {
+        $allChildren = array();
+        $childNodes  = $node->childNodes ? $node->childNodes : array();
+
+        foreach ($childNodes as $child) {
+            if ($child->nodeType === XML_CDATA_SECTION_NODE ||
+                $child->nodeType === XML_TEXT_NODE) {
+                continue;
+            }
+
+            $children    = self::getDescendants($child);
+            $allChildren = array_merge($allChildren, $children, array($child));
+        }
+
+        return isset($allChildren) ? $allChildren : array();
+    }
+
+    /**
+     * Gets elements by case insensitive tagname.
+     *
+     * @param  DOMDocument $dom
+     * @param  string      $tag
+     * @return DOMNodeList
+     * @since  Method available since Release 3.4.0
+     */
+    protected static function getElementsByCaseInsensitiveTagName(DOMDocument $dom, $tag)
+    {
+        $elements = $dom->getElementsByTagName(strtolower($tag));
+
+        if ($elements->length == 0) {
+            $elements = $dom->getElementsByTagName(strtoupper($tag));
+        }
+
+        return $elements;
+    }
+
+    /**
+     * Get the text value of this node's child text node.
+     *
+     * @param  DOMNode $node
+     * @return string
+     * @since  Method available since Release 3.3.0
+     */
+    protected static function getNodeText(DOMNode $node)
+    {
+        if (!$node->childNodes instanceof DOMNodeList) {
+            return '';
+        }
+
+        $result = '';
+
+        foreach ($node->childNodes as $childNode) {
+            if ($childNode->nodeType === XML_TEXT_NODE ||
+                $childNode->nodeType === XML_CDATA_SECTION_NODE) {
+                $result .= trim($childNode->data) . ' ';
+            } else {
+                $result .= self::getNodeText($childNode);
+            }
+        }
+
+        return str_replace('  ', ' ', $result);
+    }
+}
diff --git a/core/vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php b/vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php
rename to vendor/phpunit/phpunit/tests/Extensions/PhptTestCaseTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php b/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php
rename to vendor/phpunit/phpunit/tests/Extensions/RepeatedTestTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Fail/fail.phpt b/vendor/phpunit/phpunit/tests/Fail/fail.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Fail/fail.phpt
rename to vendor/phpunit/phpunit/tests/Fail/fail.phpt
diff --git a/vendor/phpunit/phpunit/tests/Framework/AssertTest.php b/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
new file mode 100644
index 0000000..3406be8
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Framework/AssertTest.php
@@ -0,0 +1,4130 @@
+<?php
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * @since      Class available since Release 2.0.0
+ */
+class Framework_AssertTest extends PHPUnit_Framework_TestCase
+{
+    /**
+     * @var string
+     */
+    private $filesDirectory;
+
+    protected function setUp()
+    {
+        $this->filesDirectory = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR;
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::fail
+     */
+    public function testFail()
+    {
+        try {
+            $this->fail();
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        throw new PHPUnit_Framework_AssertionFailedError('Fail did not throw fail exception');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertSplObjectStorageContainsObject()
+    {
+        $a = new stdClass;
+        $b = new stdClass;
+        $c = new SplObjectStorage;
+        $c->attach($a);
+
+        $this->assertContains($a, $c);
+
+        try {
+            $this->assertContains($b, $c);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertArrayContainsObject()
+    {
+        $a = new stdClass;
+        $b = new stdClass;
+
+        $this->assertContains($a, array($a));
+
+        try {
+            $this->assertContains($a, array($b));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertArrayContainsString()
+    {
+        $this->assertContains('foo', array('foo'));
+
+        try {
+            $this->assertContains('foo', array('bar'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertArrayContainsNonObject()
+    {
+        $this->assertContains('foo', array(true));
+
+        try {
+            $this->assertContains('foo', array(true), '', false, true, true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
+     */
+    public function testAssertContainsOnlyInstancesOf()
+    {
+        $test = array(
+            new Book(),
+            new Book
+        );
+        $this->assertContainsOnlyInstancesOf('Book', $test);
+        $this->assertContainsOnlyInstancesOf('stdClass', array(new stdClass()));
+
+        $test2 = array(
+            new Author('Test')
+        );
+        try {
+            $this->assertContainsOnlyInstancesOf('Book', $test2);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertArrayHasKeyThrowsExceptionForInvalidFirstArgument()
+    {
+        $this->assertArrayHasKey(null, array());
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertArrayHasKey
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertArrayHasKeyThrowsExceptionForInvalidSecondArgument()
+    {
+        $this->assertArrayHasKey(0, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     */
+    public function testAssertArrayHasIntegerKey()
+    {
+        $this->assertArrayHasKey(0, array('foo'));
+
+        try {
+            $this->assertArrayHasKey(1, array('foo'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArraySubset
+     * @covers PHPUnit_Framework_Constraint_ArraySubset
+     */
+    public function testAssertArraySubset()
+    {
+        $array = array(
+            'a' => 'item a',
+            'b' => 'item b',
+            'c' => array('a2' => 'item a2', 'b2' => 'item b2'),
+            'd' => array('a2' => array('a3' => 'item a3', 'b3' => 'item b3'))
+        );
+
+        $this->assertArraySubset(array('a' => 'item a', 'c' => array('a2' => 'item a2')), $array);
+        $this->assertArraySubset(array('a' => 'item a', 'd' => array('a2' => array('b3' => 'item b3'))), $array);
+
+        try {
+            $this->assertArraySubset(array('a' => 'bad value'), $array);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+        }
+
+        try {
+            $this->assertArraySubset(array('d' => array('a2' => array('bad index' => 'item b3'))), $array);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArraySubset
+     * @covers PHPUnit_Framework_Constraint_ArraySubset
+     */
+    public function testAssertArraySubsetWithDeepNestedArrays()
+    {
+        $array = array(
+            'path' => array(
+                'to' => array(
+                    'the' => array(
+                        'cake' => 'is a lie'
+                    )
+                )
+            )
+        );
+
+        $this->assertArraySubset(array('path' => array()), $array);
+        $this->assertArraySubset(array('path' => array('to' => array())), $array);
+        $this->assertArraySubset(array('path' => array('to' => array('the' => array()))), $array);
+        $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is a lie')))), $array);
+
+        try {
+            $this->assertArraySubset(array('path' => array('to' => array('the' => array('cake' => 'is not a lie')))), $array);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArraySubset
+     * @covers PHPUnit_Framework_Constraint_ArraySubset
+     */
+    public function testAssertArraySubsetWithNoStrictCheckAndObjects()
+    {
+        $obj       = new \stdClass;
+        $reference = &$obj;
+        $array     = array('a' => $obj);
+
+        $this->assertArraySubset(array('a' => $reference), $array);
+        $this->assertArraySubset(array('a' => new \stdClass), $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArraySubset
+     * @covers PHPUnit_Framework_Constraint_ArraySubset
+     */
+    public function testAssertArraySubsetWithStrictCheckAndObjects()
+    {
+        $obj       = new \stdClass;
+        $reference = &$obj;
+        $array     = array('a' => $obj);
+
+        $this->assertArraySubset(array('a' => $reference), $array, true);
+
+        try {
+            $this->assertArraySubset(array('a' => new \stdClass), $array, true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail('Strict recursive array check fail.');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArraySubset
+     * @covers PHPUnit_Framework_Constraint_ArraySubset
+     * @expectedException PHPUnit_Framework_Exception
+     * @expectedExceptionMessage array or ArrayAccess
+     * @dataProvider assertArraySubsetInvalidArgumentProvider
+     */
+    public function testAssertArraySubsetRaisesExceptionForInvalidArguments($partial, $subject)
+    {
+        $this->assertArraySubset($partial, $subject);
+    }
+
+    /**
+     * @return array
+     */
+    public function assertArraySubsetInvalidArgumentProvider()
+    {
+        return array(
+            array(false, array()),
+            array(array(), false),
+        );
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidFirstArgument()
+    {
+        $this->assertArrayNotHasKey(null, array());
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertArrayNotHasKey
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertArrayNotHasKeyThrowsExceptionForInvalidSecondArgument()
+    {
+        $this->assertArrayNotHasKey(0, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
+     */
+    public function testAssertArrayNotHasIntegerKey()
+    {
+        $this->assertArrayNotHasKey(1, array('foo'));
+
+        try {
+            $this->assertArrayNotHasKey(0, array('foo'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     */
+    public function testAssertArrayHasStringKey()
+    {
+        $this->assertArrayHasKey('foo', array('foo' => 'bar'));
+
+        try {
+            $this->assertArrayHasKey('bar', array('foo' => 'bar'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
+     */
+    public function testAssertArrayNotHasStringKey()
+    {
+        $this->assertArrayNotHasKey('bar', array('foo' => 'bar'));
+
+        try {
+            $this->assertArrayNotHasKey('foo', array('foo' => 'bar'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     */
+    public function testAssertArrayHasKeyAcceptsArrayObjectValue()
+    {
+        $array        = new ArrayObject();
+        $array['foo'] = 'bar';
+        $this->assertArrayHasKey('foo', $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     * @expectedException PHPUnit_Framework_AssertionFailedError
+     */
+    public function testAssertArrayHasKeyProperlyFailsWithArrayObjectValue()
+    {
+        $array        = new ArrayObject();
+        $array['bar'] = 'bar';
+        $this->assertArrayHasKey('foo', $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     */
+    public function testAssertArrayHasKeyAcceptsArrayAccessValue()
+    {
+        $array        = new SampleArrayAccess();
+        $array['foo'] = 'bar';
+        $this->assertArrayHasKey('foo', $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayHasKey
+     * @expectedException PHPUnit_Framework_AssertionFailedError
+     */
+    public function testAssertArrayHasKeyProperlyFailsWithArrayAccessValue()
+    {
+        $array        = new SampleArrayAccess();
+        $array['bar'] = 'bar';
+        $this->assertArrayHasKey('foo', $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
+     */
+    public function testAssertArrayNotHasKeyAcceptsArrayAccessValue()
+    {
+        $array        = new ArrayObject();
+        $array['foo'] = 'bar';
+        $this->assertArrayNotHasKey('bar', $array);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertArrayNotHasKey
+     * @expectedException PHPUnit_Framework_AssertionFailedError
+     */
+    public function testAssertArrayNotHasKeyPropertlyFailsWithArrayAccessValue()
+    {
+        $array        = new ArrayObject();
+        $array['bar'] = 'bar';
+        $this->assertArrayNotHasKey('bar', $array);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertContains
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertContainsThrowsException()
+    {
+        $this->assertContains(null, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertIteratorContainsObject()
+    {
+        $foo = new stdClass;
+
+        $this->assertContains($foo, new TestIterator(array($foo)));
+
+        try {
+            $this->assertContains($foo, new TestIterator(array(new stdClass)));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertIteratorContainsString()
+    {
+        $this->assertContains('foo', new TestIterator(array('foo')));
+
+        try {
+            $this->assertContains('foo', new TestIterator(array('bar')));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContains
+     */
+    public function testAssertStringContainsString()
+    {
+        $this->assertContains('foo', 'foobar');
+
+        try {
+            $this->assertContains('foo', 'bar');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertNotContains
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotContainsThrowsException()
+    {
+        $this->assertNotContains(null, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContains
+     */
+    public function testAssertSplObjectStorageNotContainsObject()
+    {
+        $a = new stdClass;
+        $b = new stdClass;
+        $c = new SplObjectStorage;
+        $c->attach($a);
+
+        $this->assertNotContains($b, $c);
+
+        try {
+            $this->assertNotContains($a, $c);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContains
+     */
+    public function testAssertArrayNotContainsObject()
+    {
+        $a = new stdClass;
+        $b = new stdClass;
+
+        $this->assertNotContains($a, array($b));
+
+        try {
+            $this->assertNotContains($a, array($a));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContains
+     */
+    public function testAssertArrayNotContainsString()
+    {
+        $this->assertNotContains('foo', array('bar'));
+
+        try {
+            $this->assertNotContains('foo', array('foo'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContains
+     */
+    public function testAssertArrayNotContainsNonObject()
+    {
+        $this->assertNotContains('foo', array(true), '', false, true, true);
+
+        try {
+            $this->assertNotContains('foo', array(true));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContains
+     */
+    public function testAssertStringNotContainsString()
+    {
+        $this->assertNotContains('foo', 'bar');
+
+        try {
+            $this->assertNotContains('foo', 'foo');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertContainsOnly
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertContainsOnlyThrowsException()
+    {
+        $this->assertContainsOnly(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertNotContainsOnly
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotContainsOnlyThrowsException()
+    {
+        $this->assertNotContainsOnly(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertContainsOnlyInstancesOf
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertContainsOnlyInstancesOfThrowsException()
+    {
+        $this->assertContainsOnlyInstancesOf(null, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContainsOnly
+     */
+    public function testAssertArrayContainsOnlyIntegers()
+    {
+        $this->assertContainsOnly('integer', array(1, 2, 3));
+
+        try {
+            $this->assertContainsOnly('integer', array('1', 2, 3));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
+     */
+    public function testAssertArrayNotContainsOnlyIntegers()
+    {
+        $this->assertNotContainsOnly('integer', array('1', 2, 3));
+
+        try {
+            $this->assertNotContainsOnly('integer', array(1, 2, 3));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertContainsOnly
+     */
+    public function testAssertArrayContainsOnlyStdClass()
+    {
+        $this->assertContainsOnly('StdClass', array(new stdClass));
+
+        try {
+            $this->assertContainsOnly('StdClass', array('StdClass'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotContainsOnly
+     */
+    public function testAssertArrayNotContainsOnlyStdClass()
+    {
+        $this->assertNotContainsOnly('StdClass', array('StdClass'));
+
+        try {
+            $this->assertNotContainsOnly('StdClass', array(new stdClass));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    protected function sameValues()
+    {
+        $object = new SampleClass(4, 8, 15);
+        // cannot use $filesDirectory, because neither setUp() nor
+        // setUpBeforeClass() are executed before the data providers
+        $file     = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
+        $resource = fopen($file, 'r');
+
+        return array(
+            // null
+            array(null, null),
+            // strings
+            array('a', 'a'),
+            // integers
+            array(0, 0),
+            // floats
+            array(2.3, 2.3),
+            array(1/3, 1 - 2/3),
+            array(log(0), log(0)),
+            // arrays
+            array(array(), array()),
+            array(array(0 => 1), array(0 => 1)),
+            array(array(0 => null), array(0 => null)),
+            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(1, 2))),
+            // objects
+            array($object, $object),
+            // resources
+            array($resource, $resource),
+        );
+    }
+
+    protected function notEqualValues()
+    {
+        // cyclic dependencies
+        $book1                  = new Book;
+        $book1->author          = new Author('Terry Pratchett');
+        $book1->author->books[] = $book1;
+        $book2                  = new Book;
+        $book2->author          = new Author('Terry Pratch');
+        $book2->author->books[] = $book2;
+
+        $book3         = new Book;
+        $book3->author = 'Terry Pratchett';
+        $book4         = new stdClass;
+        $book4->author = 'Terry Pratchett';
+
+        $object1  = new SampleClass(4, 8, 15);
+        $object2  = new SampleClass(16, 23, 42);
+        $object3  = new SampleClass(4, 8, 15);
+        $storage1 = new SplObjectStorage;
+        $storage1->attach($object1);
+        $storage2 = new SplObjectStorage;
+        $storage2->attach($object3); // same content, different object
+
+        // cannot use $filesDirectory, because neither setUp() nor
+        // setUpBeforeClass() are executed before the data providers
+        $file = dirname(__DIR__) . DIRECTORY_SEPARATOR . '_files' . DIRECTORY_SEPARATOR . 'foo.xml';
+
+        return array(
+            // strings
+            array('a', 'b'),
+            array('a', 'A'),
+            // https://github.com/sebastianbergmann/phpunit/issues/1023
+            array('9E6666666','9E7777777'),
+            // integers
+            array(1, 2),
+            array(2, 1),
+            // floats
+            array(2.3, 4.2),
+            array(2.3, 4.2, 0.5),
+            array(array(2.3), array(4.2), 0.5),
+            array(array(array(2.3)), array(array(4.2)), 0.5),
+            array(new Struct(2.3), new Struct(4.2), 0.5),
+            array(array(new Struct(2.3)), array(new Struct(4.2)), 0.5),
+            // NAN
+            array(NAN, NAN),
+            // arrays
+            array(array(), array(0 => 1)),
+            array(array(0 => 1), array()),
+            array(array(0 => null), array()),
+            array(array(0 => 1, 1 => 2), array(0 => 1, 1 => 3)),
+            array(array('a', 'b' => array(1, 2)), array('a', 'b' => array(2, 1))),
+            // objects
+            array(new SampleClass(4, 8, 15), new SampleClass(16, 23, 42)),
+            array($object1, $object2),
+            array($book1, $book2),
+            array($book3, $book4), // same content, different class
+            // resources
+            array(fopen($file, 'r'), fopen($file, 'r')),
+            // SplObjectStorage
+            array($storage1, $storage2),
+            // DOMDocument
+            array(
+                PHPUnit_Util_XML::load('<root></root>'),
+                PHPUnit_Util_XML::load('<bar/>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<foo attr1="bar"/>'),
+                PHPUnit_Util_XML::load('<foo attr1="foobar"/>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<foo> bar </foo>'),
+                PHPUnit_Util_XML::load('<foo />'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<foo xmlns="urn:myns:bar"/>'),
+                PHPUnit_Util_XML::load('<foo xmlns="urn:notmyns:bar"/>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<foo> bar </foo>'),
+                PHPUnit_Util_XML::load('<foo> bir </foo>'),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/New_York')),
+                3500
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 05:13:35', new DateTimeZone('America/New_York')),
+                3500
+            ),
+            array(
+                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+            ),
+            array(
+                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+                43200
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/Chicago')),
+                3500
+            ),
+            array(
+                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-30', new DateTimeZone('America/Chicago')),
+            ),
+            array(
+                new DateTime('2013-03-29T05:13:35-0600'),
+                new DateTime('2013-03-29T04:13:35-0600'),
+            ),
+            array(
+                new DateTime('2013-03-29T05:13:35-0600'),
+                new DateTime('2013-03-29T05:13:35-0500'),
+            ),
+            // Exception
+            //array(new Exception('Exception 1'), new Exception('Exception 2')),
+            // different types
+            array(new SampleClass(4, 8, 15), false),
+            array(false, new SampleClass(4, 8, 15)),
+            array(array(0 => 1, 1 => 2), false),
+            array(false, array(0 => 1, 1 => 2)),
+            array(array(), new stdClass),
+            array(new stdClass, array()),
+            // PHP: 0 == 'Foobar' => true!
+            // We want these values to differ
+            array(0, 'Foobar'),
+            array('Foobar', 0),
+            array(3, acos(8)),
+            array(acos(8), 3)
+        );
+    }
+
+    protected function equalValues()
+    {
+        // cyclic dependencies
+        $book1                  = new Book;
+        $book1->author          = new Author('Terry Pratchett');
+        $book1->author->books[] = $book1;
+        $book2                  = new Book;
+        $book2->author          = new Author('Terry Pratchett');
+        $book2->author->books[] = $book2;
+
+        $object1  = new SampleClass(4, 8, 15);
+        $object2  = new SampleClass(4, 8, 15);
+        $storage1 = new SplObjectStorage;
+        $storage1->attach($object1);
+        $storage2 = new SplObjectStorage;
+        $storage2->attach($object1);
+
+        return array(
+            // strings
+            array('a', 'A', 0, false, true), // ignore case
+            // arrays
+            array(array('a' => 1, 'b' => 2), array('b' => 2, 'a' => 1)),
+            array(array(1), array('1')),
+            array(array(3, 2, 1), array(2, 3, 1), 0, true), // canonicalized comparison
+            // floats
+            array(2.3, 2.5, 0.5),
+            array(array(2.3), array(2.5), 0.5),
+            array(array(array(2.3)), array(array(2.5)), 0.5),
+            array(new Struct(2.3), new Struct(2.5), 0.5),
+            array(array(new Struct(2.3)), array(new Struct(2.5)), 0.5),
+            // numeric with delta
+            array(1, 2, 1),
+            // objects
+            array($object1, $object2),
+            array($book1, $book2),
+            // SplObjectStorage
+            array($storage1, $storage2),
+            // DOMDocument
+            array(
+                PHPUnit_Util_XML::load('<root></root>'),
+                PHPUnit_Util_XML::load('<root/>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<root attr="bar"></root>'),
+                PHPUnit_Util_XML::load('<root attr="bar"/>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load('<root><foo attr="bar"></foo></root>'),
+                PHPUnit_Util_XML::load('<root><foo attr="bar"/></root>'),
+            ),
+            array(
+                PHPUnit_Util_XML::load("<root>\n  <child/>\n</root>"),
+                PHPUnit_Util_XML::load('<root><child/></root>'),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 04:13:25', new DateTimeZone('America/New_York')),
+                10
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 04:14:40', new DateTimeZone('America/New_York')),
+                65
+            ),
+            array(
+                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29', new DateTimeZone('America/New_York')),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 03:13:35', new DateTimeZone('America/Chicago')),
+            ),
+            array(
+                new DateTime('2013-03-29 04:13:35', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 03:13:49', new DateTimeZone('America/Chicago')),
+                15
+            ),
+            array(
+                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
+            ),
+            array(
+                new DateTime('2013-03-30', new DateTimeZone('America/New_York')),
+                new DateTime('2013-03-29 23:01:30', new DateTimeZone('America/Chicago')),
+                100
+            ),
+            array(
+                new DateTime('@1364616000'),
+                new DateTime('2013-03-29 23:00:00', new DateTimeZone('America/Chicago')),
+            ),
+            array(
+                new DateTime('2013-03-29T05:13:35-0500'),
+                new DateTime('2013-03-29T04:13:35-0600'),
+            ),
+            // Exception
+            //array(new Exception('Exception 1'), new Exception('Exception 1')),
+            // mixed types
+            array(0, '0'),
+            array('0', 0),
+            array(2.3, '2.3'),
+            array('2.3', 2.3),
+            array((string) (1/3), 1 - 2/3),
+            array(1/3, (string) (1 - 2/3)),
+            array('string representation', new ClassWithToString),
+            array(new ClassWithToString, 'string representation'),
+        );
+    }
+
+    public function equalProvider()
+    {
+        // same |= equal
+        return array_merge($this->equalValues(), $this->sameValues());
+    }
+
+    public function notEqualProvider()
+    {
+        return $this->notEqualValues();
+    }
+
+    public function sameProvider()
+    {
+        return $this->sameValues();
+    }
+
+    public function notSameProvider()
+    {
+        // not equal |= not same
+        // equal, Â¬same |= not same
+        return array_merge($this->notEqualValues(), $this->equalValues());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEquals
+     * @dataProvider equalProvider
+     */
+    public function testAssertEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
+    {
+        $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEquals
+     * @dataProvider notEqualProvider
+     */
+    public function testAssertEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
+    {
+        try {
+            $this->assertEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotEquals
+     * @dataProvider notEqualProvider
+     */
+    public function testAssertNotEqualsSucceeds($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
+    {
+        $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotEquals
+     * @dataProvider equalProvider
+     */
+    public function testAssertNotEqualsFails($a, $b, $delta = 0.0, $canonicalize = false, $ignoreCase = false)
+    {
+        try {
+            $this->assertNotEquals($a, $b, '', $delta, 10, $canonicalize, $ignoreCase);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSame
+     * @dataProvider sameProvider
+     */
+    public function testAssertSameSucceeds($a, $b)
+    {
+        $this->assertSame($a, $b);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSame
+     * @dataProvider notSameProvider
+     */
+    public function testAssertSameFails($a, $b)
+    {
+        try {
+            $this->assertSame($a, $b);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSame
+     * @dataProvider notSameProvider
+     */
+    public function testAssertNotSameSucceeds($a, $b)
+    {
+        $this->assertNotSame($a, $b);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSame
+     * @dataProvider sameProvider
+     */
+    public function testAssertNotSameFails($a, $b)
+    {
+        try {
+            $this->assertNotSame($a, $b);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlFileEqualsXmlFile
+     */
+    public function testAssertXmlFileEqualsXmlFile()
+    {
+        $this->assertXmlFileEqualsXmlFile(
+            $this->filesDirectory . 'foo.xml',
+            $this->filesDirectory . 'foo.xml'
+        );
+
+        try {
+            $this->assertXmlFileEqualsXmlFile(
+                $this->filesDirectory . 'foo.xml',
+                $this->filesDirectory . 'bar.xml'
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlFileNotEqualsXmlFile
+     */
+    public function testAssertXmlFileNotEqualsXmlFile()
+    {
+        $this->assertXmlFileNotEqualsXmlFile(
+            $this->filesDirectory . 'foo.xml',
+            $this->filesDirectory . 'bar.xml'
+        );
+
+        try {
+            $this->assertXmlFileNotEqualsXmlFile(
+                $this->filesDirectory . 'foo.xml',
+                $this->filesDirectory . 'foo.xml'
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlFile
+     */
+    public function testAssertXmlStringEqualsXmlFile()
+    {
+        $this->assertXmlStringEqualsXmlFile(
+            $this->filesDirectory . 'foo.xml',
+            file_get_contents($this->filesDirectory . 'foo.xml')
+        );
+
+        try {
+            $this->assertXmlStringEqualsXmlFile(
+                $this->filesDirectory . 'foo.xml',
+                file_get_contents($this->filesDirectory . 'bar.xml')
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlFile
+     */
+    public function testXmlStringNotEqualsXmlFile()
+    {
+        $this->assertXmlStringNotEqualsXmlFile(
+            $this->filesDirectory . 'foo.xml',
+            file_get_contents($this->filesDirectory . 'bar.xml')
+        );
+
+        try {
+            $this->assertXmlStringNotEqualsXmlFile(
+                $this->filesDirectory . 'foo.xml',
+                file_get_contents($this->filesDirectory . 'foo.xml')
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString
+     */
+    public function testAssertXmlStringEqualsXmlString()
+    {
+        $this->assertXmlStringEqualsXmlString('<root/>', '<root/>');
+
+        try {
+            $this->assertXmlStringEqualsXmlString('<foo/>', '<bar/>');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @expectedException PHPUnit_Framework_Exception
+     * @covers            PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString
+     * @ticket            1860
+     */
+    public function testAssertXmlStringEqualsXmlString2()
+    {
+        $this->assertXmlStringEqualsXmlString('<a></b>', '<c></d>');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlStringEqualsXmlString
+     * @ticket 1860
+     */
+    public function testAssertXmlStringEqualsXmlString3()
+    {
+        $expected = <<<XML
+<?xml version="1.0"?>
+<root>
+    <node />
+</root>
+XML;
+
+        $actual = <<<XML
+<?xml version="1.0"?>
+<root>
+<node />
+</root>
+XML;
+
+        $this->assertXmlStringEqualsXmlString($expected, $actual);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertXmlStringNotEqualsXmlString
+     */
+    public function testAssertXmlStringNotEqualsXmlString()
+    {
+        $this->assertXmlStringNotEqualsXmlString('<foo/>', '<bar/>');
+
+        try {
+            $this->assertXmlStringNotEqualsXmlString('<root/>', '<root/>');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
+     */
+    public function testXMLStructureIsSame()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureExpected.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
+     * @expectedException PHPUnit_Framework_ExpectationFailedException
+     */
+    public function testXMLStructureWrongNumberOfAttributes()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureWrongNumberOfAttributes.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertEqualXMLStructure
+     * @expectedException PHPUnit_Framework_ExpectationFailedException
+     */
+    public function testXMLStructureWrongNumberOfNodes()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureWrongNumberOfNodes.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
+     */
+    public function testXMLStructureIsSameButDataIsNot()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureIsSameButDataIsNot.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
+     */
+    public function testXMLStructureAttributesAreSameButValuesAreNot()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureAttributesAreSameButValuesAreNot.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEqualXMLStructure
+     */
+    public function testXMLStructureIgnoreTextNodes()
+    {
+        $expected = new DOMDocument;
+        $expected->load($this->filesDirectory . 'structureExpected.xml');
+
+        $actual = new DOMDocument;
+        $actual->load($this->filesDirectory . 'structureIgnoreTextNodes.xml');
+
+        $this->assertEqualXMLStructure(
+            $expected->firstChild, $actual->firstChild, true
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEquals
+     */
+    public function testAssertStringEqualsNumeric()
+    {
+        $this->assertEquals('0', 0);
+
+        try {
+            $this->assertEquals('0', 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotEquals
+     */
+    public function testAssertStringEqualsNumeric2()
+    {
+        $this->assertNotEquals('A', 0);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertFileExists
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertFileExistsThrowsException()
+    {
+        $this->assertFileExists(null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertFileExists
+     */
+    public function testAssertFileExists()
+    {
+        $this->assertFileExists(__FILE__);
+
+        try {
+            $this->assertFileExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertFileNotExists
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertFileNotExistsThrowsException()
+    {
+        $this->assertFileNotExists(null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertFileNotExists
+     */
+    public function testAssertFileNotExists()
+    {
+        $this->assertFileNotExists(__DIR__ . DIRECTORY_SEPARATOR . 'NotExisting');
+
+        try {
+            $this->assertFileNotExists(__FILE__);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
+     */
+    public function testAssertObjectHasAttribute()
+    {
+        $o = new Author('Terry Pratchett');
+
+        $this->assertObjectHasAttribute('name', $o);
+
+        try {
+            $this->assertObjectHasAttribute('foo', $o);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     */
+    public function testAssertObjectNotHasAttribute()
+    {
+        $o = new Author('Terry Pratchett');
+
+        $this->assertObjectNotHasAttribute('foo', $o);
+
+        try {
+            $this->assertObjectNotHasAttribute('name', $o);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNull
+     */
+    public function testAssertNull()
+    {
+        $this->assertNull(null);
+
+        try {
+            $this->assertNull(new stdClass);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotNull
+     */
+    public function testAssertNotNull()
+    {
+        $this->assertNotNull(new stdClass);
+
+        try {
+            $this->assertNotNull(null);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertTrue
+     */
+    public function testAssertTrue()
+    {
+        $this->assertTrue(true);
+
+        try {
+            $this->assertTrue(false);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotTrue
+     */
+    public function testAssertNotTrue()
+    {
+        $this->assertNotTrue(false);
+        $this->assertNotTrue(1);
+        $this->assertNotTrue('true');
+
+        try {
+            $this->assertNotTrue(true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertFalse
+     */
+    public function testAssertFalse()
+    {
+        $this->assertFalse(false);
+
+        try {
+            $this->assertFalse(true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotFalse
+     */
+    public function testAssertNotFalse()
+    {
+        $this->assertNotFalse(true);
+        $this->assertNotFalse(0);
+        $this->assertNotFalse('');
+
+        try {
+            $this->assertNotFalse(false);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertRegExp
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertRegExpThrowsException()
+    {
+        $this->assertRegExp(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertRegExp
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertRegExpThrowsException2()
+    {
+        $this->assertRegExp('', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotRegExpThrowsException()
+    {
+        $this->assertNotRegExp(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertNotRegExp
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotRegExpThrowsException2()
+    {
+        $this->assertNotRegExp('', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertRegExp
+     */
+    public function testAssertRegExp()
+    {
+        $this->assertRegExp('/foo/', 'foobar');
+
+        try {
+            $this->assertRegExp('/foo/', 'bar');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotRegExp
+     */
+    public function testAssertNotRegExp()
+    {
+        $this->assertNotRegExp('/foo/', 'bar');
+
+        try {
+            $this->assertNotRegExp('/foo/', 'foobar');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSame
+     */
+    public function testAssertSame()
+    {
+        $o = new stdClass;
+
+        $this->assertSame($o, $o);
+
+        try {
+            $this->assertSame(
+                new stdClass,
+                new stdClass
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSame
+     */
+    public function testAssertSame2()
+    {
+        $this->assertSame(true, true);
+        $this->assertSame(false, false);
+
+        try {
+            $this->assertSame(true, false);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSame
+     */
+    public function testAssertNotSame()
+    {
+        $this->assertNotSame(
+            new stdClass,
+            null
+        );
+
+        $this->assertNotSame(
+            null,
+            new stdClass
+        );
+
+        $this->assertNotSame(
+            new stdClass,
+            new stdClass
+        );
+
+        $o = new stdClass;
+
+        try {
+            $this->assertNotSame($o, $o);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSame
+     */
+    public function testAssertNotSame2()
+    {
+        $this->assertNotSame(true, false);
+        $this->assertNotSame(false, true);
+
+        try {
+            $this->assertNotSame(true, true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSame
+     */
+    public function testAssertNotSameFailsNull()
+    {
+        try {
+            $this->assertNotSame(null, null);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertGreaterThan
+     */
+    public function testGreaterThan()
+    {
+        $this->assertGreaterThan(1, 2);
+
+        try {
+            $this->assertGreaterThan(2, 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThan
+     */
+    public function testAttributeGreaterThan()
+    {
+        $this->assertAttributeGreaterThan(
+            1, 'bar', new ClassWithNonPublicAttributes
+        );
+
+        try {
+            $this->assertAttributeGreaterThan(
+                1, 'foo', new ClassWithNonPublicAttributes
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertGreaterThanOrEqual
+     */
+    public function testGreaterThanOrEqual()
+    {
+        $this->assertGreaterThanOrEqual(1, 2);
+
+        try {
+            $this->assertGreaterThanOrEqual(2, 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeGreaterThanOrEqual
+     */
+    public function testAttributeGreaterThanOrEqual()
+    {
+        $this->assertAttributeGreaterThanOrEqual(
+            1, 'bar', new ClassWithNonPublicAttributes
+        );
+
+        try {
+            $this->assertAttributeGreaterThanOrEqual(
+                2, 'foo', new ClassWithNonPublicAttributes
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertLessThan
+     */
+    public function testLessThan()
+    {
+        $this->assertLessThan(2, 1);
+
+        try {
+            $this->assertLessThan(1, 2);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeLessThan
+     */
+    public function testAttributeLessThan()
+    {
+        $this->assertAttributeLessThan(
+            2, 'foo', new ClassWithNonPublicAttributes
+        );
+
+        try {
+            $this->assertAttributeLessThan(
+                1, 'bar', new ClassWithNonPublicAttributes
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertLessThanOrEqual
+     */
+    public function testLessThanOrEqual()
+    {
+        $this->assertLessThanOrEqual(2, 1);
+
+        try {
+            $this->assertLessThanOrEqual(1, 2);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeLessThanOrEqual
+     */
+    public function testAttributeLessThanOrEqual()
+    {
+        $this->assertAttributeLessThanOrEqual(
+            2, 'foo', new ClassWithNonPublicAttributes
+        );
+
+        try {
+            $this->assertAttributeLessThanOrEqual(
+                1, 'bar', new ClassWithNonPublicAttributes
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::readAttribute
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     */
+    public function testReadAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertEquals('foo', $this->readAttribute($obj, 'publicAttribute'));
+        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedAttribute'));
+        $this->assertEquals('baz', $this->readAttribute($obj, 'privateAttribute'));
+        $this->assertEquals('bar', $this->readAttribute($obj, 'protectedParentAttribute'));
+        //$this->assertEquals('bar', $this->readAttribute($obj, 'privateParentAttribute'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::readAttribute
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     */
+    public function testReadAttribute2()
+    {
+        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'publicStaticAttribute'));
+        $this->assertEquals('bar', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticAttribute'));
+        $this->assertEquals('baz', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticAttribute'));
+        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'protectedStaticParentAttribute'));
+        $this->assertEquals('foo', $this->readAttribute('ClassWithNonPublicAttributes', 'privateStaticParentAttribute'));
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::readAttribute
+     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testReadAttribute3()
+    {
+        $this->readAttribute('StdClass', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::readAttribute
+     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testReadAttribute4()
+    {
+        $this->readAttribute('NotExistingClass', 'foo');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::readAttribute
+     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testReadAttribute5()
+    {
+        $this->readAttribute(null, 'foo');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::readAttribute
+     * @covers            PHPUnit_Framework_Assert::getStaticAttribute
+     * @covers            PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testReadAttributeIfAttributeNameIsNotValid()
+    {
+        $this->readAttribute('StdClass', '2');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument()
+    {
+        $this->getStaticAttribute(null, 'foo');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetStaticAttributeRaisesExceptionForInvalidFirstArgument2()
+    {
+        $this->getStaticAttribute('NotExistingClass', 'foo');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument()
+    {
+        $this->getStaticAttribute('stdClass', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument2()
+    {
+        $this->getStaticAttribute('stdClass', '0');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetStaticAttributeRaisesExceptionForInvalidSecondArgument3()
+    {
+        $this->getStaticAttribute('stdClass', 'foo');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetObjectAttributeRaisesExceptionForInvalidFirstArgument()
+    {
+        $this->getObjectAttribute(null, 'foo');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument()
+    {
+        $this->getObjectAttribute(new stdClass, null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument2()
+    {
+        $this->getObjectAttribute(new stdClass, '0');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testGetObjectAttributeRaisesExceptionForInvalidSecondArgument3()
+    {
+        $this->getObjectAttribute(new stdClass, 'foo');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::getObjectAttribute
+     */
+    public function testGetObjectAttributeWorksForInheritedAttributes()
+    {
+        $this->assertEquals(
+            'bar',
+            $this->getObjectAttribute(new ClassWithNonPublicAttributes, 'privateParentAttribute')
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeContains
+     */
+    public function testAssertPublicAttributeContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeContains('foo', 'publicArray', $obj);
+
+        try {
+            $this->assertAttributeContains('bar', 'publicArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeContainsOnly
+     */
+    public function testAssertPublicAttributeContainsOnly()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeContainsOnly('string', 'publicArray', $obj);
+
+        try {
+            $this->assertAttributeContainsOnly('integer', 'publicArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
+     */
+    public function testAssertPublicAttributeNotContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotContains('bar', 'publicArray', $obj);
+
+        try {
+            $this->assertAttributeNotContains('foo', 'publicArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotContainsOnly
+     */
+    public function testAssertPublicAttributeNotContainsOnly()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotContainsOnly('integer', 'publicArray', $obj);
+
+        try {
+            $this->assertAttributeNotContainsOnly('string', 'publicArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeContains
+     */
+    public function testAssertProtectedAttributeContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeContains('bar', 'protectedArray', $obj);
+
+        try {
+            $this->assertAttributeContains('foo', 'protectedArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
+     */
+    public function testAssertProtectedAttributeNotContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotContains('foo', 'protectedArray', $obj);
+
+        try {
+            $this->assertAttributeNotContains('bar', 'protectedArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeContains
+     */
+    public function testAssertPrivateAttributeContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeContains('baz', 'privateArray', $obj);
+
+        try {
+            $this->assertAttributeContains('foo', 'privateArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
+     */
+    public function testAssertPrivateAttributeNotContains()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotContains('foo', 'privateArray', $obj);
+
+        try {
+            $this->assertAttributeNotContains('baz', 'privateArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeContains
+     */
+    public function testAssertAttributeContainsNonObject()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeContains(true, 'privateArray', $obj);
+
+        try {
+            $this->assertAttributeContains(true, 'privateArray', $obj, '', false, true, true);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotContains
+     */
+    public function testAssertAttributeNotContainsNonObject()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotContains(true, 'privateArray', $obj, '', false, true, true);
+
+        try {
+            $this->assertAttributeNotContains(true, 'privateArray', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertPublicAttributeEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeEquals('foo', 'publicAttribute', $obj);
+
+        try {
+            $this->assertAttributeEquals('bar', 'publicAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertPublicAttributeNotEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotEquals('bar', 'publicAttribute', $obj);
+
+        try {
+            $this->assertAttributeNotEquals('foo', 'publicAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeSame
+     */
+    public function testAssertPublicAttributeSame()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeSame('foo', 'publicAttribute', $obj);
+
+        try {
+            $this->assertAttributeSame('bar', 'publicAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotSame
+     */
+    public function testAssertPublicAttributeNotSame()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotSame('bar', 'publicAttribute', $obj);
+
+        try {
+            $this->assertAttributeNotSame('foo', 'publicAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertProtectedAttributeEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeEquals('bar', 'protectedAttribute', $obj);
+
+        try {
+            $this->assertAttributeEquals('foo', 'protectedAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertProtectedAttributeNotEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotEquals('foo', 'protectedAttribute', $obj);
+
+        try {
+            $this->assertAttributeNotEquals('bar', 'protectedAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertPrivateAttributeEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeEquals('baz', 'privateAttribute', $obj);
+
+        try {
+            $this->assertAttributeEquals('foo', 'privateAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertPrivateAttributeNotEquals()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertAttributeNotEquals('foo', 'privateAttribute', $obj);
+
+        try {
+            $this->assertAttributeNotEquals('baz', 'privateAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertPublicStaticAttributeEquals()
+    {
+        $this->assertAttributeEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertPublicStaticAttributeNotEquals()
+    {
+        $this->assertAttributeNotEquals('bar', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeNotEquals('foo', 'publicStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertProtectedStaticAttributeEquals()
+    {
+        $this->assertAttributeEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertProtectedStaticAttributeNotEquals()
+    {
+        $this->assertAttributeNotEquals('foo', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeNotEquals('bar', 'protectedStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEquals
+     */
+    public function testAssertPrivateStaticAttributeEquals()
+    {
+        $this->assertAttributeEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEquals
+     */
+    public function testAssertPrivateStaticAttributeNotEquals()
+    {
+        $this->assertAttributeNotEquals('foo', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertAttributeNotEquals('baz', 'privateStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasAttributeThrowsException()
+    {
+        $this->assertClassHasAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasAttributeThrowsException2()
+    {
+        $this->assertClassHasAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertClassHasAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasAttributeThrowsException()
+    {
+        $this->assertClassNotHasAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasAttributeThrowsException2()
+    {
+        $this->assertClassNotHasAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertClassNotHasAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasStaticAttributeThrowsException()
+    {
+        $this->assertClassHasStaticAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasStaticAttributeThrowsException2()
+    {
+        $this->assertClassHasStaticAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertClassHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasStaticAttributeThrowsException()
+    {
+        $this->assertClassNotHasStaticAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasStaticAttributeThrowsException2()
+    {
+        $this->assertClassNotHasStaticAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertClassNotHasStaticAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertClassNotHasStaticAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectHasAttributeThrowsException()
+    {
+        $this->assertObjectHasAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectHasAttributeThrowsException2()
+    {
+        $this->assertObjectHasAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertObjectHasAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectNotHasAttributeThrowsException()
+    {
+        $this->assertObjectNotHasAttribute(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectNotHasAttributeThrowsException2()
+    {
+        $this->assertObjectNotHasAttribute('foo', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertObjectNotHasAttributeThrowsExceptionIfAttributeNameIsNotValid()
+    {
+        $this->assertObjectNotHasAttribute('1', 'ClassWithNonPublicAttributes');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertClassHasAttribute
+     */
+    public function testClassHasPublicAttribute()
+    {
+        $this->assertClassHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertClassHasAttribute('attribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertClassNotHasAttribute
+     */
+    public function testClassNotHasPublicAttribute()
+    {
+        $this->assertClassNotHasAttribute('attribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertClassNotHasAttribute('publicAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertClassHasStaticAttribute
+     */
+    public function testClassHasPublicStaticAttribute()
+    {
+        $this->assertClassHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertClassHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertClassNotHasStaticAttribute
+     */
+    public function testClassNotHasPublicStaticAttribute()
+    {
+        $this->assertClassNotHasStaticAttribute('attribute', 'ClassWithNonPublicAttributes');
+
+        try {
+            $this->assertClassNotHasStaticAttribute('publicStaticAttribute', 'ClassWithNonPublicAttributes');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
+     */
+    public function testObjectHasPublicAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectHasAttribute('publicAttribute', $obj);
+
+        try {
+            $this->assertObjectHasAttribute('attribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     */
+    public function testObjectNotHasPublicAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectNotHasAttribute('attribute', $obj);
+
+        try {
+            $this->assertObjectNotHasAttribute('publicAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
+     */
+    public function testObjectHasOnTheFlyAttribute()
+    {
+        $obj      = new stdClass;
+        $obj->foo = 'bar';
+
+        $this->assertObjectHasAttribute('foo', $obj);
+
+        try {
+            $this->assertObjectHasAttribute('bar', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     */
+    public function testObjectNotHasOnTheFlyAttribute()
+    {
+        $obj      = new stdClass;
+        $obj->foo = 'bar';
+
+        $this->assertObjectNotHasAttribute('bar', $obj);
+
+        try {
+            $this->assertObjectNotHasAttribute('foo', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
+     */
+    public function testObjectHasProtectedAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectHasAttribute('protectedAttribute', $obj);
+
+        try {
+            $this->assertObjectHasAttribute('attribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     */
+    public function testObjectNotHasProtectedAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectNotHasAttribute('attribute', $obj);
+
+        try {
+            $this->assertObjectNotHasAttribute('protectedAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectHasAttribute
+     */
+    public function testObjectHasPrivateAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectHasAttribute('privateAttribute', $obj);
+
+        try {
+            $this->assertObjectHasAttribute('attribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertObjectNotHasAttribute
+     */
+    public function testObjectNotHasPrivateAttribute()
+    {
+        $obj = new ClassWithNonPublicAttributes;
+
+        $this->assertObjectNotHasAttribute('attribute', $obj);
+
+        try {
+            $this->assertObjectNotHasAttribute('privateAttribute', $obj);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::attribute
+     * @covers PHPUnit_Framework_Assert::equalTo
+     */
+    public function testAssertThatAttributeEquals()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->attribute(
+                $this->equalTo('foo'),
+                'publicAttribute'
+            )
+        );
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertThat
+     * @covers            PHPUnit_Framework_Assert::attribute
+     * @covers            PHPUnit_Framework_Assert::equalTo
+     * @expectedException PHPUnit_Framework_AssertionFailedError
+     */
+    public function testAssertThatAttributeEquals2()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->attribute(
+                $this->equalTo('bar'),
+                'publicAttribute'
+            )
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::attribute
+     * @covers PHPUnit_Framework_Assert::equalTo
+     */
+    public function testAssertThatAttributeEqualTo()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->attributeEqualTo('publicAttribute', 'foo')
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::anything
+     */
+    public function testAssertThatAnything()
+    {
+        $this->assertThat('anything', $this->anything());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isTrue
+     */
+    public function testAssertThatIsTrue()
+    {
+        $this->assertThat(true, $this->isTrue());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isFalse
+     */
+    public function testAssertThatIsFalse()
+    {
+        $this->assertThat(false, $this->isFalse());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isJson
+     */
+    public function testAssertThatIsJson()
+    {
+        $this->assertThat('{}', $this->isJson());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::anything
+     * @covers PHPUnit_Framework_Assert::logicalAnd
+     */
+    public function testAssertThatAnythingAndAnything()
+    {
+        $this->assertThat(
+            'anything',
+            $this->logicalAnd(
+                $this->anything(), $this->anything()
+            )
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::anything
+     * @covers PHPUnit_Framework_Assert::logicalOr
+     */
+    public function testAssertThatAnythingOrAnything()
+    {
+        $this->assertThat(
+            'anything',
+            $this->logicalOr(
+                $this->anything(), $this->anything()
+            )
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::anything
+     * @covers PHPUnit_Framework_Assert::logicalNot
+     * @covers PHPUnit_Framework_Assert::logicalXor
+     */
+    public function testAssertThatAnythingXorNotAnything()
+    {
+        $this->assertThat(
+            'anything',
+            $this->logicalXor(
+                $this->anything(),
+                $this->logicalNot($this->anything())
+            )
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::contains
+     */
+    public function testAssertThatContains()
+    {
+        $this->assertThat(array('foo'), $this->contains('foo'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::stringContains
+     */
+    public function testAssertThatStringContains()
+    {
+        $this->assertThat('barfoobar', $this->stringContains('foo'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::containsOnly
+     */
+    public function testAssertThatContainsOnly()
+    {
+        $this->assertThat(array('foo'), $this->containsOnly('string'));
+    }
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::containsOnlyInstancesOf
+     */
+    public function testAssertThatContainsOnlyInstancesOf()
+    {
+        $this->assertThat(array(new Book), $this->containsOnlyInstancesOf('Book'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::arrayHasKey
+     */
+    public function testAssertThatArrayHasKey()
+    {
+        $this->assertThat(array('foo' => 'bar'), $this->arrayHasKey('foo'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::classHasAttribute
+     */
+    public function testAssertThatClassHasAttribute()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->classHasAttribute('publicAttribute')
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::classHasStaticAttribute
+     */
+    public function testAssertThatClassHasStaticAttribute()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->classHasStaticAttribute('publicStaticAttribute')
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::objectHasAttribute
+     */
+    public function testAssertThatObjectHasAttribute()
+    {
+        $this->assertThat(
+            new ClassWithNonPublicAttributes,
+            $this->objectHasAttribute('publicAttribute')
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::equalTo
+     */
+    public function testAssertThatEqualTo()
+    {
+        $this->assertThat('foo', $this->equalTo('foo'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::identicalTo
+     */
+    public function testAssertThatIdenticalTo()
+    {
+        $value      = new stdClass;
+        $constraint = $this->identicalTo($value);
+
+        $this->assertThat($value, $constraint);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isInstanceOf
+     */
+    public function testAssertThatIsInstanceOf()
+    {
+        $this->assertThat(new stdClass, $this->isInstanceOf('StdClass'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isType
+     */
+    public function testAssertThatIsType()
+    {
+        $this->assertThat('string', $this->isType('string'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::isEmpty
+     */
+    public function testAssertThatIsEmpty()
+    {
+        $this->assertThat(array(), $this->isEmpty());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::fileExists
+     */
+    public function testAssertThatFileExists()
+    {
+        $this->assertThat(__FILE__, $this->fileExists());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::greaterThan
+     */
+    public function testAssertThatGreaterThan()
+    {
+        $this->assertThat(2, $this->greaterThan(1));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::greaterThanOrEqual
+     */
+    public function testAssertThatGreaterThanOrEqual()
+    {
+        $this->assertThat(2, $this->greaterThanOrEqual(1));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::lessThan
+     */
+    public function testAssertThatLessThan()
+    {
+        $this->assertThat(1, $this->lessThan(2));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::lessThanOrEqual
+     */
+    public function testAssertThatLessThanOrEqual()
+    {
+        $this->assertThat(1, $this->lessThanOrEqual(2));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::matchesRegularExpression
+     */
+    public function testAssertThatMatchesRegularExpression()
+    {
+        $this->assertThat('foobar', $this->matchesRegularExpression('/foo/'));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::callback
+     */
+    public function testAssertThatCallback()
+    {
+        $this->assertThat(
+            null,
+            $this->callback(function ($other) { return true; })
+        );
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertThat
+     * @covers PHPUnit_Framework_Assert::countOf
+     */
+    public function testAssertThatCountOf()
+    {
+        $this->assertThat(array(1), $this->countOf(1));
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertFileEquals
+     */
+    public function testAssertFileEquals()
+    {
+        $this->assertFileEquals(
+            $this->filesDirectory . 'foo.xml',
+            $this->filesDirectory . 'foo.xml'
+        );
+
+        try {
+            $this->assertFileEquals(
+                $this->filesDirectory . 'foo.xml',
+                $this->filesDirectory . 'bar.xml'
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertFileNotEquals
+     */
+    public function testAssertFileNotEquals()
+    {
+        $this->assertFileNotEquals(
+            $this->filesDirectory . 'foo.xml',
+            $this->filesDirectory . 'bar.xml'
+        );
+
+        try {
+            $this->assertFileNotEquals(
+                $this->filesDirectory . 'foo.xml',
+                $this->filesDirectory . 'foo.xml'
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringEqualsFile
+     */
+    public function testAssertStringEqualsFile()
+    {
+        $this->assertStringEqualsFile(
+            $this->filesDirectory . 'foo.xml',
+            file_get_contents($this->filesDirectory . 'foo.xml')
+        );
+
+        try {
+            $this->assertStringEqualsFile(
+                $this->filesDirectory . 'foo.xml',
+                file_get_contents($this->filesDirectory . 'bar.xml')
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotEqualsFile
+     */
+    public function testAssertStringNotEqualsFile()
+    {
+        $this->assertStringNotEqualsFile(
+            $this->filesDirectory . 'foo.xml',
+            file_get_contents($this->filesDirectory . 'bar.xml')
+        );
+
+        try {
+            $this->assertStringNotEqualsFile(
+                $this->filesDirectory . 'foo.xml',
+                file_get_contents($this->filesDirectory . 'foo.xml')
+            );
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringStartsWithThrowsException()
+    {
+        $this->assertStringStartsWith(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringStartsWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringStartsWithThrowsException2()
+    {
+        $this->assertStringStartsWith('', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringStartsNotWithThrowsException()
+    {
+        $this->assertStringStartsNotWith(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringStartsNotWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringStartsNotWithThrowsException2()
+    {
+        $this->assertStringStartsNotWith('', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringEndsWithThrowsException()
+    {
+        $this->assertStringEndsWith(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringEndsWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringEndsWithThrowsException2()
+    {
+        $this->assertStringEndsWith('', null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringEndsNotWithThrowsException()
+    {
+        $this->assertStringEndsNotWith(null, null);
+    }
+
+    /**
+     * @covers            PHPUnit_Framework_Assert::assertStringEndsNotWith
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringEndsNotWithThrowsException2()
+    {
+        $this->assertStringEndsNotWith('', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringStartsWith
+     */
+    public function testAssertStringStartsWith()
+    {
+        $this->assertStringStartsWith('prefix', 'prefixfoo');
+
+        try {
+            $this->assertStringStartsWith('prefix', 'foo');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringStartsNotWith
+     */
+    public function testAssertStringStartsNotWith()
+    {
+        $this->assertStringStartsNotWith('prefix', 'foo');
+
+        try {
+            $this->assertStringStartsNotWith('prefix', 'prefixfoo');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringEndsWith
+     */
+    public function testAssertStringEndsWith()
+    {
+        $this->assertStringEndsWith('suffix', 'foosuffix');
+
+        try {
+            $this->assertStringEndsWith('suffix', 'foo');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringEndsNotWith
+     */
+    public function testAssertStringEndsNotWith()
+    {
+        $this->assertStringEndsNotWith('suffix', 'foo');
+
+        try {
+            $this->assertStringEndsNotWith('suffix', 'foosuffix');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringMatchesFormatRaisesExceptionForInvalidFirstArgument()
+    {
+        $this->assertStringMatchesFormat(null, '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringMatchesFormatRaisesExceptionForInvalidSecondArgument()
+    {
+        $this->assertStringMatchesFormat('', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
+     */
+    public function testAssertStringMatchesFormat()
+    {
+        $this->assertStringMatchesFormat('*%s*', '***');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormat
+     * @expectedException PHPUnit_Framework_AssertionFailedError
+     */
+    public function testAssertStringMatchesFormatFailure()
+    {
+        $this->assertStringMatchesFormat('*%s*', '**');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidFirstArgument()
+    {
+        $this->assertStringNotMatchesFormat(null, '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringNotMatchesFormatRaisesExceptionForInvalidSecondArgument()
+    {
+        $this->assertStringNotMatchesFormat('', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormat
+     */
+    public function testAssertStringNotMatchesFormat()
+    {
+        $this->assertStringNotMatchesFormat('*%s*', '**');
+
+        try {
+            $this->assertStringMatchesFormat('*%s*', '**');
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertEmpty
+     */
+    public function testAssertEmpty()
+    {
+        $this->assertEmpty(array());
+
+        try {
+            $this->assertEmpty(array('foo'));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotEmpty
+     */
+    public function testAssertNotEmpty()
+    {
+        $this->assertNotEmpty(array('foo'));
+
+        try {
+            $this->assertNotEmpty(array());
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeEmpty
+     */
+    public function testAssertAttributeEmpty()
+    {
+        $o    = new stdClass;
+        $o->a = array();
+
+        $this->assertAttributeEmpty('a', $o);
+
+        try {
+            $o->a = array('b');
+            $this->assertAttributeEmpty('a', $o);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotEmpty
+     */
+    public function testAssertAttributeNotEmpty()
+    {
+        $o    = new stdClass;
+        $o->a = array('b');
+
+        $this->assertAttributeNotEmpty('a', $o);
+
+        try {
+            $o->a = array();
+            $this->assertAttributeNotEmpty('a', $o);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::markTestIncomplete
+     */
+    public function testMarkTestIncomplete()
+    {
+        try {
+            $this->markTestIncomplete('incomplete');
+        } catch (PHPUnit_Framework_IncompleteTestError $e) {
+            $this->assertEquals('incomplete', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::markTestSkipped
+     */
+    public function testMarkTestSkipped()
+    {
+        try {
+            $this->markTestSkipped('skipped');
+        } catch (PHPUnit_Framework_SkippedTestError $e) {
+            $this->assertEquals('skipped', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertCount
+     */
+    public function testAssertCount()
+    {
+        $this->assertCount(2, array(1, 2));
+
+        try {
+            $this->assertCount(2, array(1, 2, 3));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertCount
+     */
+    public function testAssertCountTraversable()
+    {
+        $this->assertCount(2, new ArrayIterator(array(1, 2)));
+
+        try {
+            $this->assertCount(2, new ArrayIterator(array(1, 2, 3)));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertCount
+     */
+    public function testAssertCountThrowsExceptionIfExpectedCountIsNoInteger()
+    {
+        try {
+            $this->assertCount('a', array());
+        } catch (PHPUnit_Framework_Exception $e) {
+            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a integer', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertCount
+     */
+    public function testAssertCountThrowsExceptionIfElementIsNotCountable()
+    {
+        try {
+            $this->assertCount(2, '');
+        } catch (PHPUnit_Framework_Exception $e) {
+            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertCount() must be a countable or traversable', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeCount
+     */
+    public function testAssertAttributeCount()
+    {
+        $o    = new stdClass;
+        $o->a = array();
+
+        $this->assertAttributeCount(0, 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotCount
+     */
+    public function testAssertNotCount()
+    {
+        $this->assertNotCount(2, array(1, 2, 3));
+
+        try {
+            $this->assertNotCount(2, array(1, 2));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotCount
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotCountThrowsExceptionIfExpectedCountIsNoInteger()
+    {
+        $this->assertNotCount('a', array());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotCount
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotCountThrowsExceptionIfElementIsNotCountable()
+    {
+        $this->assertNotCount(2, '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotCount
+     */
+    public function testAssertAttributeNotCount()
+    {
+        $o    = new stdClass;
+        $o->a = array();
+
+        $this->assertAttributeNotCount(1, 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSameSize
+     */
+    public function testAssertSameSize()
+    {
+        $this->assertSameSize(array(1, 2), array(3, 4));
+
+        try {
+            $this->assertSameSize(array(1, 2), array(1, 2, 3));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSameSize
+     */
+    public function testAssertSameSizeThrowsExceptionIfExpectedIsNotCountable()
+    {
+        try {
+            $this->assertSameSize('a', array());
+        } catch (PHPUnit_Framework_Exception $e) {
+            $this->assertEquals('Argument #1 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertSameSize
+     */
+    public function testAssertSameSizeThrowsExceptionIfActualIsNotCountable()
+    {
+        try {
+            $this->assertSameSize(array(), '');
+        } catch (PHPUnit_Framework_Exception $e) {
+            $this->assertEquals('Argument #2 (No Value) of PHPUnit_Framework_Assert::assertSameSize() must be a countable or traversable', $e->getMessage());
+
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSameSize
+     */
+    public function testAssertNotSameSize()
+    {
+        $this->assertNotSameSize(array(1, 2), array(1, 2, 3));
+
+        try {
+            $this->assertNotSameSize(array(1, 2), array(3, 4));
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSameSize
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotSameSizeThrowsExceptionIfExpectedIsNotCountable()
+    {
+        $this->assertNotSameSize('a', array());
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotSameSize
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotSameSizeThrowsExceptionIfActualIsNotCountable()
+    {
+        $this->assertNotSameSize(array(), '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJson
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertJsonRaisesExceptionForInvalidArgument()
+    {
+        $this->assertJson(null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJson
+     */
+    public function testAssertJson()
+    {
+        $this->assertJson('{}');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
+     */
+    public function testAssertJsonStringEqualsJsonString()
+    {
+        $expected = '{"Mascott" : "Tux"}';
+        $actual   = '{"Mascott" : "Tux"}';
+        $message  = 'Given Json strings do not match';
+
+        $this->assertJsonStringEqualsJsonString($expected, $actual, $message);
+    }
+
+    /**
+     * @dataProvider validInvalidJsonDataprovider
+     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonString
+     */
+    public function testAssertJsonStringEqualsJsonStringErrorRaised($expected, $actual)
+    {
+        try {
+            $this->assertJsonStringEqualsJsonString($expected, $actual);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+        $this->fail('Expected exception not found');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
+     */
+    public function testAssertJsonStringNotEqualsJsonString()
+    {
+        $expected = '{"Mascott" : "Beastie"}';
+        $actual   = '{"Mascott" : "Tux"}';
+        $message  = 'Given Json strings do match';
+
+        $this->assertJsonStringNotEqualsJsonString($expected, $actual, $message);
+    }
+
+    /**
+     * @dataProvider validInvalidJsonDataprovider
+     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonString
+     */
+    public function testAssertJsonStringNotEqualsJsonStringErrorRaised($expected, $actual)
+    {
+        try {
+            $this->assertJsonStringNotEqualsJsonString($expected, $actual);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+        $this->fail('Expected exception not found');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
+     */
+    public function testAssertJsonStringEqualsJsonFile()
+    {
+        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        $actual  = json_encode(array('Mascott' => 'Tux'));
+        $message = '';
+        $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
+     */
+    public function testAssertJsonStringEqualsJsonFileExpectingExpectationFailedException()
+    {
+        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        $actual  = json_encode(array('Mascott' => 'Beastie'));
+        $message = '';
+        try {
+            $this->assertJsonStringEqualsJsonFile($file, $actual, $message);
+        } catch (PHPUnit_Framework_ExpectationFailedException $e) {
+            $this->assertEquals(
+                'Failed asserting that \'{"Mascott":"Beastie"}\' matches JSON string "{"Mascott":"Tux"}".',
+                $e->getMessage()
+            );
+
+            return;
+        }
+
+        $this->fail('Expected Exception not thrown.');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringEqualsJsonFile
+     */
+    public function testAssertJsonStringEqualsJsonFileExpectingException()
+    {
+        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        try {
+            $this->assertJsonStringEqualsJsonFile($file, null);
+        } catch (PHPUnit_Framework_Exception $e) {
+            return;
+        }
+        $this->fail('Expected Exception not thrown.');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
+     */
+    public function testAssertJsonStringNotEqualsJsonFile()
+    {
+        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        $actual  = json_encode(array('Mascott' => 'Beastie'));
+        $message = '';
+        $this->assertJsonStringNotEqualsJsonFile($file, $actual, $message);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonStringNotEqualsJsonFile
+     */
+    public function testAssertJsonStringNotEqualsJsonFileExpectingException()
+    {
+        $file = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        try {
+            $this->assertJsonStringNotEqualsJsonFile($file, null);
+        } catch (PHPUnit_Framework_Exception $e) {
+            return;
+        }
+        $this->fail('Expected exception not found.');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonFileNotEqualsJsonFile
+     */
+    public function testAssertJsonFileNotEqualsJsonFile()
+    {
+        $fileExpected = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        $fileActual   = __DIR__ . '/../_files/JsonData/arrayObject.json';
+        $message      = '';
+        $this->assertJsonFileNotEqualsJsonFile($fileExpected, $fileActual, $message);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertJsonFileEqualsJsonFile
+     */
+    public function testAssertJsonFileEqualsJsonFile()
+    {
+        $file    = __DIR__ . '/../_files/JsonData/simpleObject.json';
+        $message = '';
+        $this->assertJsonFileEqualsJsonFile($file, $file, $message);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertInstanceOf
+     */
+    public function testAssertInstanceOf()
+    {
+        $this->assertInstanceOf('stdClass', new stdClass);
+
+        try {
+            $this->assertInstanceOf('Exception', new stdClass);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertInstanceOf
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertInstanceOfThrowsExceptionForInvalidArgument()
+    {
+        $this->assertInstanceOf(null, new stdClass);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeInstanceOf
+     */
+    public function testAssertAttributeInstanceOf()
+    {
+        $o    = new stdClass;
+        $o->a = new stdClass;
+
+        $this->assertAttributeInstanceOf('stdClass', 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
+     */
+    public function testAssertNotInstanceOf()
+    {
+        $this->assertNotInstanceOf('Exception', new stdClass);
+
+        try {
+            $this->assertNotInstanceOf('stdClass', new stdClass);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotInstanceOf
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotInstanceOfThrowsExceptionForInvalidArgument()
+    {
+        $this->assertNotInstanceOf(null, new stdClass);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotInstanceOf
+     */
+    public function testAssertAttributeNotInstanceOf()
+    {
+        $o    = new stdClass;
+        $o->a = new stdClass;
+
+        $this->assertAttributeNotInstanceOf('Exception', 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertInternalType
+     */
+    public function testAssertInternalType()
+    {
+        $this->assertInternalType('integer', 1);
+
+        try {
+            $this->assertInternalType('string', 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertInternalType
+     */
+    public function testAssertInternalTypeDouble()
+    {
+        $this->assertInternalType('double', 1.0);
+
+        try {
+            $this->assertInternalType('double', 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertInternalType
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertInternalTypeThrowsExceptionForInvalidArgument()
+    {
+        $this->assertInternalType(null, 1);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeInternalType
+     */
+    public function testAssertAttributeInternalType()
+    {
+        $o    = new stdClass;
+        $o->a = 1;
+
+        $this->assertAttributeInternalType('integer', 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotInternalType
+     */
+    public function testAssertNotInternalType()
+    {
+        $this->assertNotInternalType('string', 1);
+
+        try {
+            $this->assertNotInternalType('integer', 1);
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertNotInternalType
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertNotInternalTypeThrowsExceptionForInvalidArgument()
+    {
+        $this->assertNotInternalType(null, 1);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertAttributeNotInternalType
+     */
+    public function testAssertAttributeNotInternalType()
+    {
+        $o    = new stdClass;
+        $o->a = 1;
+
+        $this->assertAttributeNotInternalType('string', 'a', $o);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringMatchesFormatFileThrowsExceptionForInvalidArgument()
+    {
+        $this->assertStringMatchesFormatFile('not_existing_file', '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringMatchesFormatFileThrowsExceptionForInvalidArgument2()
+    {
+        $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringMatchesFormatFile
+     */
+    public function testAssertStringMatchesFormatFile()
+    {
+        $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "FOO\n");
+
+        try {
+            $this->assertStringMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "BAR\n");
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringNotMatchesFormatFileThrowsExceptionForInvalidArgument()
+    {
+        $this->assertStringNotMatchesFormatFile('not_existing_file', '');
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
+     * @expectedException PHPUnit_Framework_Exception
+     */
+    public function testAssertStringNotMatchesFormatFileThrowsExceptionForInvalidArgument2()
+    {
+        $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', null);
+    }
+
+    /**
+     * @covers PHPUnit_Framework_Assert::assertStringNotMatchesFormatFile
+     */
+    public function testAssertStringNotMatchesFormatFile()
+    {
+        $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "BAR\n");
+
+        try {
+            $this->assertStringNotMatchesFormatFile($this->filesDirectory . 'expectedFileFormat.txt', "FOO\n");
+        } catch (PHPUnit_Framework_AssertionFailedError $e) {
+            return;
+        }
+
+        $this->fail();
+    }
+
+    /**
+     * @return array
+     */
+    public static function validInvalidJsonDataprovider()
+    {
+        return array(
+            'error syntax in expected JSON' => array('{"Mascott"::}', '{"Mascott" : "Tux"}'),
+            'error UTF-8 in actual JSON'    => array('{"Mascott" : "Tux"}', '{"Mascott" : :}'),
+        );
+    }
+}
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php b/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php
rename to vendor/phpunit/phpunit/tests/Framework/BaseTestListenerTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php
rename to vendor/phpunit/phpunit/tests/Framework/Constraint/CountTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php
rename to vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageRegExpTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php
rename to vendor/phpunit/phpunit/tests/Framework/Constraint/ExceptionMessageTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
rename to vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatches/ErrorMessageProviderTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php b/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
rename to vendor/phpunit/phpunit/tests/Framework/Constraint/JsonMatchesTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php b/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php
rename to vendor/phpunit/phpunit/tests/Framework/ConstraintTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php b/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
rename to vendor/phpunit/phpunit/tests/Framework/SuiteTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php b/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php
rename to vendor/phpunit/phpunit/tests/Framework/TestCaseTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php b/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php
rename to vendor/phpunit/phpunit/tests/Framework/TestFailureTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php b/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php
rename to vendor/phpunit/phpunit/tests/Framework/TestImplementorTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php b/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php
rename to vendor/phpunit/phpunit/tests/Framework/TestListenerTest.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/1021.phpt b/vendor/phpunit/phpunit/tests/Regression/1021.phpt
new file mode 100644
index 0000000..45f4708
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/1021.phpt
@@ -0,0 +1,19 @@
+--TEST--
+#1021: Depending on a test that uses a data provider does not work
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue1021Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1021/Issue1021Test.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php b/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php
rename to vendor/phpunit/phpunit/tests/Regression/1021/Issue1021Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/523.phpt b/vendor/phpunit/phpunit/tests/Regression/523.phpt
new file mode 100644
index 0000000..6ba2e42
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/523.phpt
@@ -0,0 +1,19 @@
+--TEST--
+#523: assertAttributeEquals does not work with classes extending ArrayIterator
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue523Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/523/Issue523Test.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php b/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php
rename to vendor/phpunit/phpunit/tests/Regression/523/Issue523Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/578.phpt b/vendor/phpunit/phpunit/tests/Regression/578.phpt
new file mode 100644
index 0000000..c50d2e3
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/578.phpt
@@ -0,0 +1,37 @@
+--TEST--
+#578: Double printing of trace line for exceptions from notices and warnings
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue578Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/578/Issue578Test.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+EEE
+
+Time: %s, Memory: %sMb
+
+There were 3 errors:
+
+1) Issue578Test::testNoticesDoublePrintStackTrace
+Invalid error type specified
+
+%sIssue578Test.php:%i
+
+2) Issue578Test::testWarningsDoublePrintStackTrace
+Invalid error type specified
+
+%sIssue578Test.php:%i
+
+3) Issue578Test::testUnexpectedExceptionsPrintsCorrectly
+Exception: Double printed exception
+
+%sIssue578Test.php:%i
+
+FAILURES!
+Tests: 3, Assertions: 0, Errors: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php b/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php
rename to vendor/phpunit/phpunit/tests/Regression/578/Issue578Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/684.phpt b/vendor/phpunit/phpunit/tests/Regression/684.phpt
new file mode 100644
index 0000000..ca88a55
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/684.phpt
@@ -0,0 +1,25 @@
+--TEST--
+#684: Unable to find test class when no test methods exists
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue684Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/684/Issue684Test.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Warning
+No tests found in class "Foo_Bar_Issue684Test".
+
+FAILURES!
+Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php b/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php
rename to vendor/phpunit/phpunit/tests/Regression/684/Issue684Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/783.phpt b/vendor/phpunit/phpunit/tests/Regression/783.phpt
new file mode 100644
index 0000000..687b237
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/783.phpt
@@ -0,0 +1,21 @@
+--TEST--
+#783: Tests getting executed twice when using multiple groups
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--group';
+$_SERVER['argv'][3] = 'foo,bar';
+$_SERVER['argv'][4] = 'ParentSuite';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/783/ParentSuite.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php b/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php
rename to vendor/phpunit/phpunit/tests/Regression/783/ChildSuite.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php b/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/783/OneTest.php
rename to vendor/phpunit/phpunit/tests/Regression/783/OneTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php b/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php
rename to vendor/phpunit/phpunit/tests/Regression/783/ParentSuite.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php b/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php
rename to vendor/phpunit/phpunit/tests/Regression/783/TwoTest.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
new file mode 100644
index 0000000..45e2435
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1149.phpt
@@ -0,0 +1,20 @@
+--TEST--
+GH-1149: Test swallows output buffer when run in a separate process
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue1149Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1149/Issue1149Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.1.2
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1149/Issue1149Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
new file mode 100644
index 0000000..d13403b
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1216.phpt
@@ -0,0 +1,25 @@
+--TEST--
+GH-1216: PHPUnit bootstrap must take globals vars even when the file is specified in command line
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--configuration';
+$_SERVER['argv'][2] = dirname(__FILE__) . '/1216/phpunit1216.xml';
+$_SERVER['argv'][3] = '--debug';
+$_SERVER['argv'][4] = '--bootstrap';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/1216/bootstrap1216.php';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/1216/Issue1216Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'Issue1216Test::testConfigAvailableInBootstrap'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1216/Issue1216Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1216/bootstrap1216.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml b/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1216/phpunit1216.xml
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
new file mode 100644
index 0000000..a179d5d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1265.phpt
@@ -0,0 +1,21 @@
+--TEST--
+GH-1265: Could not use "PHPUnit_Runner_StandardTestSuiteLoader" as loader
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--configuration';
+$_SERVER['argv'][2] = dirname(__FILE__) . '/1265/phpunit1265.xml';
+$_SERVER['argv'][3] = 'Issue1265Test';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/1265/Issue1265Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1265/Issue1265Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml b/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1265/phpunit1265.xml
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
new file mode 100644
index 0000000..c31073e
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1330.phpt
@@ -0,0 +1,24 @@
+--TEST--
+GH-1330: Allow non-ambiguous shortened longopts
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--deb';
+$_SERVER['argv'][2] = '--config';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1330/phpunit1330.xml';
+$_SERVER['argv'][4] = 'Issue1330Test';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/1330/Issue1330Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'Issue1330Test::testTrue'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1330/Issue1330Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml b/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1330/phpunit1330.xml
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
new file mode 100644
index 0000000..cd6aade
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1335.phpt
@@ -0,0 +1,21 @@
+--TEST--
+GH-1335: exportVariable multiple backslash problem
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--bootstrap';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1335/bootstrap1335.php';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/1335/Issue1335Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+............
+
+Time: %s, Memory: %sMb
+
+OK (12 tests, 12 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1335/Issue1335Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1335/bootstrap1335.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
new file mode 100644
index 0000000..9c1d76f
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1337.phpt
@@ -0,0 +1,21 @@
+--TEST--
+GH-1337: Data Provider with \ at the end of the name breaks with process isolation
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = 'Issue1337Test';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/1337/Issue1337Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1337/Issue1337Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
new file mode 100644
index 0000000..82f94ec
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1348.phpt
@@ -0,0 +1,35 @@
+--TEST--
+GH-1348: STDOUT/STDERR IO streams should exist in process isolation
+--SKIPIF--
+<?php
+if (defined('HHVM_VERSION'))
+    print 'skip: PHP runtime required';
+?>
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][]  = '--report-useless-tests';
+$_SERVER['argv'][]  = '--process-isolation';
+$_SERVER['argv'][]  = 'Issue1348Test';
+$_SERVER['argv'][]  = __DIR__ . '/1348/Issue1348Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+STDOUT does not break test result
+E
+
+Time: %s, Memory: %sMb
+
+There was 1 error:
+
+1) Issue1348Test::testSTDERR
+PHPUnit_Framework_Exception: STDERR works as usual.
+
+FAILURES!
+Tests: 2, Assertions: 1, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1348/Issue1348Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1351.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1351/ChildProcessClass1351.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1351/Issue1351Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
new file mode 100644
index 0000000..84d13be
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1374.phpt
@@ -0,0 +1,21 @@
+--TEST--
+GH-1374: tearDown() is called despite unmet requirements
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue1374Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1374/Issue1374Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+S
+
+Time: %s, Memory: %sMb
+
+OK, but incomplete, skipped, or risky tests!
+Tests: 1, Assertions: 0, Skipped: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1374/Issue1374Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
new file mode 100644
index 0000000..f9bd41b
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/1437.phpt
@@ -0,0 +1,28 @@
+--TEST--
+GH-1437: Risky test messages mask failures
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue1437Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/1437/Issue1437Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Issue1437Test::testFailure
+Failed asserting that false is true.
+
+%sIssue1437Test.php:%i
+
+FAILURES!
+Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1437/Issue1437Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1468.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1468/Issue1468Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1471.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1471/Issue1471Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1472.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1472/Issue1472Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1570.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/1570/Issue1570Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
new file mode 100644
index 0000000..3cb9aef
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/244.phpt
@@ -0,0 +1,32 @@
+--TEST--
+GH-244: Expected Exception should support string codes
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = 'Issue244Test';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/244/Issue244Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.FFF
+
+Time: %s, Memory: %sMb
+
+There were 3 failures:
+
+1) Issue244Test::testFails
+Failed asserting that '123StringCode' is equal to expected exception code 'OtherString'.
+
+2) Issue244Test::testFailsTooIfExpectationIsANumber
+Failed asserting that '123StringCode' is equal to expected exception code 123.
+
+3) Issue244Test::testFailsTooIfExceptionCodeIsANumber
+Failed asserting that 123 is equal to expected exception code '123String'.
+
+FAILURES!
+Tests: 4, Assertions: 8, Failures: 3.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/244/Issue244Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
new file mode 100644
index 0000000..0d892c7
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/322.phpt
@@ -0,0 +1,26 @@
+--TEST--
+GH-322: group commandline option should override group/exclude setting in phpunit.xml
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--configuration';
+$_SERVER['argv'][2] = dirname(__FILE__) . '/322/phpunit322.xml';
+$_SERVER['argv'][3] = '--debug';
+$_SERVER['argv'][4] = '--group';
+$_SERVER['argv'][5] = 'one';
+$_SERVER['argv'][6] = 'Issue322Test';
+$_SERVER['argv'][7] = dirname(__FILE__) . '/322/Issue322Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'Issue322Test::testOne'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 0 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/322/Issue322Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml b/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/322/phpunit322.xml
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
new file mode 100644
index 0000000..ead9437
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/433.phpt
@@ -0,0 +1,31 @@
+--TEST--
+GH-433: expectOutputString not completely working as expected
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue433Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/433/Issue433Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Issue433Test::testNotMatchingOutput
+Failed asserting that two strings are equal.
+--- Expected
++++ Actual
+@@ @@
+-'foo'
++'bar'
+
+FAILURES!
+Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/433/Issue433Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
new file mode 100644
index 0000000..e57e7fb
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/445.phpt
@@ -0,0 +1,32 @@
+--TEST--
+GH-455: expectOutputString not working in strict mode
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--disallow-test-output';
+$_SERVER['argv'][3] = 'Issue445Test';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/445/Issue445Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Issue445Test::testNotMatchingOutput
+Failed asserting that two strings are equal.
+--- Expected
++++ Actual
+@@ @@
+-'foo'
++'bar'
+
+FAILURES!
+Tests: 3, Assertions: 3, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/445/Issue445Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
new file mode 100644
index 0000000..51dbe75
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/498.phpt
@@ -0,0 +1,29 @@
+--TEST--
+GH-498: The test methods won't be run if a dataProvider throws Exception and --group is added in command line
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--group';
+$_SERVER['argv'][3] = 'trueOnly';
+$_SERVER['argv'][4] = 'Issue498Test';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/498/Issue498Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Warning
+The data provider specified for Issue498Test::shouldBeFalse is invalid.
+Can't create the data
+
+FAILURES!
+Tests: 1, Assertions: 0, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/498/Issue498Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
new file mode 100644
index 0000000..2e7b30f
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/503.phpt
@@ -0,0 +1,33 @@
+--TEST--
+GH-503: assertEquals() Line Ending Differences Are Obscure
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue503Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/503/Issue503Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Issue503Test::testCompareDifferentLineEndings
+Failed asserting that two strings are identical.
+--- Expected
++++ Actual
+@@ @@
+ #Warning: Strings contain different line endings!
+ foo
+
+%s:%i
+
+FAILURES!
+Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/503/Issue503Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
new file mode 100644
index 0000000..c2d6545
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/581.phpt
@@ -0,0 +1,42 @@
+--TEST--
+GH-581: PHPUnit_Util_Type::export adds extra newlines in Windows
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue581Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/581/Issue581Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Issue581Test::testExportingObjectsDoesNotBreakWindowsLineFeeds
+Failed asserting that two objects are equal.
+--- Expected
++++ Actual
+@@ @@
+ stdClass Object (
+     0 => 1
+     1 => 2
+     2 => 'Test\n'
+     3 => 4
+-    4 => 5
++    4 => 1
+     5 => 6
+     6 => 7
+     7 => 8
+ )
+
+%s:%i
+
+FAILURES!
+Tests: 1, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/581/Issue581Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
new file mode 100644
index 0000000..8a4f79d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/74.phpt
@@ -0,0 +1,28 @@
+--TEST--
+GH-74: catchable fatal error in 3.5
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = 'Issue74Test';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/74/Issue74Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+E
+
+Time: %s, Memory: %sMb
+
+There was 1 error:
+
+1) Issue74Test::testCreateAndThrowNewExceptionInProcessIsolation
+NewException: Testing GH-74
+
+%sIssue74Test.php:7
+
+FAILURES!
+Tests: 1, Assertions: 0, Errors: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/74/Issue74Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/74/NewException.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
new file mode 100644
index 0000000..dc59dd6
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/765.phpt
@@ -0,0 +1,26 @@
+--TEST--
+GH-765: Fatal error triggered in PHPUnit when exception is thrown in data provider of a test with a dependency
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue765Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/765/Issue765Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.F
+
+Time: %s, Memory: %sMb
+
+There was 1 failure:
+
+1) Warning
+The data provider specified for Issue765Test::testDependent is invalid.
+
+FAILURES!
+Tests: 2, Assertions: 1, Failures: 1.
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/765/Issue765Test.php
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
new file mode 100644
index 0000000..4a6490f
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/797.phpt
@@ -0,0 +1,22 @@
+--TEST--
+GH-797: Disabled $preserveGlobalState does not load bootstrap.php.
+--FILE--
+<?php
+
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][]  = '--process-isolation';
+$_SERVER['argv'][]  = '--bootstrap';
+$_SERVER['argv'][]  = __DIR__ . '/797/bootstrap797.php';
+$_SERVER['argv'][]  = __DIR__ . '/797/Issue797Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
\ No newline at end of file
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/797/Issue797Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/797/bootstrap797.php
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/863.phpt
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php5.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php5.phpt
new file mode 100644
index 0000000..89b7402
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php5.phpt
@@ -0,0 +1,22 @@
+--TEST--
+GH-873: PHPUnit suppresses exceptions thrown outside of test case function
+--SKIPIF--
+<?php
+if (PHP_MAJOR_VERSION > 5) {
+    print 'skip: PHP 5 is required';
+}
+?>
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue873Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/873/Issue873Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+
+Fatal error: Uncaught exception 'Exception' with message 'PHPUnit suppresses exceptions thrown outside of test case function' in %s:%i
+Stack trace:
+%a
diff --git a/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php7.phpt b/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php7.phpt
new file mode 100644
index 0000000..b022f99
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/Regression/GitHub/873-php7.phpt
@@ -0,0 +1,22 @@
+--TEST--
+GH-873: PHPUnit suppresses exceptions thrown outside of test case function
+--SKIPIF--
+<?php
+if (PHP_MAJOR_VERSION < 7) {
+    print 'skip: PHP 7 is required';
+}
+?>
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'Issue873Test';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/873/Issue873Test.php';
+
+require __DIR__ . '/../../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+
+Fatal error: Uncaught Exception: PHPUnit suppresses exceptions thrown outside of test case function in %s:%i
+Stack trace:
+%a
diff --git a/core/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php b/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php
rename to vendor/phpunit/phpunit/tests/Regression/GitHub/873/Issue873Test.php
diff --git a/core/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php b/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php
rename to vendor/phpunit/phpunit/tests/Runner/BaseTestRunnerTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt b/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/abstract-test-class.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt b/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
new file mode 100644
index 0000000..28b527d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/colors-always.phpt
@@ -0,0 +1,19 @@
+--TEST--
+phpunit --colors=always BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--colors=always';
+$_SERVER['argv'][3] = __DIR__ . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+%s[30;42mOK (3 tests, 3 assertions)%s[0m
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt b/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/concrete-test-class.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt b/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
new file mode 100644
index 0000000..19b9e05
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/custom-printer-debug.phpt
@@ -0,0 +1,27 @@
+--TEST--
+phpunit -c ../_files/configuration.custom-printer.xml --debug BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '-c';
+$_SERVER['argv'][2] = dirname(__FILE__) . '/../_files/configuration.custom-printer.xml';
+$_SERVER['argv'][3] = '--debug';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
+.
+Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
+.
+Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt b/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
new file mode 100644
index 0000000..2e2a990
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/custom-printer-verbose.phpt
@@ -0,0 +1,32 @@
+--TEST--
+phpunit -c ../_files/configuration.custom-printer.xml --verbose IncompleteTest ../_files/IncompleteTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '-c';
+$_SERVER['argv'][2] = dirname(__FILE__) . '/../_files/configuration.custom-printer.xml';
+$_SERVER['argv'][3] = '--verbose';
+$_SERVER['argv'][4] = 'IncompleteTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/IncompleteTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+Runtime:	%s
+Configuration:	%sconfiguration.custom-printer.xml
+
+I
+
+Time: %s, Memory: %sMb
+
+There was 1 incomplete test:
+
+1) IncompleteTest::testIncomplete
+Test incomplete
+
+%s
+
+OK, but incomplete, skipped, or risky tests!
+Tests: 1, Assertions: 0, Incomplete: 1.
diff --git a/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt b/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
new file mode 100644
index 0000000..e7e49b4
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/dataprovider-debug.phpt
@@ -0,0 +1,34 @@
+--TEST--
+phpunit --debug DataProviderDebugTest ../_files/DataProviderDebugTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--debug';
+$_SERVER['argv'][3] = 'DataProviderDebugTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/DataProviderDebugTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'DataProviderDebugTest::testProvider with data set #0 (null, true, 1, 1.0)'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #1 (1.2, resource(%d) of type (stream), '1')'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #2 (array(array(1, 2, 3), array(3, 4, 5)))'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #3 ('this\nis\na\nvery\nvery\nvery\nvery...g\ntext')'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #4 (stdClass Object (), stdClass Object (...), array(), SplObjectStorage Object (...), stdClass Object (...))'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #5 (Binary String: 0x000102030405, Binary String: 0x0e0f101112131...c1d1e1f)'.
+.
+Starting test 'DataProviderDebugTest::testProvider with data set #6 (Binary String: 0x0009)'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (7 tests, 7 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt b/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dataprovider-log-xml.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt b/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dataprovider-testdox.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/debug.phpt b/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
new file mode 100644
index 0000000..1639484
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/debug.phpt
@@ -0,0 +1,26 @@
+--TEST--
+phpunit --debug BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--debug';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+Starting test 'BankAccountTest::testBalanceIsInitiallyZero'.
+.
+Starting test 'BankAccountTest::testBalanceCannotBecomeNegative'.
+.
+Starting test 'BankAccountTest::testBalanceCannotBecomeNegative2'.
+.
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
new file mode 100644
index 0000000..864484c
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/default-isolation.phpt
@@ -0,0 +1,20 @@
+--TEST--
+phpunit --process-isolation BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/default.phpt b/vendor/phpunit/phpunit/tests/TextUI/default.phpt
new file mode 100644
index 0000000..9fefe1a
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/default.phpt
@@ -0,0 +1,19 @@
+--TEST--
+phpunit BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = 'BankAccountTest';
+$_SERVER['argv'][3] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies2-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies2.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies3-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt b/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/dependencies3.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt b/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/empty-testcase.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt b/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/exception-stack.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
new file mode 100644
index 0000000..736feda
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/exclude-group-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--exclude-group';
+$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
+$_SERVER['argv'][5] = 'BankAccountTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt b/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
new file mode 100644
index 0000000..f75d611
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/exclude-group.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --exclude-group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--exclude-group';
+$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/failure-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/failure.phpt b/vendor/phpunit/phpunit/tests/TextUI/failure.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/failure.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/failure.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/fatal-isolation.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
new file mode 100644
index 0000000..31cf060
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-class-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = 'BankAccountTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
new file mode 100644
index 0000000..7b3c8dd
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-class.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter BankAccountTest BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
new file mode 100644
index 0000000..f90a691
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'DataProviderFilterTest#1-3';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
new file mode 100644
index 0000000..9c1e689
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-classname-and-range.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter DataProviderFilterTest#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'DataProviderFilterTest#1-3';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
new file mode 100644
index 0000000..0d2ea77
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testTrue#3';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
new file mode 100644
index 0000000..79bf643
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-number.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter testTrue#3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'testTrue#3';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
new file mode 100644
index 0000000..2dfdd0c
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = '#1-3';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
new file mode 100644
index 0000000..c3d344c
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-range.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter \#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = '#1-3';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
new file mode 100644
index 0000000..d109cfb
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = '@false.*';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
new file mode 100644
index 0000000..d87b304
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-regexp.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter @false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = '@false.*';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
new file mode 100644
index 0000000..07c4002
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = '@false test';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
new file mode 100644
index 0000000..0cf91eb
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-only-string.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter @false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = '@false test';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
new file mode 100644
index 0000000..2231b4d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testTrue#1-3';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
new file mode 100644
index 0000000..2f2aa1d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-range.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter testTrue#1-3 DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'testTrue#1-3';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
new file mode 100644
index 0000000..3a46c51
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testFalse@false.*';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
new file mode 100644
index 0000000..fdbd8bd
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-regexp.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter testFalse@false.* DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'testFalse@false.*';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+..
+
+Time: %s, Memory: %sMb
+
+OK (2 tests, 2 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
new file mode 100644
index 0000000..d91ca73
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testFalse@false test';
+$_SERVER['argv'][5] = 'DataProviderFilterTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
new file mode 100644
index 0000000..eb3e6af
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-dataprovider-by-string.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter testFalse@false\ test DataProviderFilterTest ../_files/DataProviderFilterTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'testFalse@false test';
+$_SERVER['argv'][4] = 'DataProviderFilterTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/DataProviderFilterTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
new file mode 100644
index 0000000..55519a1
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-insensitive.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter /balanceIsInitiallyZero/i BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = '/balanceIsInitiallyZero/i';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
new file mode 100644
index 0000000..0551054
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-method-case-sensitive-no-result.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = '/balanceIsInitiallyZero/';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+
+Time: %s, Memory: %sMb
+
+No tests executed!
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
new file mode 100644
index 0000000..9cd16ef
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-method-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testBalanceIsInitiallyZero';
+$_SERVER['argv'][5] = 'BankAccountTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
new file mode 100644
index 0000000..9f5b01c
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-method.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter testBalanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'testBalanceIsInitiallyZero';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt b/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
new file mode 100644
index 0000000..a2720c8
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/filter-no-results.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --filter doesNotExist BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--filter';
+$_SERVER['argv'][3] = 'doesNotExist';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+
+
+Time: %s, Memory: %sMb
+
+No tests executed!
diff --git a/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
new file mode 100644
index 0000000..9fc0d02
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/group-isolation.phpt
@@ -0,0 +1,22 @@
+--TEST--
+phpunit --process-isolation --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--group';
+$_SERVER['argv'][4] = 'balanceIsInitiallyZero';
+$_SERVER['argv'][5] = 'BankAccountTest';
+$_SERVER['argv'][6] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/group.phpt b/vendor/phpunit/phpunit/tests/TextUI/group.phpt
new file mode 100644
index 0000000..858456b
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/group.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --group balanceIsInitiallyZero BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--group';
+$_SERVER['argv'][3] = 'balanceIsInitiallyZero';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/help.phpt b/vendor/phpunit/phpunit/tests/TextUI/help.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/help.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/help.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/help2.phpt b/vendor/phpunit/phpunit/tests/TextUI/help2.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/help2.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/help2.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/ini-isolation.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt b/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
new file mode 100644
index 0000000..fba9868
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/list-groups.phpt
@@ -0,0 +1,19 @@
+--TEST--
+phpunit --list-groups BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--list-groups';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+Available test group(s):
+ - balanceCannotBecomeNegative
+ - balanceIsInitiallyZero
+ - specification
diff --git a/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt b/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
new file mode 100644
index 0000000..b2b4ae8
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/log-json-no-pretty-print.phpt
@@ -0,0 +1,27 @@
+--TEST--
+phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
+--SKIPIF--
+<?php
+if (defined('JSON_PRETTY_PRINT')) {
+    print 'skip: PHP without JSON_PRETTY_PRINT is required';
+}
+?>
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--log-json';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+{"event":"suiteStart","suite":"BankAccountTest","tests":3}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceIsInitiallyZero","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative","status":"pass","time":%f,"trace":[],"message":"","output":""}{"event":"testStart","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2"}.{"event":"test","suite":"BankAccountTest","test":"BankAccountTest::testBalanceCannotBecomeNegative2","status":"pass","time":%f,"trace":[],"message":"","output":""}
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt b/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
new file mode 100644
index 0000000..9a85314
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/log-json-post-66021.phpt
@@ -0,0 +1,72 @@
+--TEST--
+phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
+--SKIPIF--
+<?php
+if (!defined('JSON_PRETTY_PRINT')) {
+    print 'skip: JSON_PRETTY_PRINT is required';
+} else if (json_encode(array(), JSON_PRETTY_PRINT) != '[]') {
+    print 'skip: Does not have PHP #66021 (Blank line inside empty JSON array/object)';
+}
+?>
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--log-json';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+{
+    "event": "suiteStart",
+    "suite": "BankAccountTest",
+    "tests": 3
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceIsInitiallyZero"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceIsInitiallyZero",
+    "status": "pass",
+    "time": %f,
+    "trace": [],
+    "message": "",
+    "output": ""
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
+    "status": "pass",
+    "time": %f,
+    "trace": [],
+    "message": "",
+    "output": ""
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
+    "status": "pass",
+    "time": %f,
+    "trace": [],
+    "message": "",
+    "output": ""
+}
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt b/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
new file mode 100644
index 0000000..866134a
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/log-json-pre-66021.phpt
@@ -0,0 +1,78 @@
+--TEST--
+phpunit --log-json php://stdout BankAccountTest ../_files/BankAccountTest.php
+--SKIPIF--
+<?php
+if (!defined('JSON_PRETTY_PRINT')) {
+    print 'skip: JSON_PRETTY_PRINT is required';
+} else if (json_encode(array(), JSON_PRETTY_PRINT) == '[]') {
+    print 'skip: Has PHP #66021 (Blank line inside empty JSON array/object)';
+}
+?>
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--log-json';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+{
+    "event": "suiteStart",
+    "suite": "BankAccountTest",
+    "tests": 3
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceIsInitiallyZero"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceIsInitiallyZero",
+    "status": "pass",
+    "time": %f,
+    "trace": [
+
+    ],
+    "message": "",
+    "output": ""
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative",
+    "status": "pass",
+    "time": %f,
+    "trace": [
+
+    ],
+    "message": "",
+    "output": ""
+}{
+    "event": "testStart",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative2"
+}.{
+    "event": "test",
+    "suite": "BankAccountTest",
+    "test": "BankAccountTest::testBalanceCannotBecomeNegative2",
+    "status": "pass",
+    "time": %f,
+    "trace": [
+
+    ],
+    "message": "",
+    "output": ""
+}
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt b/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
new file mode 100644
index 0000000..6e13626
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/log-tap.phpt
@@ -0,0 +1,26 @@
+--TEST--
+phpunit --log-tap php://stdout BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--log-tap';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+TAP version 13
+.ok 1 - BankAccountTest::testBalanceIsInitiallyZero
+.ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
+.ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
+1..3
+
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt b/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
new file mode 100644
index 0000000..a031c85
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/log-xml.phpt
@@ -0,0 +1,29 @@
+--TEST--
+phpunit --log-junit php://stdout BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--log-junit';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...<?xml version="1.0" encoding="UTF-8"?>
+<testsuites>
+  <testsuite name="BankAccountTest" file="%sBankAccountTest.php" tests="3" assertions="3" failures="0" errors="0" time="%f">
+    <testcase name="testBalanceIsInitiallyZero" class="BankAccountTest" file="%sBankAccountTest.php" line="30" assertions="1" time="%f"/>
+    <testcase name="testBalanceCannotBecomeNegative" class="BankAccountTest" file="%sBankAccountTest.php" line="40" assertions="1" time="%f"/>
+    <testcase name="testBalanceCannotBecomeNegative2" class="BankAccountTest" file="%sBankAccountTest.php" line="58" assertions="1" time="%f"/>
+  </testsuite>
+</testsuites>
+
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt b/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt
new file mode 100644
index 0000000..d4cdc1a
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/options-after-arguments.phpt
@@ -0,0 +1,19 @@
+--TEST--
+phpunit BankAccountTest ../_files/BankAccountTest.php --colors
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = __DIR__ . '/../_files/BankAccountTest.php';
+$_SERVER['argv'][3] = '--colors=always';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+%s[30;42mOK (3 tests, 3 assertions)%s[0m
diff --git a/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
new file mode 100644
index 0000000..128a7e2
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/output-isolation.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --process-isolation --filter testExpectOutputStringFooActualFoo ../_files/OutputTestCase.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--process-isolation';
+$_SERVER['argv'][3] = '--filter';
+$_SERVER['argv'][4] = 'testExpectOutputStringFooActualFoo';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/OutputTestCase.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.
+
+Time: %s, Memory: %sMb
+
+OK (1 test, 1 assertion)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt b/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
new file mode 100644
index 0000000..db5eddb
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/repeat.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --repeat 3 BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--repeat';
+$_SERVER['argv'][3] = '3';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.........
+
+Time: %s, Memory: %sMb
+
+OK (9 tests, 9 assertions)
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt b/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-incomplete.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt b/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/report-useless-tests-isolation.phpt
diff --git a/core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt b/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt
rename to vendor/phpunit/phpunit/tests/TextUI/report-useless-tests.phpt
diff --git a/vendor/phpunit/phpunit/tests/TextUI/tap.phpt b/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
new file mode 100644
index 0000000..ca5676d
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/tap.phpt
@@ -0,0 +1,18 @@
+--TEST--
+phpunit --tap BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--tap';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+TAP version 13
+ok 1 - BankAccountTest::testBalanceIsInitiallyZero
+ok 2 - BankAccountTest::testBalanceCannotBecomeNegative
+ok 3 - BankAccountTest::testBalanceCannotBecomeNegative2
+1..3
diff --git a/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt b/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
new file mode 100644
index 0000000..417f065
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/test-suffix-multiple.phpt
@@ -0,0 +1,20 @@
+--TEST--
+phpunit --test-suffix .test.php,.my.php ../_files/
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--test-suffix';
+$_SERVER['argv'][3] = '.test.php,.my.php';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+.....
+
+Time: %s, Memory: %sMb
+
+OK (5 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt b/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
new file mode 100644
index 0000000..6c35937
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/test-suffix-single.phpt
@@ -0,0 +1,20 @@
+--TEST--
+phpunit --test-suffix .test.php ../_files/
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--test-suffix';
+$_SERVER['argv'][3] = '.test.php';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+...
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt b/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
new file mode 100644
index 0000000..95e4405
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/testdox-html.phpt
@@ -0,0 +1,21 @@
+--TEST--
+phpunit --testdox-html php://stdout BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--testdox-html';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+<html><body>
+<h2 id="BankAccountTest">BankAccount</h2><ul>...<li>Balance is initially zero</li><li>Balance cannot become negative</li></ul></body></html>
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt b/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
new file mode 100644
index 0000000..79c6755
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/testdox-text.phpt
@@ -0,0 +1,25 @@
+--TEST--
+phpunit --testdox-text php://stdout BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--testdox-text';
+$_SERVER['argv'][3] = 'php://stdout';
+$_SERVER['argv'][4] = 'BankAccountTest';
+$_SERVER['argv'][5] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+BankAccount
+... [x] Balance is initially zero
+ [x] Balance cannot become negative
+
+
+
+Time: %s, Memory: %sMb
+
+OK (3 tests, 3 assertions)
diff --git a/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt b/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
new file mode 100644
index 0000000..fb24e94
--- /dev/null
+++ b/vendor/phpunit/phpunit/tests/TextUI/testdox.phpt
@@ -0,0 +1,19 @@
+--TEST--
+phpunit --testdox php://stdout BankAccountTest ../_files/BankAccountTest.php
+--FILE--
+<?php
+$_SERVER['argv'][1] = '--no-configuration';
+$_SERVER['argv'][2] = '--testdox';
+$_SERVER['argv'][3] = 'BankAccountTest';
+$_SERVER['argv'][4] = dirname(__FILE__) . '/../_files/BankAccountTest.php';
+
+require __DIR__ . '/../bootstrap.php';
+PHPUnit_TextUI_Command::main();
+?>
+--EXPECTF--
+PHPUnit %s by Sebastian Bergmann and contributors.
+
+BankAccount
+ [x] Balance is initially zero
+ [x] Balance cannot become negative
+
diff --git a/core/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php b/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php
rename to vendor/phpunit/phpunit/tests/Util/ConfigurationTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/GetoptTest.php b/vendor/phpunit/phpunit/tests/Util/GetoptTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/GetoptTest.php
rename to vendor/phpunit/phpunit/tests/Util/GetoptTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php b/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php
rename to vendor/phpunit/phpunit/tests/Util/GlobalStateTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/RegexTest.php b/vendor/phpunit/phpunit/tests/Util/RegexTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/RegexTest.php
rename to vendor/phpunit/phpunit/tests/Util/RegexTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php b/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php
rename to vendor/phpunit/phpunit/tests/Util/TestDox/NamePrettifierTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/TestTest.php b/vendor/phpunit/phpunit/tests/Util/TestTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/TestTest.php
rename to vendor/phpunit/phpunit/tests/Util/TestTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/Util/XMLTest.php b/vendor/phpunit/phpunit/tests/Util/XMLTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/Util/XMLTest.php
rename to vendor/phpunit/phpunit/tests/Util/XMLTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/AbstractTest.php b/vendor/phpunit/phpunit/tests/_files/AbstractTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/AbstractTest.php
rename to vendor/phpunit/phpunit/tests/_files/AbstractTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Author.php b/vendor/phpunit/phpunit/tests/_files/Author.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Author.php
rename to vendor/phpunit/phpunit/tests/_files/Author.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccount.php b/vendor/phpunit/phpunit/tests/_files/BankAccount.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BankAccount.php
rename to vendor/phpunit/phpunit/tests/_files/BankAccount.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php b/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.php
rename to vendor/phpunit/phpunit/tests/_files/BankAccountTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php b/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php
rename to vendor/phpunit/phpunit/tests/_files/BankAccountTest.test.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php b/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php
rename to vendor/phpunit/phpunit/tests/_files/BaseTestListenerSample.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php b/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php
rename to vendor/phpunit/phpunit/tests/_files/BeforeAndAfterTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php b/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php
rename to vendor/phpunit/phpunit/tests/_files/BeforeClassAndAfterClassTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Book.php b/vendor/phpunit/phpunit/tests/_files/Book.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Book.php
rename to vendor/phpunit/phpunit/tests/_files/Book.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Calculator.php b/vendor/phpunit/phpunit/tests/_files/Calculator.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Calculator.php
rename to vendor/phpunit/phpunit/tests/_files/Calculator.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php b/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php
rename to vendor/phpunit/phpunit/tests/_files/ChangeCurrentWorkingDirectoryTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php b/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php
rename to vendor/phpunit/phpunit/tests/_files/ClassWithNonPublicAttributes.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php b/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php
rename to vendor/phpunit/phpunit/tests/_files/ClassWithScalarTypeDeclarations.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php b/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ClassWithToString.php
rename to vendor/phpunit/phpunit/tests/_files/ClassWithToString.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php b/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php
rename to vendor/phpunit/phpunit/tests/_files/ConcreteTest.my.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php b/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ConcreteTest.php
rename to vendor/phpunit/phpunit/tests/_files/ConcreteTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageClassExtendedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageClassTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageFunctionTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageMethodOneLineAnnotationTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageMethodParenthesesWhitespaceTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageMethodTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageNoneTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageNotPrivateTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageNotProtectedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageNotPublicTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageNothingTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php b/vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoveragePrivateTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php b/vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageProtectedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php b/vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php
rename to vendor/phpunit/phpunit/tests/_files/CoveragePublicTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php b/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php
rename to vendor/phpunit/phpunit/tests/_files/CoverageTwoDefaultClassAnnotations.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php b/vendor/phpunit/phpunit/tests/_files/CoveredClass.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php
rename to vendor/phpunit/phpunit/tests/_files/CoveredClass.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php b/vendor/phpunit/phpunit/tests/_files/CoveredFunction.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php
rename to vendor/phpunit/phpunit/tests/_files/CoveredFunction.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php b/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/CustomPrinter.php
rename to vendor/phpunit/phpunit/tests/_files/CustomPrinter.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php
rename to vendor/phpunit/phpunit/tests/_files/DataProviderDebugTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php
rename to vendor/phpunit/phpunit/tests/_files/DataProviderFilterTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php
rename to vendor/phpunit/phpunit/tests/_files/DataProviderIncompleteTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php
rename to vendor/phpunit/phpunit/tests/_files/DataProviderSkippedTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php b/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DataProviderTest.php
rename to vendor/phpunit/phpunit/tests/_files/DataProviderTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php b/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php
rename to vendor/phpunit/phpunit/tests/_files/DependencyFailureTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php b/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php
rename to vendor/phpunit/phpunit/tests/_files/DependencySuccessTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php b/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php
rename to vendor/phpunit/phpunit/tests/_files/DependencyTestSuite.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php b/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/DoubleTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/DummyException.php b/vendor/phpunit/phpunit/tests/_files/DummyException.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/DummyException.php
rename to vendor/phpunit/phpunit/tests/_files/DummyException.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php b/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php
rename to vendor/phpunit/phpunit/tests/_files/EmptyTestCaseTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPostConditionsTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionInAssertPreConditionsTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionInSetUpTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionInTearDownTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionInTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionNamespaceTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionStackTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php b/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ExceptionTest.php
rename to vendor/phpunit/phpunit/tests/_files/ExceptionTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Failure.php b/vendor/phpunit/phpunit/tests/_files/Failure.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Failure.php
rename to vendor/phpunit/phpunit/tests/_files/Failure.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/FailureTest.php b/vendor/phpunit/phpunit/tests/_files/FailureTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/FailureTest.php
rename to vendor/phpunit/phpunit/tests/_files/FailureTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/FatalTest.php b/vendor/phpunit/phpunit/tests/_files/FatalTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/FatalTest.php
rename to vendor/phpunit/phpunit/tests/_files/FatalTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php b/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/IncompleteTest.php
rename to vendor/phpunit/phpunit/tests/_files/IncompleteTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php b/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php
rename to vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceA.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php b/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php
rename to vendor/phpunit/phpunit/tests/_files/Inheritance/InheritanceB.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php b/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/InheritedTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IniTest.php b/vendor/phpunit/phpunit/tests/_files/IniTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/IniTest.php
rename to vendor/phpunit/phpunit/tests/_files/IniTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/IsolationTest.php b/vendor/phpunit/phpunit/tests/_files/IsolationTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/IsolationTest.php
rename to vendor/phpunit/phpunit/tests/_files/IsolationTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json b/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json
rename to vendor/phpunit/phpunit/tests/_files/JsonData/arrayObject.json
diff --git a/core/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json b/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json
rename to vendor/phpunit/phpunit/tests/_files/JsonData/simpleObject.json
diff --git a/core/vendor/phpunit/phpunit/tests/_files/MockRunner.php b/vendor/phpunit/phpunit/tests/_files/MockRunner.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/MockRunner.php
rename to vendor/phpunit/phpunit/tests/_files/MockRunner.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php b/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php
rename to vendor/phpunit/phpunit/tests/_files/MultiDependencyTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassExtendedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageClassTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassPublicTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageCoversClassTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageMethodTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPrivateTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotProtectedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageNotPublicTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePrivateTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoverageProtectedTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoveragePublicTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php b/vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php
rename to vendor/phpunit/phpunit/tests/_files/NamespaceCoveredClass.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php b/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php
rename to vendor/phpunit/phpunit/tests/_files/NoArgTestCaseTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php b/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php
rename to vendor/phpunit/phpunit/tests/_files/NoTestCaseClass.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NoTestCases.php b/vendor/phpunit/phpunit/tests/_files/NoTestCases.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NoTestCases.php
rename to vendor/phpunit/phpunit/tests/_files/NoTestCases.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NonStatic.php b/vendor/phpunit/phpunit/tests/_files/NonStatic.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NonStatic.php
rename to vendor/phpunit/phpunit/tests/_files/NonStatic.php
diff --git a/core/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php b/vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php
rename to vendor/phpunit/phpunit/tests/_files/NotExistingCoveredElementTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php b/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/NotPublicTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php b/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/NotVoidTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/NothingTest.php b/vendor/phpunit/phpunit/tests/_files/NothingTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/NothingTest.php
rename to vendor/phpunit/phpunit/tests/_files/NothingTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OneTestCase.php b/vendor/phpunit/phpunit/tests/_files/OneTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/OneTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/OneTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php b/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/OutputTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/OutputTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php b/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/OverrideTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php b/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php
rename to vendor/phpunit/phpunit/tests/_files/RequirementsClassBeforeClassHookTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php b/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php
rename to vendor/phpunit/phpunit/tests/_files/RequirementsClassDocBlockTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php b/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/RequirementsTest.php
rename to vendor/phpunit/phpunit/tests/_files/RequirementsTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php b/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php
rename to vendor/phpunit/phpunit/tests/_files/SampleArrayAccess.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/SampleClass.php b/vendor/phpunit/phpunit/tests/_files/SampleClass.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/SampleClass.php
rename to vendor/phpunit/phpunit/tests/_files/SampleClass.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Singleton.php b/vendor/phpunit/phpunit/tests/_files/Singleton.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Singleton.php
rename to vendor/phpunit/phpunit/tests/_files/Singleton.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/StackTest.php b/vendor/phpunit/phpunit/tests/_files/StackTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/StackTest.php
rename to vendor/phpunit/phpunit/tests/_files/StackTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Struct.php b/vendor/phpunit/phpunit/tests/_files/Struct.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Struct.php
rename to vendor/phpunit/phpunit/tests/_files/Struct.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Success.php b/vendor/phpunit/phpunit/tests/_files/Success.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Success.php
rename to vendor/phpunit/phpunit/tests/_files/Success.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php b/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php
rename to vendor/phpunit/phpunit/tests/_files/TemplateMethodsTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php b/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TestIncomplete.php
rename to vendor/phpunit/phpunit/tests/_files/TestIncomplete.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestIterator.php b/vendor/phpunit/phpunit/tests/_files/TestIterator.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TestIterator.php
rename to vendor/phpunit/phpunit/tests/_files/TestIterator.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestIterator2.php b/vendor/phpunit/phpunit/tests/_files/TestIterator2.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TestIterator2.php
rename to vendor/phpunit/phpunit/tests/_files/TestIterator2.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestSkipped.php b/vendor/phpunit/phpunit/tests/_files/TestSkipped.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TestSkipped.php
rename to vendor/phpunit/phpunit/tests/_files/TestSkipped.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/Error.php b/vendor/phpunit/phpunit/tests/_files/TestTestError.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/Error.php
rename to vendor/phpunit/phpunit/tests/_files/TestTestError.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/TestWithTest.php b/vendor/phpunit/phpunit/tests/_files/TestWithTest.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/TestWithTest.php
rename to vendor/phpunit/phpunit/tests/_files/TestWithTest.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php b/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/ThrowExceptionTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php b/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php
rename to vendor/phpunit/phpunit/tests/_files/ThrowNoExceptionTestCase.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/WasRun.php b/vendor/phpunit/phpunit/tests/_files/WasRun.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/WasRun.php
rename to vendor/phpunit/phpunit/tests/_files/WasRun.php
diff --git a/core/vendor/phpunit/phpunit/tests/_files/bar.xml b/vendor/phpunit/phpunit/tests/_files/bar.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/bar.xml
rename to vendor/phpunit/phpunit/tests/_files/bar.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml b/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.colors.empty.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml b/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.colors.false.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml b/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.colors.invalid.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml b/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.colors.true.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml b/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.custom-printer.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration.xml b/vendor/phpunit/phpunit/tests/_files/configuration.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml b/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration_empty.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration_empty.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml b/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml
rename to vendor/phpunit/phpunit/tests/_files/configuration_xinclude.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt b/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt
rename to vendor/phpunit/phpunit/tests/_files/expectedFileFormat.txt
diff --git a/core/vendor/phpunit/phpunit/tests/_files/foo.xml b/vendor/phpunit/phpunit/tests/_files/foo.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/foo.xml
rename to vendor/phpunit/phpunit/tests/_files/foo.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml b/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml
rename to vendor/phpunit/phpunit/tests/_files/structureAttributesAreSameButValuesAreNot.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureExpected.xml b/vendor/phpunit/phpunit/tests/_files/structureExpected.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureExpected.xml
rename to vendor/phpunit/phpunit/tests/_files/structureExpected.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml b/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml
rename to vendor/phpunit/phpunit/tests/_files/structureIgnoreTextNodes.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml b/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml
rename to vendor/phpunit/phpunit/tests/_files/structureIsSameButDataIsNot.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml b/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml
rename to vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfAttributes.xml
diff --git a/core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml b/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml
rename to vendor/phpunit/phpunit/tests/_files/structureWrongNumberOfNodes.xml
diff --git a/core/vendor/phpunit/phpunit/tests/bootstrap.php b/vendor/phpunit/phpunit/tests/bootstrap.php
similarity index 100%
rename from core/vendor/phpunit/phpunit/tests/bootstrap.php
rename to vendor/phpunit/phpunit/tests/bootstrap.php
diff --git a/core/vendor/psr/http-message/LICENSE b/vendor/psr/http-message/LICENSE
similarity index 100%
rename from core/vendor/psr/http-message/LICENSE
rename to vendor/psr/http-message/LICENSE
diff --git a/core/vendor/psr/http-message/README.md b/vendor/psr/http-message/README.md
similarity index 100%
rename from core/vendor/psr/http-message/README.md
rename to vendor/psr/http-message/README.md
diff --git a/core/vendor/psr/http-message/composer.json b/vendor/psr/http-message/composer.json
similarity index 100%
rename from core/vendor/psr/http-message/composer.json
rename to vendor/psr/http-message/composer.json
diff --git a/core/vendor/psr/http-message/src/MessageInterface.php b/vendor/psr/http-message/src/MessageInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/MessageInterface.php
rename to vendor/psr/http-message/src/MessageInterface.php
diff --git a/core/vendor/psr/http-message/src/RequestInterface.php b/vendor/psr/http-message/src/RequestInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/RequestInterface.php
rename to vendor/psr/http-message/src/RequestInterface.php
diff --git a/core/vendor/psr/http-message/src/ResponseInterface.php b/vendor/psr/http-message/src/ResponseInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/ResponseInterface.php
rename to vendor/psr/http-message/src/ResponseInterface.php
diff --git a/core/vendor/psr/http-message/src/ServerRequestInterface.php b/vendor/psr/http-message/src/ServerRequestInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/ServerRequestInterface.php
rename to vendor/psr/http-message/src/ServerRequestInterface.php
diff --git a/core/vendor/psr/http-message/src/StreamInterface.php b/vendor/psr/http-message/src/StreamInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/StreamInterface.php
rename to vendor/psr/http-message/src/StreamInterface.php
diff --git a/core/vendor/psr/http-message/src/UploadedFileInterface.php b/vendor/psr/http-message/src/UploadedFileInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/UploadedFileInterface.php
rename to vendor/psr/http-message/src/UploadedFileInterface.php
diff --git a/core/vendor/psr/http-message/src/UriInterface.php b/vendor/psr/http-message/src/UriInterface.php
similarity index 100%
rename from core/vendor/psr/http-message/src/UriInterface.php
rename to vendor/psr/http-message/src/UriInterface.php
diff --git a/core/vendor/stack/builder/.gitignore b/vendor/psr/log/.gitignore
similarity index 100%
rename from core/vendor/stack/builder/.gitignore
rename to vendor/psr/log/.gitignore
diff --git a/core/vendor/psr/log/LICENSE b/vendor/psr/log/LICENSE
similarity index 100%
rename from core/vendor/psr/log/LICENSE
rename to vendor/psr/log/LICENSE
diff --git a/core/vendor/psr/log/Psr/Log/AbstractLogger.php b/vendor/psr/log/Psr/Log/AbstractLogger.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/AbstractLogger.php
rename to vendor/psr/log/Psr/Log/AbstractLogger.php
diff --git a/core/vendor/psr/log/Psr/Log/InvalidArgumentException.php b/vendor/psr/log/Psr/Log/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/InvalidArgumentException.php
rename to vendor/psr/log/Psr/Log/InvalidArgumentException.php
diff --git a/core/vendor/psr/log/Psr/Log/LogLevel.php b/vendor/psr/log/Psr/Log/LogLevel.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/LogLevel.php
rename to vendor/psr/log/Psr/Log/LogLevel.php
diff --git a/core/vendor/psr/log/Psr/Log/LoggerAwareInterface.php b/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
rename to vendor/psr/log/Psr/Log/LoggerAwareInterface.php
diff --git a/core/vendor/psr/log/Psr/Log/LoggerAwareTrait.php b/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
rename to vendor/psr/log/Psr/Log/LoggerAwareTrait.php
diff --git a/core/vendor/psr/log/Psr/Log/LoggerInterface.php b/vendor/psr/log/Psr/Log/LoggerInterface.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/LoggerInterface.php
rename to vendor/psr/log/Psr/Log/LoggerInterface.php
diff --git a/core/vendor/psr/log/Psr/Log/LoggerTrait.php b/vendor/psr/log/Psr/Log/LoggerTrait.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/LoggerTrait.php
rename to vendor/psr/log/Psr/Log/LoggerTrait.php
diff --git a/core/vendor/psr/log/Psr/Log/NullLogger.php b/vendor/psr/log/Psr/Log/NullLogger.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/NullLogger.php
rename to vendor/psr/log/Psr/Log/NullLogger.php
diff --git a/core/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php b/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
similarity index 100%
rename from core/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
rename to vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
diff --git a/core/vendor/psr/log/README.md b/vendor/psr/log/README.md
similarity index 100%
rename from core/vendor/psr/log/README.md
rename to vendor/psr/log/README.md
diff --git a/core/vendor/psr/log/composer.json b/vendor/psr/log/composer.json
similarity index 100%
rename from core/vendor/psr/log/composer.json
rename to vendor/psr/log/composer.json
diff --git a/core/vendor/sebastian/comparator/.gitignore b/vendor/sebastian/comparator/.gitignore
similarity index 100%
rename from core/vendor/sebastian/comparator/.gitignore
rename to vendor/sebastian/comparator/.gitignore
diff --git a/core/vendor/sebastian/comparator/.travis.yml b/vendor/sebastian/comparator/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/comparator/.travis.yml
rename to vendor/sebastian/comparator/.travis.yml
diff --git a/core/vendor/sebastian/comparator/LICENSE b/vendor/sebastian/comparator/LICENSE
similarity index 100%
rename from core/vendor/sebastian/comparator/LICENSE
rename to vendor/sebastian/comparator/LICENSE
diff --git a/core/vendor/sebastian/comparator/README.md b/vendor/sebastian/comparator/README.md
similarity index 100%
rename from core/vendor/sebastian/comparator/README.md
rename to vendor/sebastian/comparator/README.md
diff --git a/core/vendor/sebastian/comparator/build.xml b/vendor/sebastian/comparator/build.xml
similarity index 100%
rename from core/vendor/sebastian/comparator/build.xml
rename to vendor/sebastian/comparator/build.xml
diff --git a/core/vendor/sebastian/comparator/build/travis-ci.xml b/vendor/sebastian/comparator/build/travis-ci.xml
similarity index 100%
rename from core/vendor/sebastian/comparator/build/travis-ci.xml
rename to vendor/sebastian/comparator/build/travis-ci.xml
diff --git a/core/vendor/sebastian/comparator/composer.json b/vendor/sebastian/comparator/composer.json
similarity index 100%
rename from core/vendor/sebastian/comparator/composer.json
rename to vendor/sebastian/comparator/composer.json
diff --git a/core/vendor/sebastian/comparator/phpunit.xml.dist b/vendor/sebastian/comparator/phpunit.xml.dist
similarity index 100%
rename from core/vendor/sebastian/comparator/phpunit.xml.dist
rename to vendor/sebastian/comparator/phpunit.xml.dist
diff --git a/core/vendor/sebastian/comparator/src/ArrayComparator.php b/vendor/sebastian/comparator/src/ArrayComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ArrayComparator.php
rename to vendor/sebastian/comparator/src/ArrayComparator.php
diff --git a/core/vendor/sebastian/comparator/src/Comparator.php b/vendor/sebastian/comparator/src/Comparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/Comparator.php
rename to vendor/sebastian/comparator/src/Comparator.php
diff --git a/core/vendor/sebastian/comparator/src/ComparisonFailure.php b/vendor/sebastian/comparator/src/ComparisonFailure.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ComparisonFailure.php
rename to vendor/sebastian/comparator/src/ComparisonFailure.php
diff --git a/core/vendor/sebastian/comparator/src/DOMNodeComparator.php b/vendor/sebastian/comparator/src/DOMNodeComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/DOMNodeComparator.php
rename to vendor/sebastian/comparator/src/DOMNodeComparator.php
diff --git a/core/vendor/sebastian/comparator/src/DateTimeComparator.php b/vendor/sebastian/comparator/src/DateTimeComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/DateTimeComparator.php
rename to vendor/sebastian/comparator/src/DateTimeComparator.php
diff --git a/core/vendor/sebastian/comparator/src/DoubleComparator.php b/vendor/sebastian/comparator/src/DoubleComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/DoubleComparator.php
rename to vendor/sebastian/comparator/src/DoubleComparator.php
diff --git a/core/vendor/sebastian/comparator/src/ExceptionComparator.php b/vendor/sebastian/comparator/src/ExceptionComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ExceptionComparator.php
rename to vendor/sebastian/comparator/src/ExceptionComparator.php
diff --git a/core/vendor/sebastian/comparator/src/Factory.php b/vendor/sebastian/comparator/src/Factory.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/Factory.php
rename to vendor/sebastian/comparator/src/Factory.php
diff --git a/core/vendor/sebastian/comparator/src/MockObjectComparator.php b/vendor/sebastian/comparator/src/MockObjectComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/MockObjectComparator.php
rename to vendor/sebastian/comparator/src/MockObjectComparator.php
diff --git a/core/vendor/sebastian/comparator/src/NumericComparator.php b/vendor/sebastian/comparator/src/NumericComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/NumericComparator.php
rename to vendor/sebastian/comparator/src/NumericComparator.php
diff --git a/core/vendor/sebastian/comparator/src/ObjectComparator.php b/vendor/sebastian/comparator/src/ObjectComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ObjectComparator.php
rename to vendor/sebastian/comparator/src/ObjectComparator.php
diff --git a/core/vendor/sebastian/comparator/src/ResourceComparator.php b/vendor/sebastian/comparator/src/ResourceComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ResourceComparator.php
rename to vendor/sebastian/comparator/src/ResourceComparator.php
diff --git a/core/vendor/sebastian/comparator/src/ScalarComparator.php b/vendor/sebastian/comparator/src/ScalarComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/ScalarComparator.php
rename to vendor/sebastian/comparator/src/ScalarComparator.php
diff --git a/core/vendor/sebastian/comparator/src/SplObjectStorageComparator.php b/vendor/sebastian/comparator/src/SplObjectStorageComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/SplObjectStorageComparator.php
rename to vendor/sebastian/comparator/src/SplObjectStorageComparator.php
diff --git a/core/vendor/sebastian/comparator/src/TypeComparator.php b/vendor/sebastian/comparator/src/TypeComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/src/TypeComparator.php
rename to vendor/sebastian/comparator/src/TypeComparator.php
diff --git a/core/vendor/sebastian/comparator/tests/ArrayComparatorTest.php b/vendor/sebastian/comparator/tests/ArrayComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/ArrayComparatorTest.php
rename to vendor/sebastian/comparator/tests/ArrayComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php b/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php
rename to vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php b/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
rename to vendor/sebastian/comparator/tests/DateTimeComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/DoubleComparatorTest.php b/vendor/sebastian/comparator/tests/DoubleComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/DoubleComparatorTest.php
rename to vendor/sebastian/comparator/tests/DoubleComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php b/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php
rename to vendor/sebastian/comparator/tests/ExceptionComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/FactoryTest.php b/vendor/sebastian/comparator/tests/FactoryTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/FactoryTest.php
rename to vendor/sebastian/comparator/tests/FactoryTest.php
diff --git a/core/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php b/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php
rename to vendor/sebastian/comparator/tests/MockObjectComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/NumericComparatorTest.php b/vendor/sebastian/comparator/tests/NumericComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/NumericComparatorTest.php
rename to vendor/sebastian/comparator/tests/NumericComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/ObjectComparatorTest.php b/vendor/sebastian/comparator/tests/ObjectComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/ObjectComparatorTest.php
rename to vendor/sebastian/comparator/tests/ObjectComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/ResourceComparatorTest.php b/vendor/sebastian/comparator/tests/ResourceComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/ResourceComparatorTest.php
rename to vendor/sebastian/comparator/tests/ResourceComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/ScalarComparatorTest.php b/vendor/sebastian/comparator/tests/ScalarComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/ScalarComparatorTest.php
rename to vendor/sebastian/comparator/tests/ScalarComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php b/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php
rename to vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/TypeComparatorTest.php b/vendor/sebastian/comparator/tests/TypeComparatorTest.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/TypeComparatorTest.php
rename to vendor/sebastian/comparator/tests/TypeComparatorTest.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/Author.php b/vendor/sebastian/comparator/tests/_files/Author.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/Author.php
rename to vendor/sebastian/comparator/tests/_files/Author.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/Book.php b/vendor/sebastian/comparator/tests/_files/Book.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/Book.php
rename to vendor/sebastian/comparator/tests/_files/Book.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/ClassWithToString.php b/vendor/sebastian/comparator/tests/_files/ClassWithToString.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/ClassWithToString.php
rename to vendor/sebastian/comparator/tests/_files/ClassWithToString.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/SampleClass.php b/vendor/sebastian/comparator/tests/_files/SampleClass.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/SampleClass.php
rename to vendor/sebastian/comparator/tests/_files/SampleClass.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/Struct.php b/vendor/sebastian/comparator/tests/_files/Struct.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/Struct.php
rename to vendor/sebastian/comparator/tests/_files/Struct.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/TestClass.php b/vendor/sebastian/comparator/tests/_files/TestClass.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/TestClass.php
rename to vendor/sebastian/comparator/tests/_files/TestClass.php
diff --git a/core/vendor/sebastian/comparator/tests/_files/TestClassComparator.php b/vendor/sebastian/comparator/tests/_files/TestClassComparator.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/_files/TestClassComparator.php
rename to vendor/sebastian/comparator/tests/_files/TestClassComparator.php
diff --git a/core/vendor/sebastian/comparator/tests/autoload.php b/vendor/sebastian/comparator/tests/autoload.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/autoload.php
rename to vendor/sebastian/comparator/tests/autoload.php
diff --git a/core/vendor/sebastian/comparator/tests/bootstrap.php b/vendor/sebastian/comparator/tests/bootstrap.php
similarity index 100%
rename from core/vendor/sebastian/comparator/tests/bootstrap.php
rename to vendor/sebastian/comparator/tests/bootstrap.php
diff --git a/core/vendor/sebastian/diff/.gitignore b/vendor/sebastian/diff/.gitignore
similarity index 100%
rename from core/vendor/sebastian/diff/.gitignore
rename to vendor/sebastian/diff/.gitignore
diff --git a/core/vendor/sebastian/diff/.travis.yml b/vendor/sebastian/diff/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/diff/.travis.yml
rename to vendor/sebastian/diff/.travis.yml
diff --git a/core/vendor/sebastian/diff/LICENSE b/vendor/sebastian/diff/LICENSE
similarity index 100%
rename from core/vendor/sebastian/diff/LICENSE
rename to vendor/sebastian/diff/LICENSE
diff --git a/core/vendor/sebastian/diff/README.md b/vendor/sebastian/diff/README.md
similarity index 100%
rename from core/vendor/sebastian/diff/README.md
rename to vendor/sebastian/diff/README.md
diff --git a/core/vendor/sebastian/diff/build.xml b/vendor/sebastian/diff/build.xml
similarity index 100%
rename from core/vendor/sebastian/diff/build.xml
rename to vendor/sebastian/diff/build.xml
diff --git a/core/vendor/sebastian/diff/composer.json b/vendor/sebastian/diff/composer.json
similarity index 100%
rename from core/vendor/sebastian/diff/composer.json
rename to vendor/sebastian/diff/composer.json
diff --git a/core/vendor/sebastian/diff/phpunit.xml.dist b/vendor/sebastian/diff/phpunit.xml.dist
similarity index 100%
rename from core/vendor/sebastian/diff/phpunit.xml.dist
rename to vendor/sebastian/diff/phpunit.xml.dist
diff --git a/core/vendor/sebastian/diff/src/Chunk.php b/vendor/sebastian/diff/src/Chunk.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/Chunk.php
rename to vendor/sebastian/diff/src/Chunk.php
diff --git a/core/vendor/sebastian/diff/src/Diff.php b/vendor/sebastian/diff/src/Diff.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/Diff.php
rename to vendor/sebastian/diff/src/Diff.php
diff --git a/core/vendor/sebastian/diff/src/Differ.php b/vendor/sebastian/diff/src/Differ.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/Differ.php
rename to vendor/sebastian/diff/src/Differ.php
diff --git a/core/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php b/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php
rename to vendor/sebastian/diff/src/LCS/LongestCommonSubsequence.php
diff --git a/core/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php b/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php
rename to vendor/sebastian/diff/src/LCS/MemoryEfficientLongestCommonSubsequenceImplementation.php
diff --git a/core/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php b/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php
rename to vendor/sebastian/diff/src/LCS/TimeEfficientLongestCommonSubsequenceImplementation.php
diff --git a/core/vendor/sebastian/diff/src/Line.php b/vendor/sebastian/diff/src/Line.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/Line.php
rename to vendor/sebastian/diff/src/Line.php
diff --git a/core/vendor/sebastian/diff/src/Parser.php b/vendor/sebastian/diff/src/Parser.php
similarity index 100%
rename from core/vendor/sebastian/diff/src/Parser.php
rename to vendor/sebastian/diff/src/Parser.php
diff --git a/core/vendor/sebastian/diff/tests/DifferTest.php b/vendor/sebastian/diff/tests/DifferTest.php
similarity index 100%
rename from core/vendor/sebastian/diff/tests/DifferTest.php
rename to vendor/sebastian/diff/tests/DifferTest.php
diff --git a/core/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php b/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php
similarity index 100%
rename from core/vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php
rename to vendor/sebastian/diff/tests/LCS/TimeEfficientImplementationTest.php
diff --git a/core/vendor/sebastian/diff/tests/ParserTest.php b/vendor/sebastian/diff/tests/ParserTest.php
similarity index 100%
rename from core/vendor/sebastian/diff/tests/ParserTest.php
rename to vendor/sebastian/diff/tests/ParserTest.php
diff --git a/core/vendor/sebastian/diff/tests/fixtures/patch.txt b/vendor/sebastian/diff/tests/fixtures/patch.txt
similarity index 100%
rename from core/vendor/sebastian/diff/tests/fixtures/patch.txt
rename to vendor/sebastian/diff/tests/fixtures/patch.txt
diff --git a/core/vendor/sebastian/diff/tests/fixtures/patch2.txt b/vendor/sebastian/diff/tests/fixtures/patch2.txt
similarity index 100%
rename from core/vendor/sebastian/diff/tests/fixtures/patch2.txt
rename to vendor/sebastian/diff/tests/fixtures/patch2.txt
diff --git a/core/vendor/sebastian/environment/.gitignore b/vendor/sebastian/environment/.gitignore
similarity index 100%
rename from core/vendor/sebastian/environment/.gitignore
rename to vendor/sebastian/environment/.gitignore
diff --git a/core/vendor/sebastian/environment/.travis.yml b/vendor/sebastian/environment/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/environment/.travis.yml
rename to vendor/sebastian/environment/.travis.yml
diff --git a/core/vendor/sebastian/environment/LICENSE b/vendor/sebastian/environment/LICENSE
similarity index 100%
rename from core/vendor/sebastian/environment/LICENSE
rename to vendor/sebastian/environment/LICENSE
diff --git a/core/vendor/sebastian/environment/README.md b/vendor/sebastian/environment/README.md
similarity index 100%
rename from core/vendor/sebastian/environment/README.md
rename to vendor/sebastian/environment/README.md
diff --git a/core/vendor/sebastian/environment/build.xml b/vendor/sebastian/environment/build.xml
similarity index 100%
rename from core/vendor/sebastian/environment/build.xml
rename to vendor/sebastian/environment/build.xml
diff --git a/core/vendor/sebastian/environment/composer.json b/vendor/sebastian/environment/composer.json
similarity index 100%
rename from core/vendor/sebastian/environment/composer.json
rename to vendor/sebastian/environment/composer.json
diff --git a/core/vendor/sebastian/environment/phpunit.xml.dist b/vendor/sebastian/environment/phpunit.xml.dist
similarity index 100%
rename from core/vendor/sebastian/environment/phpunit.xml.dist
rename to vendor/sebastian/environment/phpunit.xml.dist
diff --git a/core/vendor/sebastian/environment/src/Console.php b/vendor/sebastian/environment/src/Console.php
similarity index 100%
rename from core/vendor/sebastian/environment/src/Console.php
rename to vendor/sebastian/environment/src/Console.php
diff --git a/core/vendor/sebastian/environment/src/Runtime.php b/vendor/sebastian/environment/src/Runtime.php
similarity index 100%
rename from core/vendor/sebastian/environment/src/Runtime.php
rename to vendor/sebastian/environment/src/Runtime.php
diff --git a/core/vendor/sebastian/environment/tests/ConsoleTest.php b/vendor/sebastian/environment/tests/ConsoleTest.php
similarity index 100%
rename from core/vendor/sebastian/environment/tests/ConsoleTest.php
rename to vendor/sebastian/environment/tests/ConsoleTest.php
diff --git a/core/vendor/sebastian/environment/tests/RuntimeTest.php b/vendor/sebastian/environment/tests/RuntimeTest.php
similarity index 100%
rename from core/vendor/sebastian/environment/tests/RuntimeTest.php
rename to vendor/sebastian/environment/tests/RuntimeTest.php
diff --git a/core/vendor/sebastian/recursion-context/.gitignore b/vendor/sebastian/exporter/.gitignore
similarity index 100%
rename from core/vendor/sebastian/recursion-context/.gitignore
rename to vendor/sebastian/exporter/.gitignore
diff --git a/core/vendor/sebastian/exporter/.travis.yml b/vendor/sebastian/exporter/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/exporter/.travis.yml
rename to vendor/sebastian/exporter/.travis.yml
diff --git a/core/vendor/sebastian/exporter/LICENSE b/vendor/sebastian/exporter/LICENSE
similarity index 100%
rename from core/vendor/sebastian/exporter/LICENSE
rename to vendor/sebastian/exporter/LICENSE
diff --git a/core/vendor/sebastian/exporter/README.md b/vendor/sebastian/exporter/README.md
similarity index 100%
rename from core/vendor/sebastian/exporter/README.md
rename to vendor/sebastian/exporter/README.md
diff --git a/core/vendor/sebastian/exporter/build.xml b/vendor/sebastian/exporter/build.xml
similarity index 100%
rename from core/vendor/sebastian/exporter/build.xml
rename to vendor/sebastian/exporter/build.xml
diff --git a/core/vendor/sebastian/exporter/composer.json b/vendor/sebastian/exporter/composer.json
similarity index 100%
rename from core/vendor/sebastian/exporter/composer.json
rename to vendor/sebastian/exporter/composer.json
diff --git a/core/vendor/sebastian/exporter/phpunit.xml.dist b/vendor/sebastian/exporter/phpunit.xml.dist
similarity index 100%
rename from core/vendor/sebastian/exporter/phpunit.xml.dist
rename to vendor/sebastian/exporter/phpunit.xml.dist
diff --git a/core/vendor/sebastian/exporter/src/Exporter.php b/vendor/sebastian/exporter/src/Exporter.php
similarity index 100%
rename from core/vendor/sebastian/exporter/src/Exporter.php
rename to vendor/sebastian/exporter/src/Exporter.php
diff --git a/core/vendor/sebastian/exporter/tests/ExporterTest.php b/vendor/sebastian/exporter/tests/ExporterTest.php
similarity index 100%
rename from core/vendor/sebastian/exporter/tests/ExporterTest.php
rename to vendor/sebastian/exporter/tests/ExporterTest.php
diff --git a/core/vendor/sebastian/global-state/.gitignore b/vendor/sebastian/global-state/.gitignore
similarity index 100%
rename from core/vendor/sebastian/global-state/.gitignore
rename to vendor/sebastian/global-state/.gitignore
diff --git a/core/vendor/sebastian/global-state/.travis.yml b/vendor/sebastian/global-state/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/global-state/.travis.yml
rename to vendor/sebastian/global-state/.travis.yml
diff --git a/core/vendor/sebastian/global-state/LICENSE b/vendor/sebastian/global-state/LICENSE
similarity index 100%
rename from core/vendor/sebastian/global-state/LICENSE
rename to vendor/sebastian/global-state/LICENSE
diff --git a/core/vendor/sebastian/global-state/README.md b/vendor/sebastian/global-state/README.md
similarity index 100%
rename from core/vendor/sebastian/global-state/README.md
rename to vendor/sebastian/global-state/README.md
diff --git a/core/vendor/sebastian/global-state/build.xml b/vendor/sebastian/global-state/build.xml
similarity index 100%
rename from core/vendor/sebastian/global-state/build.xml
rename to vendor/sebastian/global-state/build.xml
diff --git a/core/vendor/sebastian/global-state/build/phpunit.xml b/vendor/sebastian/global-state/build/phpunit.xml
similarity index 100%
rename from core/vendor/sebastian/global-state/build/phpunit.xml
rename to vendor/sebastian/global-state/build/phpunit.xml
diff --git a/core/vendor/sebastian/global-state/composer.json b/vendor/sebastian/global-state/composer.json
similarity index 100%
rename from core/vendor/sebastian/global-state/composer.json
rename to vendor/sebastian/global-state/composer.json
diff --git a/core/vendor/sebastian/global-state/src/Blacklist.php b/vendor/sebastian/global-state/src/Blacklist.php
similarity index 100%
rename from core/vendor/sebastian/global-state/src/Blacklist.php
rename to vendor/sebastian/global-state/src/Blacklist.php
diff --git a/core/vendor/sebastian/global-state/src/Exception.php b/vendor/sebastian/global-state/src/Exception.php
similarity index 100%
rename from core/vendor/sebastian/global-state/src/Exception.php
rename to vendor/sebastian/global-state/src/Exception.php
diff --git a/core/vendor/sebastian/global-state/src/Restorer.php b/vendor/sebastian/global-state/src/Restorer.php
similarity index 100%
rename from core/vendor/sebastian/global-state/src/Restorer.php
rename to vendor/sebastian/global-state/src/Restorer.php
diff --git a/core/vendor/sebastian/global-state/src/RuntimeException.php b/vendor/sebastian/global-state/src/RuntimeException.php
similarity index 100%
rename from core/vendor/sebastian/global-state/src/RuntimeException.php
rename to vendor/sebastian/global-state/src/RuntimeException.php
diff --git a/core/vendor/sebastian/global-state/src/Snapshot.php b/vendor/sebastian/global-state/src/Snapshot.php
similarity index 100%
rename from core/vendor/sebastian/global-state/src/Snapshot.php
rename to vendor/sebastian/global-state/src/Snapshot.php
diff --git a/core/vendor/sebastian/global-state/tests/BlacklistTest.php b/vendor/sebastian/global-state/tests/BlacklistTest.php
similarity index 100%
rename from core/vendor/sebastian/global-state/tests/BlacklistTest.php
rename to vendor/sebastian/global-state/tests/BlacklistTest.php
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php b/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
similarity index 100%
rename from core/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
rename to vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php b/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
similarity index 100%
rename from core/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
rename to vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php b/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
similarity index 100%
rename from core/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
rename to vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php
diff --git a/core/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php b/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
similarity index 100%
rename from core/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
rename to vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php
diff --git a/core/vendor/sebastian/exporter/.gitignore b/vendor/sebastian/recursion-context/.gitignore
similarity index 100%
rename from core/vendor/sebastian/exporter/.gitignore
rename to vendor/sebastian/recursion-context/.gitignore
diff --git a/core/vendor/sebastian/recursion-context/.travis.yml b/vendor/sebastian/recursion-context/.travis.yml
similarity index 100%
rename from core/vendor/sebastian/recursion-context/.travis.yml
rename to vendor/sebastian/recursion-context/.travis.yml
diff --git a/core/vendor/sebastian/recursion-context/LICENSE b/vendor/sebastian/recursion-context/LICENSE
similarity index 100%
rename from core/vendor/sebastian/recursion-context/LICENSE
rename to vendor/sebastian/recursion-context/LICENSE
diff --git a/core/vendor/sebastian/recursion-context/README.md b/vendor/sebastian/recursion-context/README.md
similarity index 100%
rename from core/vendor/sebastian/recursion-context/README.md
rename to vendor/sebastian/recursion-context/README.md
diff --git a/core/vendor/sebastian/recursion-context/build.xml b/vendor/sebastian/recursion-context/build.xml
similarity index 100%
rename from core/vendor/sebastian/recursion-context/build.xml
rename to vendor/sebastian/recursion-context/build.xml
diff --git a/core/vendor/sebastian/recursion-context/composer.json b/vendor/sebastian/recursion-context/composer.json
similarity index 100%
rename from core/vendor/sebastian/recursion-context/composer.json
rename to vendor/sebastian/recursion-context/composer.json
diff --git a/core/vendor/sebastian/recursion-context/phpunit.xml.dist b/vendor/sebastian/recursion-context/phpunit.xml.dist
similarity index 100%
rename from core/vendor/sebastian/recursion-context/phpunit.xml.dist
rename to vendor/sebastian/recursion-context/phpunit.xml.dist
diff --git a/core/vendor/sebastian/recursion-context/src/Context.php b/vendor/sebastian/recursion-context/src/Context.php
similarity index 100%
rename from core/vendor/sebastian/recursion-context/src/Context.php
rename to vendor/sebastian/recursion-context/src/Context.php
diff --git a/core/vendor/sebastian/recursion-context/src/Exception.php b/vendor/sebastian/recursion-context/src/Exception.php
similarity index 100%
rename from core/vendor/sebastian/recursion-context/src/Exception.php
rename to vendor/sebastian/recursion-context/src/Exception.php
diff --git a/core/vendor/sebastian/recursion-context/src/InvalidArgumentException.php b/vendor/sebastian/recursion-context/src/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/sebastian/recursion-context/src/InvalidArgumentException.php
rename to vendor/sebastian/recursion-context/src/InvalidArgumentException.php
diff --git a/core/vendor/sebastian/recursion-context/tests/ContextTest.php b/vendor/sebastian/recursion-context/tests/ContextTest.php
similarity index 100%
rename from core/vendor/sebastian/recursion-context/tests/ContextTest.php
rename to vendor/sebastian/recursion-context/tests/ContextTest.php
diff --git a/core/vendor/phpunit/php-code-coverage/.gitattributes b/vendor/sebastian/version/.gitattributes
similarity index 100%
rename from core/vendor/phpunit/php-code-coverage/.gitattributes
rename to vendor/sebastian/version/.gitattributes
diff --git a/core/vendor/sebastian/version/.gitignore b/vendor/sebastian/version/.gitignore
similarity index 100%
rename from core/vendor/sebastian/version/.gitignore
rename to vendor/sebastian/version/.gitignore
diff --git a/core/vendor/sebastian/version/LICENSE b/vendor/sebastian/version/LICENSE
similarity index 100%
rename from core/vendor/sebastian/version/LICENSE
rename to vendor/sebastian/version/LICENSE
diff --git a/core/vendor/sebastian/version/README.md b/vendor/sebastian/version/README.md
similarity index 100%
rename from core/vendor/sebastian/version/README.md
rename to vendor/sebastian/version/README.md
diff --git a/core/vendor/sebastian/version/composer.json b/vendor/sebastian/version/composer.json
similarity index 100%
rename from core/vendor/sebastian/version/composer.json
rename to vendor/sebastian/version/composer.json
diff --git a/core/vendor/sebastian/version/src/Version.php b/vendor/sebastian/version/src/Version.php
similarity index 100%
rename from core/vendor/sebastian/version/src/Version.php
rename to vendor/sebastian/version/src/Version.php
diff --git a/core/vendor/psr/log/.gitignore b/vendor/stack/builder/.gitignore
similarity index 100%
rename from core/vendor/psr/log/.gitignore
rename to vendor/stack/builder/.gitignore
diff --git a/core/vendor/stack/builder/.travis.yml b/vendor/stack/builder/.travis.yml
similarity index 100%
rename from core/vendor/stack/builder/.travis.yml
rename to vendor/stack/builder/.travis.yml
diff --git a/core/vendor/stack/builder/CHANGELOG.md b/vendor/stack/builder/CHANGELOG.md
similarity index 100%
rename from core/vendor/stack/builder/CHANGELOG.md
rename to vendor/stack/builder/CHANGELOG.md
diff --git a/core/vendor/stack/builder/LICENSE b/vendor/stack/builder/LICENSE
similarity index 100%
rename from core/vendor/stack/builder/LICENSE
rename to vendor/stack/builder/LICENSE
diff --git a/core/vendor/stack/builder/README.md b/vendor/stack/builder/README.md
similarity index 100%
rename from core/vendor/stack/builder/README.md
rename to vendor/stack/builder/README.md
diff --git a/core/vendor/stack/builder/composer.json b/vendor/stack/builder/composer.json
similarity index 100%
rename from core/vendor/stack/builder/composer.json
rename to vendor/stack/builder/composer.json
diff --git a/core/vendor/stack/builder/composer.lock b/vendor/stack/builder/composer.lock
similarity index 100%
rename from core/vendor/stack/builder/composer.lock
rename to vendor/stack/builder/composer.lock
diff --git a/core/vendor/stack/builder/phpunit.xml.dist b/vendor/stack/builder/phpunit.xml.dist
similarity index 100%
rename from core/vendor/stack/builder/phpunit.xml.dist
rename to vendor/stack/builder/phpunit.xml.dist
diff --git a/core/vendor/stack/builder/src/Stack/Builder.php b/vendor/stack/builder/src/Stack/Builder.php
similarity index 100%
rename from core/vendor/stack/builder/src/Stack/Builder.php
rename to vendor/stack/builder/src/Stack/Builder.php
diff --git a/core/vendor/stack/builder/src/Stack/StackedHttpKernel.php b/vendor/stack/builder/src/Stack/StackedHttpKernel.php
similarity index 100%
rename from core/vendor/stack/builder/src/Stack/StackedHttpKernel.php
rename to vendor/stack/builder/src/Stack/StackedHttpKernel.php
diff --git a/core/vendor/stack/builder/tests/functional/SilexApplicationTest.php b/vendor/stack/builder/tests/functional/SilexApplicationTest.php
similarity index 100%
rename from core/vendor/stack/builder/tests/functional/SilexApplicationTest.php
rename to vendor/stack/builder/tests/functional/SilexApplicationTest.php
diff --git a/core/vendor/stack/builder/tests/unit/Stack/BuilderTest.php b/vendor/stack/builder/tests/unit/Stack/BuilderTest.php
similarity index 100%
rename from core/vendor/stack/builder/tests/unit/Stack/BuilderTest.php
rename to vendor/stack/builder/tests/unit/Stack/BuilderTest.php
diff --git a/core/vendor/stack/builder/tests/unit/Stack/StackedHttpKernelTest.php b/vendor/stack/builder/tests/unit/Stack/StackedHttpKernelTest.php
similarity index 100%
rename from core/vendor/stack/builder/tests/unit/Stack/StackedHttpKernelTest.php
rename to vendor/stack/builder/tests/unit/Stack/StackedHttpKernelTest.php
diff --git a/vendor/symfony-cmf/routing/.gitignore b/vendor/symfony-cmf/routing/.gitignore
new file mode 100644
index 0000000..c089b09
--- /dev/null
+++ b/vendor/symfony-cmf/routing/.gitignore
@@ -0,0 +1,3 @@
+phpunit.xml
+composer.lock
+/vendor/
diff --git a/core/vendor/symfony-cmf/routing/.travis.yml b/vendor/symfony-cmf/routing/.travis.yml
similarity index 100%
rename from core/vendor/symfony-cmf/routing/.travis.yml
rename to vendor/symfony-cmf/routing/.travis.yml
diff --git a/core/vendor/symfony-cmf/routing/CHANGELOG.md b/vendor/symfony-cmf/routing/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony-cmf/routing/CHANGELOG.md
rename to vendor/symfony-cmf/routing/CHANGELOG.md
diff --git a/core/vendor/symfony-cmf/routing/CONTRIBUTING.md b/vendor/symfony-cmf/routing/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/symfony-cmf/routing/CONTRIBUTING.md
rename to vendor/symfony-cmf/routing/CONTRIBUTING.md
diff --git a/core/vendor/symfony-cmf/routing/Candidates/Candidates.php b/vendor/symfony-cmf/routing/Candidates/Candidates.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Candidates/Candidates.php
rename to vendor/symfony-cmf/routing/Candidates/Candidates.php
diff --git a/core/vendor/symfony-cmf/routing/Candidates/CandidatesInterface.php b/vendor/symfony-cmf/routing/Candidates/CandidatesInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Candidates/CandidatesInterface.php
rename to vendor/symfony-cmf/routing/Candidates/CandidatesInterface.php
diff --git a/core/vendor/symfony-cmf/routing/ChainRouteCollection.php b/vendor/symfony-cmf/routing/ChainRouteCollection.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ChainRouteCollection.php
rename to vendor/symfony-cmf/routing/ChainRouteCollection.php
diff --git a/core/vendor/symfony-cmf/routing/ChainRouter.php b/vendor/symfony-cmf/routing/ChainRouter.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ChainRouter.php
rename to vendor/symfony-cmf/routing/ChainRouter.php
diff --git a/core/vendor/symfony-cmf/routing/ChainRouterInterface.php b/vendor/symfony-cmf/routing/ChainRouterInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ChainRouterInterface.php
rename to vendor/symfony-cmf/routing/ChainRouterInterface.php
diff --git a/core/vendor/symfony-cmf/routing/ChainedRouterInterface.php b/vendor/symfony-cmf/routing/ChainedRouterInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ChainedRouterInterface.php
rename to vendor/symfony-cmf/routing/ChainedRouterInterface.php
diff --git a/core/vendor/symfony-cmf/routing/ContentAwareGenerator.php b/vendor/symfony-cmf/routing/ContentAwareGenerator.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ContentAwareGenerator.php
rename to vendor/symfony-cmf/routing/ContentAwareGenerator.php
diff --git a/core/vendor/symfony-cmf/routing/ContentRepositoryInterface.php b/vendor/symfony-cmf/routing/ContentRepositoryInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ContentRepositoryInterface.php
rename to vendor/symfony-cmf/routing/ContentRepositoryInterface.php
diff --git a/core/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRouteEnhancersPass.php b/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRouteEnhancersPass.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRouteEnhancersPass.php
rename to vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRouteEnhancersPass.php
diff --git a/core/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRoutersPass.php b/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRoutersPass.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRoutersPass.php
rename to vendor/symfony-cmf/routing/DependencyInjection/Compiler/RegisterRoutersPass.php
diff --git a/core/vendor/symfony-cmf/routing/DynamicRouter.php b/vendor/symfony-cmf/routing/DynamicRouter.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/DynamicRouter.php
rename to vendor/symfony-cmf/routing/DynamicRouter.php
diff --git a/core/vendor/symfony-cmf/routing/Enhancer/FieldByClassEnhancer.php b/vendor/symfony-cmf/routing/Enhancer/FieldByClassEnhancer.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Enhancer/FieldByClassEnhancer.php
rename to vendor/symfony-cmf/routing/Enhancer/FieldByClassEnhancer.php
diff --git a/core/vendor/symfony-cmf/routing/Enhancer/FieldMapEnhancer.php b/vendor/symfony-cmf/routing/Enhancer/FieldMapEnhancer.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Enhancer/FieldMapEnhancer.php
rename to vendor/symfony-cmf/routing/Enhancer/FieldMapEnhancer.php
diff --git a/core/vendor/symfony-cmf/routing/Enhancer/FieldPresenceEnhancer.php b/vendor/symfony-cmf/routing/Enhancer/FieldPresenceEnhancer.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Enhancer/FieldPresenceEnhancer.php
rename to vendor/symfony-cmf/routing/Enhancer/FieldPresenceEnhancer.php
diff --git a/core/vendor/symfony-cmf/routing/Enhancer/RouteContentEnhancer.php b/vendor/symfony-cmf/routing/Enhancer/RouteContentEnhancer.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Enhancer/RouteContentEnhancer.php
rename to vendor/symfony-cmf/routing/Enhancer/RouteContentEnhancer.php
diff --git a/core/vendor/symfony-cmf/routing/Enhancer/RouteEnhancerInterface.php b/vendor/symfony-cmf/routing/Enhancer/RouteEnhancerInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Enhancer/RouteEnhancerInterface.php
rename to vendor/symfony-cmf/routing/Enhancer/RouteEnhancerInterface.php
diff --git a/core/vendor/symfony-cmf/routing/Event/Events.php b/vendor/symfony-cmf/routing/Event/Events.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Event/Events.php
rename to vendor/symfony-cmf/routing/Event/Events.php
diff --git a/core/vendor/symfony-cmf/routing/Event/RouterMatchEvent.php b/vendor/symfony-cmf/routing/Event/RouterMatchEvent.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Event/RouterMatchEvent.php
rename to vendor/symfony-cmf/routing/Event/RouterMatchEvent.php
diff --git a/core/vendor/symfony-cmf/routing/LICENSE b/vendor/symfony-cmf/routing/LICENSE
similarity index 100%
rename from core/vendor/symfony-cmf/routing/LICENSE
rename to vendor/symfony-cmf/routing/LICENSE
diff --git a/core/vendor/symfony-cmf/routing/LazyRouteCollection.php b/vendor/symfony-cmf/routing/LazyRouteCollection.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/LazyRouteCollection.php
rename to vendor/symfony-cmf/routing/LazyRouteCollection.php
diff --git a/core/vendor/symfony-cmf/routing/NestedMatcher/FinalMatcherInterface.php b/vendor/symfony-cmf/routing/NestedMatcher/FinalMatcherInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/NestedMatcher/FinalMatcherInterface.php
rename to vendor/symfony-cmf/routing/NestedMatcher/FinalMatcherInterface.php
diff --git a/core/vendor/symfony-cmf/routing/NestedMatcher/NestedMatcher.php b/vendor/symfony-cmf/routing/NestedMatcher/NestedMatcher.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/NestedMatcher/NestedMatcher.php
rename to vendor/symfony-cmf/routing/NestedMatcher/NestedMatcher.php
diff --git a/core/vendor/symfony-cmf/routing/NestedMatcher/RouteFilterInterface.php b/vendor/symfony-cmf/routing/NestedMatcher/RouteFilterInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/NestedMatcher/RouteFilterInterface.php
rename to vendor/symfony-cmf/routing/NestedMatcher/RouteFilterInterface.php
diff --git a/core/vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php b/vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php
rename to vendor/symfony-cmf/routing/NestedMatcher/UrlMatcher.php
diff --git a/core/vendor/symfony-cmf/routing/PagedRouteCollection.php b/vendor/symfony-cmf/routing/PagedRouteCollection.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/PagedRouteCollection.php
rename to vendor/symfony-cmf/routing/PagedRouteCollection.php
diff --git a/core/vendor/symfony-cmf/routing/PagedRouteProviderInterface.php b/vendor/symfony-cmf/routing/PagedRouteProviderInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/PagedRouteProviderInterface.php
rename to vendor/symfony-cmf/routing/PagedRouteProviderInterface.php
diff --git a/core/vendor/symfony-cmf/routing/ProviderBasedGenerator.php b/vendor/symfony-cmf/routing/ProviderBasedGenerator.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/ProviderBasedGenerator.php
rename to vendor/symfony-cmf/routing/ProviderBasedGenerator.php
diff --git a/core/vendor/symfony-cmf/routing/README.md b/vendor/symfony-cmf/routing/README.md
similarity index 100%
rename from core/vendor/symfony-cmf/routing/README.md
rename to vendor/symfony-cmf/routing/README.md
diff --git a/core/vendor/symfony-cmf/routing/RedirectRouteInterface.php b/vendor/symfony-cmf/routing/RedirectRouteInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/RedirectRouteInterface.php
rename to vendor/symfony-cmf/routing/RedirectRouteInterface.php
diff --git a/core/vendor/symfony-cmf/routing/RouteObjectInterface.php b/vendor/symfony-cmf/routing/RouteObjectInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/RouteObjectInterface.php
rename to vendor/symfony-cmf/routing/RouteObjectInterface.php
diff --git a/core/vendor/symfony-cmf/routing/RouteProviderInterface.php b/vendor/symfony-cmf/routing/RouteProviderInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/RouteProviderInterface.php
rename to vendor/symfony-cmf/routing/RouteProviderInterface.php
diff --git a/core/vendor/symfony-cmf/routing/RouteReferrersInterface.php b/vendor/symfony-cmf/routing/RouteReferrersInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/RouteReferrersInterface.php
rename to vendor/symfony-cmf/routing/RouteReferrersInterface.php
diff --git a/core/vendor/symfony-cmf/routing/RouteReferrersReadInterface.php b/vendor/symfony-cmf/routing/RouteReferrersReadInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/RouteReferrersReadInterface.php
rename to vendor/symfony-cmf/routing/RouteReferrersReadInterface.php
diff --git a/core/vendor/symfony-cmf/routing/Test/CmfUnitTestCase.php b/vendor/symfony-cmf/routing/Test/CmfUnitTestCase.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Test/CmfUnitTestCase.php
rename to vendor/symfony-cmf/routing/Test/CmfUnitTestCase.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php b/vendor/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php
rename to vendor/symfony-cmf/routing/Tests/Candidates/CandidatesTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRouteEnhancersPassTest.php b/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRouteEnhancersPassTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRouteEnhancersPassTest.php
rename to vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRouteEnhancersPassTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRoutersPassTest.php b/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRoutersPassTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRoutersPassTest.php
rename to vendor/symfony-cmf/routing/Tests/DependencyInjection/Compiler/RegisterRoutersPassTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldByClassEnhancerTest.php b/vendor/symfony-cmf/routing/Tests/Enhancer/FieldByClassEnhancerTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldByClassEnhancerTest.php
rename to vendor/symfony-cmf/routing/Tests/Enhancer/FieldByClassEnhancerTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldMapEnhancerTest.php b/vendor/symfony-cmf/routing/Tests/Enhancer/FieldMapEnhancerTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldMapEnhancerTest.php
rename to vendor/symfony-cmf/routing/Tests/Enhancer/FieldMapEnhancerTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldPresenceEnhancerTest.php b/vendor/symfony-cmf/routing/Tests/Enhancer/FieldPresenceEnhancerTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Enhancer/FieldPresenceEnhancerTest.php
rename to vendor/symfony-cmf/routing/Tests/Enhancer/FieldPresenceEnhancerTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php b/vendor/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php
rename to vendor/symfony-cmf/routing/Tests/Enhancer/RouteContentEnhancerTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Enhancer/RouteObject.php b/vendor/symfony-cmf/routing/Tests/Enhancer/RouteObject.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Enhancer/RouteObject.php
rename to vendor/symfony-cmf/routing/Tests/Enhancer/RouteObject.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/NestedMatcher/NestedMatcherTest.php b/vendor/symfony-cmf/routing/Tests/NestedMatcher/NestedMatcherTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/NestedMatcher/NestedMatcherTest.php
rename to vendor/symfony-cmf/routing/Tests/NestedMatcher/NestedMatcherTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php b/vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php
rename to vendor/symfony-cmf/routing/Tests/NestedMatcher/UrlMatcherTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php b/vendor/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/ChainRouterTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php b/vendor/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/ContentAwareGeneratorTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/DynamicRouterTest.php b/vendor/symfony-cmf/routing/Tests/Routing/DynamicRouterTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/DynamicRouterTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/DynamicRouterTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/LazyRouteCollectionTest.php b/vendor/symfony-cmf/routing/Tests/Routing/LazyRouteCollectionTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/LazyRouteCollectionTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/LazyRouteCollectionTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/PagedRouteCollectionTest.php b/vendor/symfony-cmf/routing/Tests/Routing/PagedRouteCollectionTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/PagedRouteCollectionTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/PagedRouteCollectionTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php b/vendor/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php
rename to vendor/symfony-cmf/routing/Tests/Routing/ProviderBasedGeneratorTest.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/Routing/RouteMock.php b/vendor/symfony-cmf/routing/Tests/Routing/RouteMock.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/Routing/RouteMock.php
rename to vendor/symfony-cmf/routing/Tests/Routing/RouteMock.php
diff --git a/core/vendor/symfony-cmf/routing/Tests/bootstrap.php b/vendor/symfony-cmf/routing/Tests/bootstrap.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/Tests/bootstrap.php
rename to vendor/symfony-cmf/routing/Tests/bootstrap.php
diff --git a/core/vendor/symfony-cmf/routing/VersatileGeneratorInterface.php b/vendor/symfony-cmf/routing/VersatileGeneratorInterface.php
similarity index 100%
rename from core/vendor/symfony-cmf/routing/VersatileGeneratorInterface.php
rename to vendor/symfony-cmf/routing/VersatileGeneratorInterface.php
diff --git a/core/vendor/symfony-cmf/routing/composer.json b/vendor/symfony-cmf/routing/composer.json
similarity index 100%
rename from core/vendor/symfony-cmf/routing/composer.json
rename to vendor/symfony-cmf/routing/composer.json
diff --git a/core/vendor/symfony-cmf/routing/phpunit.xml.dist b/vendor/symfony-cmf/routing/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony-cmf/routing/phpunit.xml.dist
rename to vendor/symfony-cmf/routing/phpunit.xml.dist
diff --git a/core/vendor/symfony/yaml/.gitignore b/vendor/symfony/browser-kit/.gitignore
similarity index 100%
rename from core/vendor/symfony/yaml/.gitignore
rename to vendor/symfony/browser-kit/.gitignore
diff --git a/core/vendor/symfony/browser-kit/CHANGELOG.md b/vendor/symfony/browser-kit/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/browser-kit/CHANGELOG.md
rename to vendor/symfony/browser-kit/CHANGELOG.md
diff --git a/core/vendor/symfony/browser-kit/Client.php b/vendor/symfony/browser-kit/Client.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Client.php
rename to vendor/symfony/browser-kit/Client.php
diff --git a/core/vendor/symfony/browser-kit/Cookie.php b/vendor/symfony/browser-kit/Cookie.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Cookie.php
rename to vendor/symfony/browser-kit/Cookie.php
diff --git a/core/vendor/symfony/browser-kit/CookieJar.php b/vendor/symfony/browser-kit/CookieJar.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/CookieJar.php
rename to vendor/symfony/browser-kit/CookieJar.php
diff --git a/core/vendor/symfony/browser-kit/History.php b/vendor/symfony/browser-kit/History.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/History.php
rename to vendor/symfony/browser-kit/History.php
diff --git a/core/vendor/symfony/yaml/LICENSE b/vendor/symfony/browser-kit/LICENSE
similarity index 100%
rename from core/vendor/symfony/yaml/LICENSE
rename to vendor/symfony/browser-kit/LICENSE
diff --git a/core/vendor/symfony/browser-kit/README.md b/vendor/symfony/browser-kit/README.md
similarity index 100%
rename from core/vendor/symfony/browser-kit/README.md
rename to vendor/symfony/browser-kit/README.md
diff --git a/core/vendor/symfony/browser-kit/Request.php b/vendor/symfony/browser-kit/Request.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Request.php
rename to vendor/symfony/browser-kit/Request.php
diff --git a/core/vendor/symfony/browser-kit/Response.php b/vendor/symfony/browser-kit/Response.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Response.php
rename to vendor/symfony/browser-kit/Response.php
diff --git a/core/vendor/symfony/browser-kit/Tests/ClientTest.php b/vendor/symfony/browser-kit/Tests/ClientTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/ClientTest.php
rename to vendor/symfony/browser-kit/Tests/ClientTest.php
diff --git a/core/vendor/symfony/browser-kit/Tests/CookieJarTest.php b/vendor/symfony/browser-kit/Tests/CookieJarTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/CookieJarTest.php
rename to vendor/symfony/browser-kit/Tests/CookieJarTest.php
diff --git a/core/vendor/symfony/browser-kit/Tests/CookieTest.php b/vendor/symfony/browser-kit/Tests/CookieTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/CookieTest.php
rename to vendor/symfony/browser-kit/Tests/CookieTest.php
diff --git a/core/vendor/symfony/browser-kit/Tests/HistoryTest.php b/vendor/symfony/browser-kit/Tests/HistoryTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/HistoryTest.php
rename to vendor/symfony/browser-kit/Tests/HistoryTest.php
diff --git a/core/vendor/symfony/browser-kit/Tests/RequestTest.php b/vendor/symfony/browser-kit/Tests/RequestTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/RequestTest.php
rename to vendor/symfony/browser-kit/Tests/RequestTest.php
diff --git a/core/vendor/symfony/browser-kit/Tests/ResponseTest.php b/vendor/symfony/browser-kit/Tests/ResponseTest.php
similarity index 100%
rename from core/vendor/symfony/browser-kit/Tests/ResponseTest.php
rename to vendor/symfony/browser-kit/Tests/ResponseTest.php
diff --git a/core/vendor/symfony/browser-kit/composer.json b/vendor/symfony/browser-kit/composer.json
similarity index 100%
rename from core/vendor/symfony/browser-kit/composer.json
rename to vendor/symfony/browser-kit/composer.json
diff --git a/core/vendor/symfony/browser-kit/phpunit.xml.dist b/vendor/symfony/browser-kit/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/browser-kit/phpunit.xml.dist
rename to vendor/symfony/browser-kit/phpunit.xml.dist
diff --git a/core/vendor/symfony/validator/.gitignore b/vendor/symfony/class-loader/.gitignore
similarity index 100%
rename from core/vendor/symfony/validator/.gitignore
rename to vendor/symfony/class-loader/.gitignore
diff --git a/core/vendor/symfony/class-loader/ApcClassLoader.php b/vendor/symfony/class-loader/ApcClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/ApcClassLoader.php
rename to vendor/symfony/class-loader/ApcClassLoader.php
diff --git a/core/vendor/symfony/class-loader/ApcUniversalClassLoader.php b/vendor/symfony/class-loader/ApcUniversalClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/ApcUniversalClassLoader.php
rename to vendor/symfony/class-loader/ApcUniversalClassLoader.php
diff --git a/core/vendor/symfony/class-loader/CHANGELOG.md b/vendor/symfony/class-loader/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/class-loader/CHANGELOG.md
rename to vendor/symfony/class-loader/CHANGELOG.md
diff --git a/core/vendor/symfony/class-loader/ClassCollectionLoader.php b/vendor/symfony/class-loader/ClassCollectionLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/ClassCollectionLoader.php
rename to vendor/symfony/class-loader/ClassCollectionLoader.php
diff --git a/core/vendor/symfony/class-loader/ClassLoader.php b/vendor/symfony/class-loader/ClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/ClassLoader.php
rename to vendor/symfony/class-loader/ClassLoader.php
diff --git a/core/vendor/symfony/class-loader/ClassMapGenerator.php b/vendor/symfony/class-loader/ClassMapGenerator.php
similarity index 100%
rename from core/vendor/symfony/class-loader/ClassMapGenerator.php
rename to vendor/symfony/class-loader/ClassMapGenerator.php
diff --git a/core/vendor/symfony/class-loader/DebugClassLoader.php b/vendor/symfony/class-loader/DebugClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/DebugClassLoader.php
rename to vendor/symfony/class-loader/DebugClassLoader.php
diff --git a/core/vendor/symfony/class-loader/DebugUniversalClassLoader.php b/vendor/symfony/class-loader/DebugUniversalClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/DebugUniversalClassLoader.php
rename to vendor/symfony/class-loader/DebugUniversalClassLoader.php
diff --git a/core/vendor/symfony/validator/LICENSE b/vendor/symfony/class-loader/LICENSE
similarity index 100%
rename from core/vendor/symfony/validator/LICENSE
rename to vendor/symfony/class-loader/LICENSE
diff --git a/core/vendor/symfony/class-loader/MapClassLoader.php b/vendor/symfony/class-loader/MapClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/MapClassLoader.php
rename to vendor/symfony/class-loader/MapClassLoader.php
diff --git a/core/vendor/symfony/class-loader/Psr4ClassLoader.php b/vendor/symfony/class-loader/Psr4ClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Psr4ClassLoader.php
rename to vendor/symfony/class-loader/Psr4ClassLoader.php
diff --git a/core/vendor/symfony/class-loader/README.md b/vendor/symfony/class-loader/README.md
similarity index 100%
rename from core/vendor/symfony/class-loader/README.md
rename to vendor/symfony/class-loader/README.md
diff --git a/core/vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php b/vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php
rename to vendor/symfony/class-loader/Tests/ClassCollectionLoaderTest.php
diff --git a/core/vendor/symfony/class-loader/Tests/ClassLoaderTest.php b/vendor/symfony/class-loader/Tests/ClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/ClassLoaderTest.php
rename to vendor/symfony/class-loader/Tests/ClassLoaderTest.php
diff --git a/core/vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php b/vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php
rename to vendor/symfony/class-loader/Tests/ClassMapGeneratorTest.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/Pearlike/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/ApcPrefixCollision/A/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/alpha/Apc/NamespaceCollision/A/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/ApcPrefixCollision/A/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/beta/Apc/NamespaceCollision/A/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Apc/Pearlike/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Apc/Namespaced/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Apc/fallback/Namespaced/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/A.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/ATrait.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/B.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/BTrait.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CInterface.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/CTrait.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/D.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/E.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/F.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/G.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php b/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php
rename to vendor/symfony/class-loader/Tests/Fixtures/ClassesWithParents/GInterface.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced/WithComments.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Namespaced2/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike/WithComments.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Baz.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/Pearlike2/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/A/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/NamespaceCollision/C/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/A/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/alpha/PrefixCollision/C/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/A/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/NamespaceCollision/C/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/A/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Bar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/beta/PrefixCollision/C/B/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeClass.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeInterface.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/SomeParent.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/multipleNs.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/notAClass.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md b/vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/notPhpFile.md
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php b/vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
rename to vendor/symfony/class-loader/Tests/Fixtures/classmap/sameNsMultipleClasses.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php b/vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php
rename to vendor/symfony/class-loader/Tests/Fixtures/deps/traits.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/fallback/Namespaced2/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php b/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
rename to vendor/symfony/class-loader/Tests/Fixtures/fallback/Pearlike2/FooBar.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/includepath/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php b/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php
rename to vendor/symfony/class-loader/Tests/Fixtures/php5.4/traits.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/php5.5/class_cons.php b/vendor/symfony/class-loader/Tests/Fixtures/php5.5/class_cons.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/php5.5/class_cons.php
rename to vendor/symfony/class-loader/Tests/Fixtures/php5.5/class_cons.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php b/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php
rename to vendor/symfony/class-loader/Tests/Fixtures/psr-4/Class_With_Underscores.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/psr-4/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php b/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php
rename to vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Class_With_Underscores.php
diff --git a/core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php b/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php
rename to vendor/symfony/class-loader/Tests/Fixtures/psr-4/Lets/Go/Deeper/Foo.php
diff --git a/core/vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php b/vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php
rename to vendor/symfony/class-loader/Tests/LegacyApcUniversalClassLoaderTest.php
diff --git a/core/vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php b/vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php
rename to vendor/symfony/class-loader/Tests/LegacyUniversalClassLoaderTest.php
diff --git a/core/vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php b/vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php
rename to vendor/symfony/class-loader/Tests/Psr4ClassLoaderTest.php
diff --git a/core/vendor/symfony/class-loader/UniversalClassLoader.php b/vendor/symfony/class-loader/UniversalClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/UniversalClassLoader.php
rename to vendor/symfony/class-loader/UniversalClassLoader.php
diff --git a/core/vendor/symfony/class-loader/WinCacheClassLoader.php b/vendor/symfony/class-loader/WinCacheClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/WinCacheClassLoader.php
rename to vendor/symfony/class-loader/WinCacheClassLoader.php
diff --git a/core/vendor/symfony/class-loader/XcacheClassLoader.php b/vendor/symfony/class-loader/XcacheClassLoader.php
similarity index 100%
rename from core/vendor/symfony/class-loader/XcacheClassLoader.php
rename to vendor/symfony/class-loader/XcacheClassLoader.php
diff --git a/core/vendor/symfony/class-loader/composer.json b/vendor/symfony/class-loader/composer.json
similarity index 100%
rename from core/vendor/symfony/class-loader/composer.json
rename to vendor/symfony/class-loader/composer.json
diff --git a/core/vendor/symfony/class-loader/phpunit.xml.dist b/vendor/symfony/class-loader/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/class-loader/phpunit.xml.dist
rename to vendor/symfony/class-loader/phpunit.xml.dist
diff --git a/core/vendor/symfony/translation/.gitignore b/vendor/symfony/console/.gitignore
similarity index 100%
rename from core/vendor/symfony/translation/.gitignore
rename to vendor/symfony/console/.gitignore
diff --git a/core/vendor/symfony/console/Application.php b/vendor/symfony/console/Application.php
similarity index 100%
rename from core/vendor/symfony/console/Application.php
rename to vendor/symfony/console/Application.php
diff --git a/core/vendor/symfony/console/CHANGELOG.md b/vendor/symfony/console/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/console/CHANGELOG.md
rename to vendor/symfony/console/CHANGELOG.md
diff --git a/core/vendor/symfony/console/Command/Command.php b/vendor/symfony/console/Command/Command.php
similarity index 100%
rename from core/vendor/symfony/console/Command/Command.php
rename to vendor/symfony/console/Command/Command.php
diff --git a/core/vendor/symfony/console/Command/HelpCommand.php b/vendor/symfony/console/Command/HelpCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Command/HelpCommand.php
rename to vendor/symfony/console/Command/HelpCommand.php
diff --git a/core/vendor/symfony/console/Command/ListCommand.php b/vendor/symfony/console/Command/ListCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Command/ListCommand.php
rename to vendor/symfony/console/Command/ListCommand.php
diff --git a/core/vendor/symfony/console/ConsoleEvents.php b/vendor/symfony/console/ConsoleEvents.php
similarity index 100%
rename from core/vendor/symfony/console/ConsoleEvents.php
rename to vendor/symfony/console/ConsoleEvents.php
diff --git a/core/vendor/symfony/console/Descriptor/ApplicationDescription.php b/vendor/symfony/console/Descriptor/ApplicationDescription.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/ApplicationDescription.php
rename to vendor/symfony/console/Descriptor/ApplicationDescription.php
diff --git a/core/vendor/symfony/console/Descriptor/Descriptor.php b/vendor/symfony/console/Descriptor/Descriptor.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/Descriptor.php
rename to vendor/symfony/console/Descriptor/Descriptor.php
diff --git a/core/vendor/symfony/console/Descriptor/DescriptorInterface.php b/vendor/symfony/console/Descriptor/DescriptorInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/DescriptorInterface.php
rename to vendor/symfony/console/Descriptor/DescriptorInterface.php
diff --git a/core/vendor/symfony/console/Descriptor/JsonDescriptor.php b/vendor/symfony/console/Descriptor/JsonDescriptor.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/JsonDescriptor.php
rename to vendor/symfony/console/Descriptor/JsonDescriptor.php
diff --git a/core/vendor/symfony/console/Descriptor/MarkdownDescriptor.php b/vendor/symfony/console/Descriptor/MarkdownDescriptor.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/MarkdownDescriptor.php
rename to vendor/symfony/console/Descriptor/MarkdownDescriptor.php
diff --git a/core/vendor/symfony/console/Descriptor/TextDescriptor.php b/vendor/symfony/console/Descriptor/TextDescriptor.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/TextDescriptor.php
rename to vendor/symfony/console/Descriptor/TextDescriptor.php
diff --git a/core/vendor/symfony/console/Descriptor/XmlDescriptor.php b/vendor/symfony/console/Descriptor/XmlDescriptor.php
similarity index 100%
rename from core/vendor/symfony/console/Descriptor/XmlDescriptor.php
rename to vendor/symfony/console/Descriptor/XmlDescriptor.php
diff --git a/core/vendor/symfony/console/Event/ConsoleCommandEvent.php b/vendor/symfony/console/Event/ConsoleCommandEvent.php
similarity index 100%
rename from core/vendor/symfony/console/Event/ConsoleCommandEvent.php
rename to vendor/symfony/console/Event/ConsoleCommandEvent.php
diff --git a/core/vendor/symfony/console/Event/ConsoleEvent.php b/vendor/symfony/console/Event/ConsoleEvent.php
similarity index 100%
rename from core/vendor/symfony/console/Event/ConsoleEvent.php
rename to vendor/symfony/console/Event/ConsoleEvent.php
diff --git a/core/vendor/symfony/console/Event/ConsoleExceptionEvent.php b/vendor/symfony/console/Event/ConsoleExceptionEvent.php
similarity index 100%
rename from core/vendor/symfony/console/Event/ConsoleExceptionEvent.php
rename to vendor/symfony/console/Event/ConsoleExceptionEvent.php
diff --git a/core/vendor/symfony/console/Event/ConsoleTerminateEvent.php b/vendor/symfony/console/Event/ConsoleTerminateEvent.php
similarity index 100%
rename from core/vendor/symfony/console/Event/ConsoleTerminateEvent.php
rename to vendor/symfony/console/Event/ConsoleTerminateEvent.php
diff --git a/core/vendor/symfony/console/Formatter/OutputFormatter.php b/vendor/symfony/console/Formatter/OutputFormatter.php
similarity index 100%
rename from core/vendor/symfony/console/Formatter/OutputFormatter.php
rename to vendor/symfony/console/Formatter/OutputFormatter.php
diff --git a/core/vendor/symfony/console/Formatter/OutputFormatterInterface.php b/vendor/symfony/console/Formatter/OutputFormatterInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Formatter/OutputFormatterInterface.php
rename to vendor/symfony/console/Formatter/OutputFormatterInterface.php
diff --git a/core/vendor/symfony/console/Formatter/OutputFormatterStyle.php b/vendor/symfony/console/Formatter/OutputFormatterStyle.php
similarity index 100%
rename from core/vendor/symfony/console/Formatter/OutputFormatterStyle.php
rename to vendor/symfony/console/Formatter/OutputFormatterStyle.php
diff --git a/core/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php b/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php
rename to vendor/symfony/console/Formatter/OutputFormatterStyleInterface.php
diff --git a/core/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php b/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php
similarity index 100%
rename from core/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php
rename to vendor/symfony/console/Formatter/OutputFormatterStyleStack.php
diff --git a/core/vendor/symfony/console/Helper/DebugFormatterHelper.php b/vendor/symfony/console/Helper/DebugFormatterHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/DebugFormatterHelper.php
rename to vendor/symfony/console/Helper/DebugFormatterHelper.php
diff --git a/core/vendor/symfony/console/Helper/DescriptorHelper.php b/vendor/symfony/console/Helper/DescriptorHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/DescriptorHelper.php
rename to vendor/symfony/console/Helper/DescriptorHelper.php
diff --git a/core/vendor/symfony/console/Helper/DialogHelper.php b/vendor/symfony/console/Helper/DialogHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/DialogHelper.php
rename to vendor/symfony/console/Helper/DialogHelper.php
diff --git a/core/vendor/symfony/console/Helper/FormatterHelper.php b/vendor/symfony/console/Helper/FormatterHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/FormatterHelper.php
rename to vendor/symfony/console/Helper/FormatterHelper.php
diff --git a/core/vendor/symfony/console/Helper/Helper.php b/vendor/symfony/console/Helper/Helper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/Helper.php
rename to vendor/symfony/console/Helper/Helper.php
diff --git a/core/vendor/symfony/console/Helper/HelperInterface.php b/vendor/symfony/console/Helper/HelperInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/HelperInterface.php
rename to vendor/symfony/console/Helper/HelperInterface.php
diff --git a/core/vendor/symfony/console/Helper/HelperSet.php b/vendor/symfony/console/Helper/HelperSet.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/HelperSet.php
rename to vendor/symfony/console/Helper/HelperSet.php
diff --git a/core/vendor/symfony/console/Helper/InputAwareHelper.php b/vendor/symfony/console/Helper/InputAwareHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/InputAwareHelper.php
rename to vendor/symfony/console/Helper/InputAwareHelper.php
diff --git a/core/vendor/symfony/console/Helper/ProcessHelper.php b/vendor/symfony/console/Helper/ProcessHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/ProcessHelper.php
rename to vendor/symfony/console/Helper/ProcessHelper.php
diff --git a/core/vendor/symfony/console/Helper/ProgressBar.php b/vendor/symfony/console/Helper/ProgressBar.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/ProgressBar.php
rename to vendor/symfony/console/Helper/ProgressBar.php
diff --git a/core/vendor/symfony/console/Helper/ProgressHelper.php b/vendor/symfony/console/Helper/ProgressHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/ProgressHelper.php
rename to vendor/symfony/console/Helper/ProgressHelper.php
diff --git a/core/vendor/symfony/console/Helper/QuestionHelper.php b/vendor/symfony/console/Helper/QuestionHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/QuestionHelper.php
rename to vendor/symfony/console/Helper/QuestionHelper.php
diff --git a/core/vendor/symfony/console/Helper/SymfonyQuestionHelper.php b/vendor/symfony/console/Helper/SymfonyQuestionHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/SymfonyQuestionHelper.php
rename to vendor/symfony/console/Helper/SymfonyQuestionHelper.php
diff --git a/core/vendor/symfony/console/Helper/Table.php b/vendor/symfony/console/Helper/Table.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/Table.php
rename to vendor/symfony/console/Helper/Table.php
diff --git a/core/vendor/symfony/console/Helper/TableCell.php b/vendor/symfony/console/Helper/TableCell.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/TableCell.php
rename to vendor/symfony/console/Helper/TableCell.php
diff --git a/core/vendor/symfony/console/Helper/TableHelper.php b/vendor/symfony/console/Helper/TableHelper.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/TableHelper.php
rename to vendor/symfony/console/Helper/TableHelper.php
diff --git a/core/vendor/symfony/console/Helper/TableSeparator.php b/vendor/symfony/console/Helper/TableSeparator.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/TableSeparator.php
rename to vendor/symfony/console/Helper/TableSeparator.php
diff --git a/core/vendor/symfony/console/Helper/TableStyle.php b/vendor/symfony/console/Helper/TableStyle.php
similarity index 100%
rename from core/vendor/symfony/console/Helper/TableStyle.php
rename to vendor/symfony/console/Helper/TableStyle.php
diff --git a/core/vendor/symfony/console/Input/ArgvInput.php b/vendor/symfony/console/Input/ArgvInput.php
similarity index 100%
rename from core/vendor/symfony/console/Input/ArgvInput.php
rename to vendor/symfony/console/Input/ArgvInput.php
diff --git a/core/vendor/symfony/console/Input/ArrayInput.php b/vendor/symfony/console/Input/ArrayInput.php
similarity index 100%
rename from core/vendor/symfony/console/Input/ArrayInput.php
rename to vendor/symfony/console/Input/ArrayInput.php
diff --git a/core/vendor/symfony/console/Input/Input.php b/vendor/symfony/console/Input/Input.php
similarity index 100%
rename from core/vendor/symfony/console/Input/Input.php
rename to vendor/symfony/console/Input/Input.php
diff --git a/core/vendor/symfony/console/Input/InputArgument.php b/vendor/symfony/console/Input/InputArgument.php
similarity index 100%
rename from core/vendor/symfony/console/Input/InputArgument.php
rename to vendor/symfony/console/Input/InputArgument.php
diff --git a/core/vendor/symfony/console/Input/InputAwareInterface.php b/vendor/symfony/console/Input/InputAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Input/InputAwareInterface.php
rename to vendor/symfony/console/Input/InputAwareInterface.php
diff --git a/core/vendor/symfony/console/Input/InputDefinition.php b/vendor/symfony/console/Input/InputDefinition.php
similarity index 100%
rename from core/vendor/symfony/console/Input/InputDefinition.php
rename to vendor/symfony/console/Input/InputDefinition.php
diff --git a/core/vendor/symfony/console/Input/InputInterface.php b/vendor/symfony/console/Input/InputInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Input/InputInterface.php
rename to vendor/symfony/console/Input/InputInterface.php
diff --git a/core/vendor/symfony/console/Input/InputOption.php b/vendor/symfony/console/Input/InputOption.php
similarity index 100%
rename from core/vendor/symfony/console/Input/InputOption.php
rename to vendor/symfony/console/Input/InputOption.php
diff --git a/core/vendor/symfony/console/Input/StringInput.php b/vendor/symfony/console/Input/StringInput.php
similarity index 100%
rename from core/vendor/symfony/console/Input/StringInput.php
rename to vendor/symfony/console/Input/StringInput.php
diff --git a/core/vendor/symfony/translation/LICENSE b/vendor/symfony/console/LICENSE
similarity index 100%
rename from core/vendor/symfony/translation/LICENSE
rename to vendor/symfony/console/LICENSE
diff --git a/core/vendor/symfony/console/Logger/ConsoleLogger.php b/vendor/symfony/console/Logger/ConsoleLogger.php
similarity index 100%
rename from core/vendor/symfony/console/Logger/ConsoleLogger.php
rename to vendor/symfony/console/Logger/ConsoleLogger.php
diff --git a/core/vendor/symfony/console/Output/BufferedOutput.php b/vendor/symfony/console/Output/BufferedOutput.php
similarity index 100%
rename from core/vendor/symfony/console/Output/BufferedOutput.php
rename to vendor/symfony/console/Output/BufferedOutput.php
diff --git a/core/vendor/symfony/console/Output/ConsoleOutput.php b/vendor/symfony/console/Output/ConsoleOutput.php
similarity index 100%
rename from core/vendor/symfony/console/Output/ConsoleOutput.php
rename to vendor/symfony/console/Output/ConsoleOutput.php
diff --git a/core/vendor/symfony/console/Output/ConsoleOutputInterface.php b/vendor/symfony/console/Output/ConsoleOutputInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Output/ConsoleOutputInterface.php
rename to vendor/symfony/console/Output/ConsoleOutputInterface.php
diff --git a/core/vendor/symfony/console/Output/NullOutput.php b/vendor/symfony/console/Output/NullOutput.php
similarity index 100%
rename from core/vendor/symfony/console/Output/NullOutput.php
rename to vendor/symfony/console/Output/NullOutput.php
diff --git a/core/vendor/symfony/console/Output/Output.php b/vendor/symfony/console/Output/Output.php
similarity index 100%
rename from core/vendor/symfony/console/Output/Output.php
rename to vendor/symfony/console/Output/Output.php
diff --git a/core/vendor/symfony/console/Output/OutputInterface.php b/vendor/symfony/console/Output/OutputInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Output/OutputInterface.php
rename to vendor/symfony/console/Output/OutputInterface.php
diff --git a/core/vendor/symfony/console/Output/StreamOutput.php b/vendor/symfony/console/Output/StreamOutput.php
similarity index 100%
rename from core/vendor/symfony/console/Output/StreamOutput.php
rename to vendor/symfony/console/Output/StreamOutput.php
diff --git a/core/vendor/symfony/console/Question/ChoiceQuestion.php b/vendor/symfony/console/Question/ChoiceQuestion.php
similarity index 100%
rename from core/vendor/symfony/console/Question/ChoiceQuestion.php
rename to vendor/symfony/console/Question/ChoiceQuestion.php
diff --git a/core/vendor/symfony/console/Question/ConfirmationQuestion.php b/vendor/symfony/console/Question/ConfirmationQuestion.php
similarity index 100%
rename from core/vendor/symfony/console/Question/ConfirmationQuestion.php
rename to vendor/symfony/console/Question/ConfirmationQuestion.php
diff --git a/core/vendor/symfony/console/Question/Question.php b/vendor/symfony/console/Question/Question.php
similarity index 100%
rename from core/vendor/symfony/console/Question/Question.php
rename to vendor/symfony/console/Question/Question.php
diff --git a/core/vendor/symfony/console/README.md b/vendor/symfony/console/README.md
similarity index 100%
rename from core/vendor/symfony/console/README.md
rename to vendor/symfony/console/README.md
diff --git a/vendor/symfony/console/Resources/bin/hiddeninput.exe b/vendor/symfony/console/Resources/bin/hiddeninput.exe
new file mode 100644
index 0000000..c8cf65e
--- /dev/null
+++ b/vendor/symfony/console/Resources/bin/hiddeninput.exe
@@ -0,0 +1,21 @@
+MZ       ÿÿ  ¸       @                                   è   º ´	Í!¸LÍ!This program cannot be run in DOS mode.
+$       Æ,Í;§Bž;§Bž;§Bž2ß×ž:§Bž2ßÁž-§Bž2ßÆž9§Bž2ßÑž?§Bža9ž8§Bž;§Cž§Bž2ßÈž:§Bž2ßÖž:§Bž2ßÓž:§BžRich;§Bž        PE  L ¬MoO        à 	  
+         8           @                      `     ?œ   @                           "  P    @                      P  p   !                             8!  @               Ø                           .text   	      
+                    `.rdata  Î	       
+                 @  @.data      0                    @  À.rsrc       @                    @  @.reloc  Ì   P      "              @  B                                                                                                                                                                                                                                                                                                                                                        j$¸æ@ èx  jöÿ @ ƒeÐ ‹ðEÐPVÿ  @ ‹EÐƒàûPVÿ @ MÔÿX @ ƒeü EÔPÿ5H @ ÿL @ YYÿ5\ @ EÔPÿ5` @ ÿD @ YY‹ÈÿP @ ƒMüÿMÔÿT @ 3ÀèH  Ã; 0@ uóÃé¬  h€@ è£  ¡l3@ Ç$40@ ÿ5h3@ £40@ h$0@ h(0@ h 0@ ÿ  @ ƒÄ£00@ …À}jè¹  YÃjh"@ è  3Û‰]üd¡   ‹p‰]ä¿€3@ SVWÿ0 @ ;Ãt;Æu3öF‰uäëhè  ÿ4 @ ëÚ3öF¡|3@ ;Æu
+jè\  Yë;¡|3@ …Àu,‰5|3@ hð @ hä @ è§  YY…ÀtÇEüþÿÿÿ¸ÿ   éÝ   ‰5<0@ ¡|3@ ;Æuhà @ hØ @ èl  YYÇ|3@    9]äuSWÿ8 @ 9Œ3@ thŒ3@ èƒ  Y…Àt
+SjSÿŒ3@ ¡$0@ ‹¼ @ ‰ÿ5$0@ ÿ5(0@ ÿ5 0@ èþÿÿƒÄ£80@ 9,0@ u7PÿÀ @ ‹Eì‹‹	‰MàPQèŽ  YYÃ‹eè‹Eà£80@ 3Û9,0@ uPÿh @ 9<0@ uÿœ @ ÇEüþÿÿÿ¡80@ èû  Ã¸MZ  f9  @ t3ÀëM¡< @ €  @ 8PE  ué·Hù  tù  uÕƒ¸„   vÌ3É9ˆø   ëƒxtv¼3É9ˆè   •Á‹Áj£,0@ ÿp @ jÿÿl @ YY£„3@ £ˆ3@ ÿÌ @ ‹t3@ ‰ÿˆ @ ‹p3@ ‰¡¨ @ ‹ £x3@ èV  è¬  ƒ=0@  uhµ@ ÿ¬ @ Yèg  ƒ=0@ ÿu	jÿÿ° @ Y3ÀÃè{  éŸýÿÿ‹ÿU‹ìì(  £H1@ ‰D1@ ‰@1@ ‰<1@ ‰581@ ‰=41@ fŒ`1@ fŒT1@ fŒ01@ fŒ,1@ fŒ%(1@ fŒ-$1@ œX1@ ‹E £L1@ ‹E£P1@ E£\1@ ‹…àüÿÿÇ˜0@   ¡P1@ £L0@ Ç@0@ 	 ÀÇD0@    ¡ 0@ ‰…Øüÿÿ¡0@ ‰…Üüÿÿÿ @ £0@ jè?  Yj ÿ  @ h!@ ÿ$ @ ƒ=0@  ujè  Yh	 Àÿ( @ Pÿ, @ ÉÃ‹ÿU‹ì‹E‹ 8csmàu*ƒxu$‹@= “t=!“t="“t= @™uèÐ  3À]Â hH@ ÿ  @ 3ÀÃÿ%¤ @ jh("@ èb  ÿ5ˆ3@ ‹5Œ @ ÿÖY‰EäƒøÿuÿuÿÄ @ Yëgjè’  Yƒeü ÿ5ˆ3@ ÿÖ‰Eäÿ5„3@ ÿÖYY‰EàEàPEäPÿu‹5l @ ÿÖYPèU  ‰EÜÿuäÿÖ£ˆ3@ ÿuàÿÖƒÄ£„3@ ÇEüþÿÿÿè	   ‹EÜè  Ãjè  YÃ‹ÿU‹ìÿuèNÿÿÿ÷ØÀ÷ØYH]Ã‹ÿV¸ü!@ ¾ü!@ W‹ø;Æs‹…ÀtÿÐƒÇ;þrñ_^Ã‹ÿV¸"@ ¾"@ W‹ø;Æs‹…ÀtÿÐƒÇ;þrñ_^Ãÿ%È @ ÌÌÌÌ‹ÿU‹ì‹M¸MZ  f9t3À]Ã‹A<Á8PE  uï3Ò¹  f9H”Â‹Â]ÃÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ì‹E‹H<È·ASV·q3ÒWD…öv‹}‹H;ùr	‹XÙ;ûr
+BƒÀ(;Örè3À_^[]ÃÌÌÌÌÌÌÌÌÌÌÌÌ‹ÿU‹ìjþhH"@ he@ d¡    PƒìSVW¡ 0@ 1Eø3ÅPEðd£    ‰eèÇEü    h  @ è*ÿÿÿƒÄ…ÀtU‹E-  @ Ph  @ èPÿÿÿƒÄ…Àt;‹@$Áè÷ÐƒàÇEüþÿÿÿ‹Mðd‰    Y_^[‹å]Ã‹Eì‹‹3Ò=  À”Â‹ÂÃ‹eèÇEüþÿÿÿ3À‹Mðd‰    Y_^[‹å]ÃÌÿ%¸ @ ÿ%´ @ ÌÌhe@ dÿ5    ‹D$‰l$l$+àSVW¡ 0@ 1Eü3ÅP‰eèÿuø‹EüÇEüþÿÿÿ‰EøEðd£    Ã‹Mðd‰    Y__^[‹å]QÃ‹ÿU‹ìÿuÿuÿuÿuh‡@ h 0@ èç   ƒÄ]Ã‹ÿVh   h   3öVèÙ   ƒÄ…ÀtVVVVVèÂ   ƒÄ^Ã3ÀÃ‹ÿU‹ìƒì¡ 0@ ƒeø ƒeü SW¿Næ@»»  ÿÿ;Çt…Ãt	÷Ð£0@ ë`VEøPÿ< @ ‹uü3uøÿ @ 3ðÿ @ 3ðÿ @ 3ðEðPÿ @ ‹Eô3Eð3ð;÷u¾Oæ@»ë…óu‹ÆÁàð‰5 0@ ÷Ö‰50@ ^_[ÉÃÿ%t @ ÿ%x @ ÿ%| @ ÿ%€ @ ÿ%„ @ ÿ% @ ÿ%” @ ÿ%˜ @ ÿ%Ð @ Pdÿ5    D$+d$SVW‰(‹è¡ 0@ 3ÅP‰EðÿuüÇEüÿÿÿÿEôd£    Ã‹Môd‰    Y__^[‹å]QÃ‹Mð3Íè¯÷ÿÿéÝÿÿÿMÔÿ%T @ ‹T$B‹JÌ3Èè÷ÿÿ‹Jü3Èè†÷ÿÿ¸l"@ ésÿÿÿ                                                                                                                                                                                                                                                     ¸#  Ê#  Ü#  ˆ)  r)  b)  H)  4)  )  ú(  æ(  Ò(  ´(  ¬(  –(  ž)      ú#  à$  %  Ê%  &  d&  ®&  ¤$      ('  Ä'  Ö'  è'  þ'  (  ((  6(  ¦'  H(  Z(  t(  †(  '  '   '  –'  ‚'  l'  ^'  R'  F'  >'  >(  0'  ¶'  ¸)          –@         W@ Š@                     ¬MoO       l   €!  €  @0@ ˜0@ bad allocation      H                                                            0@ ð!@    RSDSÑŒ³´J¨!öÌëLZ    c:\users\seld\documents\visual studio 2010\Projects\hiddeninp\Release\hiddeninp.pdb     e  æ                  þÿÿÿ    Ðÿÿÿ    þÿÿÿ@ @     þÿÿÿ    Ìÿÿÿ    þÿÿÿ    :@     þÿÿÿ    Øÿÿÿ    þÿÿÿË@ ß@ ÿÿÿÿÝ@ "“   d"@                        à"          ì#      $#          ô&  D   H#          (  h                       ¸#  Ê#  Ü#  ˆ)  r)  b)  H)  4)  )  ú(  æ(  Ò(  ´(  ¬(  –(  ž)      ú#  à$  %  Ê%  &  d&  ®&  ¤$      ('  Ä'  Ö'  è'  þ'  (  ((  6(  ¦'  H(  Z(  t(  †(  '  '   '  –'  ‚'  l'  ^'  R'  F'  >'  >(  0'  ¶'  ¸)      •GetConsoleMode  ·SetConsoleMode  ;GetStdHandle  KERNEL32.dll   ??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ‘?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A  J?cin@std@@3V?$basic_istream@DU?$char_traits@D@std@@@1@A Â ??$getline@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z  _??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ  {??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ  ³?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z  MSVCP90.dll _amsg_exit  Ÿ __getmainargs ,_cexit  |_exit f _XcptFilter Ìexit    __initenv _initterm _initterm_e <_configthreadlocale ã __setusermatherr  _adjust_fdiv  Ë __p__commode  Ï __p__fmode  j_encode_pointer à __set_app_type  K_crt_debugger_hook  C ?terminate@@YAXXZ MSVCR90.dll æ_unlock – __dllonexit v_lock _onexit `_decode_pointer s_except_handler4_common _invoke_watson  ?_controlfp_s  ½InterlockedExchange !Sleep ºInterlockedCompareExchange  -TerminateProcess  ©GetCurrentProcess >UnhandledExceptionFilter  SetUnhandledExceptionFilter ÑIsDebuggerPresent TQueryPerformanceCounter fGetTickCount  ­GetCurrentThreadId  ªGetCurrentProcessId OGetSystemTimeAsFileTime s __CxxFrameHandler3                                                    Næ@»±¿Dÿÿÿÿÿÿÿÿþÿÿÿ   $!@                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         €   8  €                 P  €                 h  €              	  €                 	      @  (  ä      ÈC  V  ä      (4   V S _ V E R S I O N _ I N F O     ½ïþ                                          †   S t r i n g F i l e I n f o   b   0 4 0 9 0 4 b 0   Ê Q  F i l e D e s c r i p t i o n     R e a d s   f r o m   s t d i n   w i t h o u t   l e a k i n g   i n f o   t o   t h e   t e r m i n a l   a n d   o u t p u t s   b a c k   t o   s t d o u t     6   F i l e V e r s i o n     1 ,   0 ,   0 ,   0     8   I n t e r n a l N a m e   h i d d e n i n p u t   P   L e g a l C o p y r i g h t   J o r d i   B o g g i a n o   -   2 0 1 2   H   O r i g i n a l F i l e n a m e   h i d d e n i n p u t . e x e   :   P r o d u c t N a m e     H i d d e n   I n p u t     :   P r o d u c t V e r s i o n   1 ,   0 ,   0 ,   0     D    V a r F i l e I n f o     $    T r a n s l a t i o n     	°<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+    <security>
+      <requestedPrivileges>
+        <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
+      </requestedPrivileges>
+    </security>
+  </trustInfo>
+  <dependency>
+    <dependentAssembly>
+      <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
+    </dependentAssembly>
+  </dependency>
+</assembly>PAPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDING   @  00!0/080F0L0T0^0d0n0{0‰0—0¡0¨0®0³0¸0½0Â0È0Ð0ä0ÿ01#1-1@1J1O1T1v1{1„1‰1–1§1­1´1È1Í1Ó1Û1á1ç1ô1ú12"2*23292A2M2_2j2p2¹2¿2Ç2Î2Ó2Ù2ß2ç2í2ô2û2333%303N3T3Z3`3f3l3s3z33ˆ33–33¥3­3µ3Á3Ê3Ï3Õ3ß3è3ó3ÿ34444%4;4B4‹4‘4š4¡4¬4²4Æ4Û4æ4þ45!5^5c5„5‰5¨5H6M6_6}6‘6—6 777*7w7|7Á7ä7ñ7ý7888=8E8P8V8\8b8h8n8t8z8€8œ8â89      $   Ü0è0ì01 1t1x12 2@2\2`2h2t2 0     0                                                                                                                                                  
\ No newline at end of file
diff --git a/core/vendor/symfony/console/Shell.php b/vendor/symfony/console/Shell.php
similarity index 100%
rename from core/vendor/symfony/console/Shell.php
rename to vendor/symfony/console/Shell.php
diff --git a/core/vendor/symfony/console/Style/OutputStyle.php b/vendor/symfony/console/Style/OutputStyle.php
similarity index 100%
rename from core/vendor/symfony/console/Style/OutputStyle.php
rename to vendor/symfony/console/Style/OutputStyle.php
diff --git a/core/vendor/symfony/console/Style/StyleInterface.php b/vendor/symfony/console/Style/StyleInterface.php
similarity index 100%
rename from core/vendor/symfony/console/Style/StyleInterface.php
rename to vendor/symfony/console/Style/StyleInterface.php
diff --git a/core/vendor/symfony/console/Style/SymfonyStyle.php b/vendor/symfony/console/Style/SymfonyStyle.php
similarity index 100%
rename from core/vendor/symfony/console/Style/SymfonyStyle.php
rename to vendor/symfony/console/Style/SymfonyStyle.php
diff --git a/core/vendor/symfony/console/Tester/ApplicationTester.php b/vendor/symfony/console/Tester/ApplicationTester.php
similarity index 100%
rename from core/vendor/symfony/console/Tester/ApplicationTester.php
rename to vendor/symfony/console/Tester/ApplicationTester.php
diff --git a/core/vendor/symfony/console/Tester/CommandTester.php b/vendor/symfony/console/Tester/CommandTester.php
similarity index 100%
rename from core/vendor/symfony/console/Tester/CommandTester.php
rename to vendor/symfony/console/Tester/CommandTester.php
diff --git a/core/vendor/symfony/console/Tests/ApplicationTest.php b/vendor/symfony/console/Tests/ApplicationTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/ApplicationTest.php
rename to vendor/symfony/console/Tests/ApplicationTest.php
diff --git a/core/vendor/symfony/console/Tests/Command/CommandTest.php b/vendor/symfony/console/Tests/Command/CommandTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Command/CommandTest.php
rename to vendor/symfony/console/Tests/Command/CommandTest.php
diff --git a/core/vendor/symfony/console/Tests/Command/HelpCommandTest.php b/vendor/symfony/console/Tests/Command/HelpCommandTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Command/HelpCommandTest.php
rename to vendor/symfony/console/Tests/Command/HelpCommandTest.php
diff --git a/core/vendor/symfony/console/Tests/Command/ListCommandTest.php b/vendor/symfony/console/Tests/Command/ListCommandTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Command/ListCommandTest.php
rename to vendor/symfony/console/Tests/Command/ListCommandTest.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php b/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php
rename to vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php b/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php
rename to vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php b/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php
rename to vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php b/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php
rename to vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php b/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php
rename to vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php
diff --git a/core/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php b/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php
rename to vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php b/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php
rename to vendor/symfony/console/Tests/Fixtures/BarBucCommand.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php b/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php
rename to vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php b/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php
rename to vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php b/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php
rename to vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php b/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php
rename to vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/DummyOutput.php b/vendor/symfony/console/Tests/Fixtures/DummyOutput.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/DummyOutput.php
rename to vendor/symfony/console/Tests/Fixtures/DummyOutput.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Foo1Command.php b/vendor/symfony/console/Tests/Fixtures/Foo1Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Foo1Command.php
rename to vendor/symfony/console/Tests/Fixtures/Foo1Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Foo2Command.php b/vendor/symfony/console/Tests/Fixtures/Foo2Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Foo2Command.php
rename to vendor/symfony/console/Tests/Fixtures/Foo2Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Foo3Command.php b/vendor/symfony/console/Tests/Fixtures/Foo3Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Foo3Command.php
rename to vendor/symfony/console/Tests/Fixtures/Foo3Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Foo4Command.php b/vendor/symfony/console/Tests/Fixtures/Foo4Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Foo4Command.php
rename to vendor/symfony/console/Tests/Fixtures/Foo4Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Foo5Command.php b/vendor/symfony/console/Tests/Fixtures/Foo5Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Foo5Command.php
rename to vendor/symfony/console/Tests/Fixtures/Foo5Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/FooCommand.php b/vendor/symfony/console/Tests/Fixtures/FooCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/FooCommand.php
rename to vendor/symfony/console/Tests/Fixtures/FooCommand.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php b/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php
rename to vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php b/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php
rename to vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php b/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php
rename to vendor/symfony/console/Tests/Fixtures/FoobarCommand.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt b/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt
rename to vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/TestCommand.php b/vendor/symfony/console/Tests/Fixtures/TestCommand.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/TestCommand.php
rename to vendor/symfony/console/Tests/Fixtures/TestCommand.php
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.json b/vendor/symfony/console/Tests/Fixtures/application_1.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_1.json
rename to vendor/symfony/console/Tests/Fixtures/application_1.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.md b/vendor/symfony/console/Tests/Fixtures/application_1.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_1.md
rename to vendor/symfony/console/Tests/Fixtures/application_1.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.txt b/vendor/symfony/console/Tests/Fixtures/application_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_1.xml b/vendor/symfony/console/Tests/Fixtures/application_1.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_1.xml
rename to vendor/symfony/console/Tests/Fixtures/application_1.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.json b/vendor/symfony/console/Tests/Fixtures/application_2.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_2.json
rename to vendor/symfony/console/Tests/Fixtures/application_2.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.md b/vendor/symfony/console/Tests/Fixtures/application_2.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_2.md
rename to vendor/symfony/console/Tests/Fixtures/application_2.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.txt b/vendor/symfony/console/Tests/Fixtures/application_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_2.xml b/vendor/symfony/console/Tests/Fixtures/application_2.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_2.xml
rename to vendor/symfony/console/Tests/Fixtures/application_2.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_astext1.txt b/vendor/symfony/console/Tests/Fixtures/application_astext1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_astext1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_astext1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_astext2.txt b/vendor/symfony/console/Tests/Fixtures/application_astext2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_astext2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_astext2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt b/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_asxml1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_asxml1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt b/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_asxml2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_asxml2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt b/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt
rename to vendor/symfony/console/Tests/Fixtures/application_gethelp.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt b/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run1.txt b/vendor/symfony/console/Tests/Fixtures/application_run1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_run1.txt
rename to vendor/symfony/console/Tests/Fixtures/application_run1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run2.txt b/vendor/symfony/console/Tests/Fixtures/application_run2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_run2.txt
rename to vendor/symfony/console/Tests/Fixtures/application_run2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run3.txt b/vendor/symfony/console/Tests/Fixtures/application_run3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_run3.txt
rename to vendor/symfony/console/Tests/Fixtures/application_run3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/application_run4.txt b/vendor/symfony/console/Tests/Fixtures/application_run4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/application_run4.txt
rename to vendor/symfony/console/Tests/Fixtures/application_run4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.json b/vendor/symfony/console/Tests/Fixtures/command_1.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_1.json
rename to vendor/symfony/console/Tests/Fixtures/command_1.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.md b/vendor/symfony/console/Tests/Fixtures/command_1.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_1.md
rename to vendor/symfony/console/Tests/Fixtures/command_1.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.txt b/vendor/symfony/console/Tests/Fixtures/command_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_1.txt
rename to vendor/symfony/console/Tests/Fixtures/command_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_1.xml b/vendor/symfony/console/Tests/Fixtures/command_1.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_1.xml
rename to vendor/symfony/console/Tests/Fixtures/command_1.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.json b/vendor/symfony/console/Tests/Fixtures/command_2.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_2.json
rename to vendor/symfony/console/Tests/Fixtures/command_2.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.md b/vendor/symfony/console/Tests/Fixtures/command_2.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_2.md
rename to vendor/symfony/console/Tests/Fixtures/command_2.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.txt b/vendor/symfony/console/Tests/Fixtures/command_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_2.txt
rename to vendor/symfony/console/Tests/Fixtures/command_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_2.xml b/vendor/symfony/console/Tests/Fixtures/command_2.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_2.xml
rename to vendor/symfony/console/Tests/Fixtures/command_2.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_astext.txt b/vendor/symfony/console/Tests/Fixtures/command_astext.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_astext.txt
rename to vendor/symfony/console/Tests/Fixtures/command_astext.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/command_asxml.txt b/vendor/symfony/console/Tests/Fixtures/command_asxml.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/command_asxml.txt
rename to vendor/symfony/console/Tests/Fixtures/command_asxml.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/definition_astext.txt b/vendor/symfony/console/Tests/Fixtures/definition_astext.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/definition_astext.txt
rename to vendor/symfony/console/Tests/Fixtures/definition_astext.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt b/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/definition_asxml.txt
rename to vendor/symfony/console/Tests/Fixtures/definition_asxml.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.json b/vendor/symfony/console/Tests/Fixtures/input_argument_1.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_1.json
rename to vendor/symfony/console/Tests/Fixtures/input_argument_1.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.md b/vendor/symfony/console/Tests/Fixtures/input_argument_1.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_1.md
rename to vendor/symfony/console/Tests/Fixtures/input_argument_1.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt b/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt
rename to vendor/symfony/console/Tests/Fixtures/input_argument_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml b/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml
rename to vendor/symfony/console/Tests/Fixtures/input_argument_1.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.json b/vendor/symfony/console/Tests/Fixtures/input_argument_2.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_2.json
rename to vendor/symfony/console/Tests/Fixtures/input_argument_2.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.md b/vendor/symfony/console/Tests/Fixtures/input_argument_2.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_2.md
rename to vendor/symfony/console/Tests/Fixtures/input_argument_2.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt b/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt
rename to vendor/symfony/console/Tests/Fixtures/input_argument_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml b/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml
rename to vendor/symfony/console/Tests/Fixtures/input_argument_2.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.json b/vendor/symfony/console/Tests/Fixtures/input_argument_3.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_3.json
rename to vendor/symfony/console/Tests/Fixtures/input_argument_3.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.md b/vendor/symfony/console/Tests/Fixtures/input_argument_3.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_3.md
rename to vendor/symfony/console/Tests/Fixtures/input_argument_3.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt b/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt
rename to vendor/symfony/console/Tests/Fixtures/input_argument_3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml b/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml
rename to vendor/symfony/console/Tests/Fixtures/input_argument_3.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.json b/vendor/symfony/console/Tests/Fixtures/input_argument_4.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_4.json
rename to vendor/symfony/console/Tests/Fixtures/input_argument_4.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.md b/vendor/symfony/console/Tests/Fixtures/input_argument_4.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_4.md
rename to vendor/symfony/console/Tests/Fixtures/input_argument_4.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt b/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt
rename to vendor/symfony/console/Tests/Fixtures/input_argument_4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml b/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml
rename to vendor/symfony/console/Tests/Fixtures/input_argument_4.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.json b/vendor/symfony/console/Tests/Fixtures/input_definition_1.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_1.json
rename to vendor/symfony/console/Tests/Fixtures/input_definition_1.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.md b/vendor/symfony/console/Tests/Fixtures/input_definition_1.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_1.md
rename to vendor/symfony/console/Tests/Fixtures/input_definition_1.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt b/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt
rename to vendor/symfony/console/Tests/Fixtures/input_definition_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml b/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml
rename to vendor/symfony/console/Tests/Fixtures/input_definition_1.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.json b/vendor/symfony/console/Tests/Fixtures/input_definition_2.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_2.json
rename to vendor/symfony/console/Tests/Fixtures/input_definition_2.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.md b/vendor/symfony/console/Tests/Fixtures/input_definition_2.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_2.md
rename to vendor/symfony/console/Tests/Fixtures/input_definition_2.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt b/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt
rename to vendor/symfony/console/Tests/Fixtures/input_definition_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml b/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml
rename to vendor/symfony/console/Tests/Fixtures/input_definition_2.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.json b/vendor/symfony/console/Tests/Fixtures/input_definition_3.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_3.json
rename to vendor/symfony/console/Tests/Fixtures/input_definition_3.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.md b/vendor/symfony/console/Tests/Fixtures/input_definition_3.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_3.md
rename to vendor/symfony/console/Tests/Fixtures/input_definition_3.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt b/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt
rename to vendor/symfony/console/Tests/Fixtures/input_definition_3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml b/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml
rename to vendor/symfony/console/Tests/Fixtures/input_definition_3.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.json b/vendor/symfony/console/Tests/Fixtures/input_definition_4.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_4.json
rename to vendor/symfony/console/Tests/Fixtures/input_definition_4.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.md b/vendor/symfony/console/Tests/Fixtures/input_definition_4.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_4.md
rename to vendor/symfony/console/Tests/Fixtures/input_definition_4.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt b/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt
rename to vendor/symfony/console/Tests/Fixtures/input_definition_4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml b/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml
rename to vendor/symfony/console/Tests/Fixtures/input_definition_4.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_1.json b/vendor/symfony/console/Tests/Fixtures/input_option_1.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_1.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_1.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_1.md b/vendor/symfony/console/Tests/Fixtures/input_option_1.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_1.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_1.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_1.txt b/vendor/symfony/console/Tests/Fixtures/input_option_1.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_1.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_1.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_1.xml b/vendor/symfony/console/Tests/Fixtures/input_option_1.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_1.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_1.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_2.json b/vendor/symfony/console/Tests/Fixtures/input_option_2.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_2.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_2.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_2.md b/vendor/symfony/console/Tests/Fixtures/input_option_2.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_2.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_2.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_2.txt b/vendor/symfony/console/Tests/Fixtures/input_option_2.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_2.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_2.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_2.xml b/vendor/symfony/console/Tests/Fixtures/input_option_2.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_2.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_2.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_3.json b/vendor/symfony/console/Tests/Fixtures/input_option_3.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_3.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_3.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_3.md b/vendor/symfony/console/Tests/Fixtures/input_option_3.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_3.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_3.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_3.txt b/vendor/symfony/console/Tests/Fixtures/input_option_3.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_3.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_3.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_3.xml b/vendor/symfony/console/Tests/Fixtures/input_option_3.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_3.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_3.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_4.json b/vendor/symfony/console/Tests/Fixtures/input_option_4.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_4.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_4.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_4.md b/vendor/symfony/console/Tests/Fixtures/input_option_4.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_4.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_4.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_4.txt b/vendor/symfony/console/Tests/Fixtures/input_option_4.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_4.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_4.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_4.xml b/vendor/symfony/console/Tests/Fixtures/input_option_4.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_4.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_4.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.json b/vendor/symfony/console/Tests/Fixtures/input_option_5.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_5.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_5.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.md b/vendor/symfony/console/Tests/Fixtures/input_option_5.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_5.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_5.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.txt b/vendor/symfony/console/Tests/Fixtures/input_option_5.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_5.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_5.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_5.xml b/vendor/symfony/console/Tests/Fixtures/input_option_5.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_5.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_5.xml
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_6.json b/vendor/symfony/console/Tests/Fixtures/input_option_6.json
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_6.json
rename to vendor/symfony/console/Tests/Fixtures/input_option_6.json
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_6.md b/vendor/symfony/console/Tests/Fixtures/input_option_6.md
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_6.md
rename to vendor/symfony/console/Tests/Fixtures/input_option_6.md
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_6.txt b/vendor/symfony/console/Tests/Fixtures/input_option_6.txt
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_6.txt
rename to vendor/symfony/console/Tests/Fixtures/input_option_6.txt
diff --git a/core/vendor/symfony/console/Tests/Fixtures/input_option_6.xml b/vendor/symfony/console/Tests/Fixtures/input_option_6.xml
similarity index 100%
rename from core/vendor/symfony/console/Tests/Fixtures/input_option_6.xml
rename to vendor/symfony/console/Tests/Fixtures/input_option_6.xml
diff --git a/core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php b/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php
rename to vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php
diff --git a/core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php b/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php
rename to vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php
diff --git a/core/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php b/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php
rename to vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php b/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php
rename to vendor/symfony/console/Tests/Helper/FormatterHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/HelperSetTest.php b/vendor/symfony/console/Tests/Helper/HelperSetTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/HelperSetTest.php
rename to vendor/symfony/console/Tests/Helper/HelperSetTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php b/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php
rename to vendor/symfony/console/Tests/Helper/LegacyDialogHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php b/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php
rename to vendor/symfony/console/Tests/Helper/LegacyProgressHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php b/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php
rename to vendor/symfony/console/Tests/Helper/LegacyTableHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php b/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php
rename to vendor/symfony/console/Tests/Helper/ProcessHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/ProgressBarTest.php b/vendor/symfony/console/Tests/Helper/ProgressBarTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/ProgressBarTest.php
rename to vendor/symfony/console/Tests/Helper/ProgressBarTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php b/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
rename to vendor/symfony/console/Tests/Helper/QuestionHelperTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/TableStyleTest.php b/vendor/symfony/console/Tests/Helper/TableStyleTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/TableStyleTest.php
rename to vendor/symfony/console/Tests/Helper/TableStyleTest.php
diff --git a/core/vendor/symfony/console/Tests/Helper/TableTest.php b/vendor/symfony/console/Tests/Helper/TableTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Helper/TableTest.php
rename to vendor/symfony/console/Tests/Helper/TableTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/ArgvInputTest.php b/vendor/symfony/console/Tests/Input/ArgvInputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/ArgvInputTest.php
rename to vendor/symfony/console/Tests/Input/ArgvInputTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/ArrayInputTest.php b/vendor/symfony/console/Tests/Input/ArrayInputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/ArrayInputTest.php
rename to vendor/symfony/console/Tests/Input/ArrayInputTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/InputArgumentTest.php b/vendor/symfony/console/Tests/Input/InputArgumentTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/InputArgumentTest.php
rename to vendor/symfony/console/Tests/Input/InputArgumentTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/InputDefinitionTest.php b/vendor/symfony/console/Tests/Input/InputDefinitionTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/InputDefinitionTest.php
rename to vendor/symfony/console/Tests/Input/InputDefinitionTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/InputOptionTest.php b/vendor/symfony/console/Tests/Input/InputOptionTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/InputOptionTest.php
rename to vendor/symfony/console/Tests/Input/InputOptionTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/InputTest.php b/vendor/symfony/console/Tests/Input/InputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/InputTest.php
rename to vendor/symfony/console/Tests/Input/InputTest.php
diff --git a/core/vendor/symfony/console/Tests/Input/StringInputTest.php b/vendor/symfony/console/Tests/Input/StringInputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Input/StringInputTest.php
rename to vendor/symfony/console/Tests/Input/StringInputTest.php
diff --git a/core/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php b/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php
rename to vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php
diff --git a/core/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php b/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php
rename to vendor/symfony/console/Tests/Output/ConsoleOutputTest.php
diff --git a/core/vendor/symfony/console/Tests/Output/NullOutputTest.php b/vendor/symfony/console/Tests/Output/NullOutputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Output/NullOutputTest.php
rename to vendor/symfony/console/Tests/Output/NullOutputTest.php
diff --git a/core/vendor/symfony/console/Tests/Output/OutputTest.php b/vendor/symfony/console/Tests/Output/OutputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Output/OutputTest.php
rename to vendor/symfony/console/Tests/Output/OutputTest.php
diff --git a/core/vendor/symfony/console/Tests/Output/StreamOutputTest.php b/vendor/symfony/console/Tests/Output/StreamOutputTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Output/StreamOutputTest.php
rename to vendor/symfony/console/Tests/Output/StreamOutputTest.php
diff --git a/core/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php b/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
rename to vendor/symfony/console/Tests/Style/SymfonyStyleTest.php
diff --git a/core/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php b/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php
rename to vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php
diff --git a/core/vendor/symfony/console/Tests/Tester/CommandTesterTest.php b/vendor/symfony/console/Tests/Tester/CommandTesterTest.php
similarity index 100%
rename from core/vendor/symfony/console/Tests/Tester/CommandTesterTest.php
rename to vendor/symfony/console/Tests/Tester/CommandTesterTest.php
diff --git a/core/vendor/symfony/console/composer.json b/vendor/symfony/console/composer.json
similarity index 100%
rename from core/vendor/symfony/console/composer.json
rename to vendor/symfony/console/composer.json
diff --git a/core/vendor/symfony/console/phpunit.xml.dist b/vendor/symfony/console/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/console/phpunit.xml.dist
rename to vendor/symfony/console/phpunit.xml.dist
diff --git a/core/vendor/symfony/serializer/.gitignore b/vendor/symfony/css-selector/.gitignore
similarity index 100%
rename from core/vendor/symfony/serializer/.gitignore
rename to vendor/symfony/css-selector/.gitignore
diff --git a/core/vendor/symfony/css-selector/CHANGELOG.md b/vendor/symfony/css-selector/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/css-selector/CHANGELOG.md
rename to vendor/symfony/css-selector/CHANGELOG.md
diff --git a/core/vendor/symfony/css-selector/CssSelector.php b/vendor/symfony/css-selector/CssSelector.php
similarity index 100%
rename from core/vendor/symfony/css-selector/CssSelector.php
rename to vendor/symfony/css-selector/CssSelector.php
diff --git a/core/vendor/symfony/css-selector/Exception/ExceptionInterface.php b/vendor/symfony/css-selector/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Exception/ExceptionInterface.php
rename to vendor/symfony/css-selector/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/css-selector/Exception/ExpressionErrorException.php b/vendor/symfony/css-selector/Exception/ExpressionErrorException.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Exception/ExpressionErrorException.php
rename to vendor/symfony/css-selector/Exception/ExpressionErrorException.php
diff --git a/core/vendor/symfony/css-selector/Exception/InternalErrorException.php b/vendor/symfony/css-selector/Exception/InternalErrorException.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Exception/InternalErrorException.php
rename to vendor/symfony/css-selector/Exception/InternalErrorException.php
diff --git a/core/vendor/symfony/css-selector/Exception/ParseException.php b/vendor/symfony/css-selector/Exception/ParseException.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Exception/ParseException.php
rename to vendor/symfony/css-selector/Exception/ParseException.php
diff --git a/core/vendor/symfony/css-selector/Exception/SyntaxErrorException.php b/vendor/symfony/css-selector/Exception/SyntaxErrorException.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Exception/SyntaxErrorException.php
rename to vendor/symfony/css-selector/Exception/SyntaxErrorException.php
diff --git a/core/vendor/symfony/serializer/LICENSE b/vendor/symfony/css-selector/LICENSE
similarity index 100%
rename from core/vendor/symfony/serializer/LICENSE
rename to vendor/symfony/css-selector/LICENSE
diff --git a/core/vendor/symfony/css-selector/Node/AbstractNode.php b/vendor/symfony/css-selector/Node/AbstractNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/AbstractNode.php
rename to vendor/symfony/css-selector/Node/AbstractNode.php
diff --git a/core/vendor/symfony/css-selector/Node/AttributeNode.php b/vendor/symfony/css-selector/Node/AttributeNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/AttributeNode.php
rename to vendor/symfony/css-selector/Node/AttributeNode.php
diff --git a/core/vendor/symfony/css-selector/Node/ClassNode.php b/vendor/symfony/css-selector/Node/ClassNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/ClassNode.php
rename to vendor/symfony/css-selector/Node/ClassNode.php
diff --git a/core/vendor/symfony/css-selector/Node/CombinedSelectorNode.php b/vendor/symfony/css-selector/Node/CombinedSelectorNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/CombinedSelectorNode.php
rename to vendor/symfony/css-selector/Node/CombinedSelectorNode.php
diff --git a/core/vendor/symfony/css-selector/Node/ElementNode.php b/vendor/symfony/css-selector/Node/ElementNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/ElementNode.php
rename to vendor/symfony/css-selector/Node/ElementNode.php
diff --git a/core/vendor/symfony/css-selector/Node/FunctionNode.php b/vendor/symfony/css-selector/Node/FunctionNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/FunctionNode.php
rename to vendor/symfony/css-selector/Node/FunctionNode.php
diff --git a/core/vendor/symfony/css-selector/Node/HashNode.php b/vendor/symfony/css-selector/Node/HashNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/HashNode.php
rename to vendor/symfony/css-selector/Node/HashNode.php
diff --git a/core/vendor/symfony/css-selector/Node/NegationNode.php b/vendor/symfony/css-selector/Node/NegationNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/NegationNode.php
rename to vendor/symfony/css-selector/Node/NegationNode.php
diff --git a/core/vendor/symfony/css-selector/Node/NodeInterface.php b/vendor/symfony/css-selector/Node/NodeInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/NodeInterface.php
rename to vendor/symfony/css-selector/Node/NodeInterface.php
diff --git a/core/vendor/symfony/css-selector/Node/PseudoNode.php b/vendor/symfony/css-selector/Node/PseudoNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/PseudoNode.php
rename to vendor/symfony/css-selector/Node/PseudoNode.php
diff --git a/core/vendor/symfony/css-selector/Node/SelectorNode.php b/vendor/symfony/css-selector/Node/SelectorNode.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/SelectorNode.php
rename to vendor/symfony/css-selector/Node/SelectorNode.php
diff --git a/core/vendor/symfony/css-selector/Node/Specificity.php b/vendor/symfony/css-selector/Node/Specificity.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Node/Specificity.php
rename to vendor/symfony/css-selector/Node/Specificity.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php b/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/CommentHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php b/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php
rename to vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/HashHandler.php b/vendor/symfony/css-selector/Parser/Handler/HashHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/HashHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/HashHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php b/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php b/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/NumberHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/StringHandler.php b/vendor/symfony/css-selector/Parser/Handler/StringHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/StringHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/StringHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php b/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php
rename to vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php
diff --git a/core/vendor/symfony/css-selector/Parser/Parser.php b/vendor/symfony/css-selector/Parser/Parser.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Parser.php
rename to vendor/symfony/css-selector/Parser/Parser.php
diff --git a/core/vendor/symfony/css-selector/Parser/ParserInterface.php b/vendor/symfony/css-selector/Parser/ParserInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/ParserInterface.php
rename to vendor/symfony/css-selector/Parser/ParserInterface.php
diff --git a/core/vendor/symfony/css-selector/Parser/Reader.php b/vendor/symfony/css-selector/Parser/Reader.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Reader.php
rename to vendor/symfony/css-selector/Parser/Reader.php
diff --git a/core/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php b/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php
rename to vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php
diff --git a/core/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php b/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php
rename to vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php
diff --git a/core/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php b/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php
rename to vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php
diff --git a/core/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php b/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php
rename to vendor/symfony/css-selector/Parser/Shortcut/HashParser.php
diff --git a/core/vendor/symfony/css-selector/Parser/Token.php b/vendor/symfony/css-selector/Parser/Token.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Token.php
rename to vendor/symfony/css-selector/Parser/Token.php
diff --git a/core/vendor/symfony/css-selector/Parser/TokenStream.php b/vendor/symfony/css-selector/Parser/TokenStream.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/TokenStream.php
rename to vendor/symfony/css-selector/Parser/TokenStream.php
diff --git a/core/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php b/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php
rename to vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php
diff --git a/core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php b/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php
rename to vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php
diff --git a/core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php b/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php
rename to vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php
diff --git a/core/vendor/symfony/css-selector/README.md b/vendor/symfony/css-selector/README.md
similarity index 100%
rename from core/vendor/symfony/css-selector/README.md
rename to vendor/symfony/css-selector/README.md
diff --git a/core/vendor/symfony/css-selector/Tests/CssSelectorTest.php b/vendor/symfony/css-selector/Tests/CssSelectorTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/CssSelectorTest.php
rename to vendor/symfony/css-selector/Tests/CssSelectorTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php b/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/AbstractNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php b/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/AttributeNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php b/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/ClassNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php b/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/CombinedSelectorNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php b/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/ElementNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php b/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/FunctionNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php b/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/HashNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/HashNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php b/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/NegationNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php b/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/PseudoNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php b/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php
rename to vendor/symfony/css-selector/Tests/Node/SelectorNodeTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php b/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Node/SpecificityTest.php
rename to vendor/symfony/css-selector/Tests/Node/SpecificityTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/AbstractHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/CommentHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/HashHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/IdentifierHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/NumberHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/StringHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php b/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Handler/WhitespaceHandlerTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/ParserTest.php b/vendor/symfony/css-selector/Tests/Parser/ParserTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/ParserTest.php
rename to vendor/symfony/css-selector/Tests/Parser/ParserTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php b/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/ReaderTest.php
rename to vendor/symfony/css-selector/Tests/Parser/ReaderTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php b/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Shortcut/ClassParserTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php b/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Shortcut/ElementParserTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php b/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Shortcut/EmptyStringParserTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php b/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php
rename to vendor/symfony/css-selector/Tests/Parser/Shortcut/HashParserTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php b/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
rename to vendor/symfony/css-selector/Tests/Parser/TokenStreamTest.php
diff --git a/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html b/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html
rename to vendor/symfony/css-selector/Tests/XPath/Fixtures/ids.html
diff --git a/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml b/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml
rename to vendor/symfony/css-selector/Tests/XPath/Fixtures/lang.xml
diff --git a/core/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html b/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html
rename to vendor/symfony/css-selector/Tests/XPath/Fixtures/shakespear.html
diff --git a/core/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php b/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php
similarity index 100%
rename from core/vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php
rename to vendor/symfony/css-selector/Tests/XPath/TranslatorTest.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php b/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php b/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php b/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php b/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php
rename to vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php b/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php b/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php b/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php b/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php
rename to vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php
diff --git a/core/vendor/symfony/css-selector/XPath/Translator.php b/vendor/symfony/css-selector/XPath/Translator.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/Translator.php
rename to vendor/symfony/css-selector/XPath/Translator.php
diff --git a/core/vendor/symfony/css-selector/XPath/TranslatorInterface.php b/vendor/symfony/css-selector/XPath/TranslatorInterface.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/TranslatorInterface.php
rename to vendor/symfony/css-selector/XPath/TranslatorInterface.php
diff --git a/core/vendor/symfony/css-selector/XPath/XPathExpr.php b/vendor/symfony/css-selector/XPath/XPathExpr.php
similarity index 100%
rename from core/vendor/symfony/css-selector/XPath/XPathExpr.php
rename to vendor/symfony/css-selector/XPath/XPathExpr.php
diff --git a/core/vendor/symfony/css-selector/composer.json b/vendor/symfony/css-selector/composer.json
similarity index 100%
rename from core/vendor/symfony/css-selector/composer.json
rename to vendor/symfony/css-selector/composer.json
diff --git a/core/vendor/symfony/css-selector/phpunit.xml.dist b/vendor/symfony/css-selector/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/css-selector/phpunit.xml.dist
rename to vendor/symfony/css-selector/phpunit.xml.dist
diff --git a/core/vendor/symfony/routing/.gitignore b/vendor/symfony/debug/.gitignore
similarity index 100%
rename from core/vendor/symfony/routing/.gitignore
rename to vendor/symfony/debug/.gitignore
diff --git a/core/vendor/symfony/debug/CHANGELOG.md b/vendor/symfony/debug/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/debug/CHANGELOG.md
rename to vendor/symfony/debug/CHANGELOG.md
diff --git a/core/vendor/symfony/debug/Debug.php b/vendor/symfony/debug/Debug.php
similarity index 100%
rename from core/vendor/symfony/debug/Debug.php
rename to vendor/symfony/debug/Debug.php
diff --git a/core/vendor/symfony/debug/DebugClassLoader.php b/vendor/symfony/debug/DebugClassLoader.php
similarity index 100%
rename from core/vendor/symfony/debug/DebugClassLoader.php
rename to vendor/symfony/debug/DebugClassLoader.php
diff --git a/core/vendor/symfony/debug/ErrorHandler.php b/vendor/symfony/debug/ErrorHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/ErrorHandler.php
rename to vendor/symfony/debug/ErrorHandler.php
diff --git a/core/vendor/symfony/debug/Exception/ClassNotFoundException.php b/vendor/symfony/debug/Exception/ClassNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/ClassNotFoundException.php
rename to vendor/symfony/debug/Exception/ClassNotFoundException.php
diff --git a/core/vendor/symfony/debug/Exception/ContextErrorException.php b/vendor/symfony/debug/Exception/ContextErrorException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/ContextErrorException.php
rename to vendor/symfony/debug/Exception/ContextErrorException.php
diff --git a/core/vendor/symfony/debug/Exception/DummyException.php b/vendor/symfony/debug/Exception/DummyException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/DummyException.php
rename to vendor/symfony/debug/Exception/DummyException.php
diff --git a/core/vendor/symfony/debug/Exception/FatalErrorException.php b/vendor/symfony/debug/Exception/FatalErrorException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/FatalErrorException.php
rename to vendor/symfony/debug/Exception/FatalErrorException.php
diff --git a/core/vendor/symfony/debug/Exception/FatalThrowableError.php b/vendor/symfony/debug/Exception/FatalThrowableError.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/FatalThrowableError.php
rename to vendor/symfony/debug/Exception/FatalThrowableError.php
diff --git a/core/vendor/symfony/debug/Exception/FlattenException.php b/vendor/symfony/debug/Exception/FlattenException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/FlattenException.php
rename to vendor/symfony/debug/Exception/FlattenException.php
diff --git a/core/vendor/symfony/debug/Exception/OutOfMemoryException.php b/vendor/symfony/debug/Exception/OutOfMemoryException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/OutOfMemoryException.php
rename to vendor/symfony/debug/Exception/OutOfMemoryException.php
diff --git a/core/vendor/symfony/debug/Exception/UndefinedFunctionException.php b/vendor/symfony/debug/Exception/UndefinedFunctionException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/UndefinedFunctionException.php
rename to vendor/symfony/debug/Exception/UndefinedFunctionException.php
diff --git a/core/vendor/symfony/debug/Exception/UndefinedMethodException.php b/vendor/symfony/debug/Exception/UndefinedMethodException.php
similarity index 100%
rename from core/vendor/symfony/debug/Exception/UndefinedMethodException.php
rename to vendor/symfony/debug/Exception/UndefinedMethodException.php
diff --git a/core/vendor/symfony/debug/ExceptionHandler.php b/vendor/symfony/debug/ExceptionHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/ExceptionHandler.php
rename to vendor/symfony/debug/ExceptionHandler.php
diff --git a/core/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php b/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php
rename to vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php
diff --git a/core/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php b/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php
similarity index 100%
rename from core/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php
rename to vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php
diff --git a/core/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php b/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php
rename to vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php
diff --git a/core/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php b/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php
rename to vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php
diff --git a/core/vendor/symfony/routing/LICENSE b/vendor/symfony/debug/LICENSE
similarity index 100%
rename from core/vendor/symfony/routing/LICENSE
rename to vendor/symfony/debug/LICENSE
diff --git a/core/vendor/symfony/debug/README.md b/vendor/symfony/debug/README.md
similarity index 100%
rename from core/vendor/symfony/debug/README.md
rename to vendor/symfony/debug/README.md
diff --git a/core/vendor/symfony/debug/Resources/ext/README.md b/vendor/symfony/debug/Resources/ext/README.md
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/README.md
rename to vendor/symfony/debug/Resources/ext/README.md
diff --git a/core/vendor/symfony/debug/Resources/ext/config.m4 b/vendor/symfony/debug/Resources/ext/config.m4
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/config.m4
rename to vendor/symfony/debug/Resources/ext/config.m4
diff --git a/core/vendor/symfony/debug/Resources/ext/config.w32 b/vendor/symfony/debug/Resources/ext/config.w32
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/config.w32
rename to vendor/symfony/debug/Resources/ext/config.w32
diff --git a/core/vendor/symfony/debug/Resources/ext/php_symfony_debug.h b/vendor/symfony/debug/Resources/ext/php_symfony_debug.h
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/php_symfony_debug.h
rename to vendor/symfony/debug/Resources/ext/php_symfony_debug.h
diff --git a/core/vendor/symfony/debug/Resources/ext/symfony_debug.c b/vendor/symfony/debug/Resources/ext/symfony_debug.c
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/symfony_debug.c
rename to vendor/symfony/debug/Resources/ext/symfony_debug.c
diff --git a/core/vendor/symfony/debug/Resources/ext/tests/001.phpt b/vendor/symfony/debug/Resources/ext/tests/001.phpt
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/tests/001.phpt
rename to vendor/symfony/debug/Resources/ext/tests/001.phpt
diff --git a/core/vendor/symfony/debug/Resources/ext/tests/002.phpt b/vendor/symfony/debug/Resources/ext/tests/002.phpt
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/tests/002.phpt
rename to vendor/symfony/debug/Resources/ext/tests/002.phpt
diff --git a/core/vendor/symfony/debug/Resources/ext/tests/002_1.phpt b/vendor/symfony/debug/Resources/ext/tests/002_1.phpt
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/tests/002_1.phpt
rename to vendor/symfony/debug/Resources/ext/tests/002_1.phpt
diff --git a/core/vendor/symfony/debug/Resources/ext/tests/003.phpt b/vendor/symfony/debug/Resources/ext/tests/003.phpt
similarity index 100%
rename from core/vendor/symfony/debug/Resources/ext/tests/003.phpt
rename to vendor/symfony/debug/Resources/ext/tests/003.phpt
diff --git a/core/vendor/symfony/debug/Tests/DebugClassLoaderTest.php b/vendor/symfony/debug/Tests/DebugClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/DebugClassLoaderTest.php
rename to vendor/symfony/debug/Tests/DebugClassLoaderTest.php
diff --git a/core/vendor/symfony/debug/Tests/ErrorHandlerTest.php b/vendor/symfony/debug/Tests/ErrorHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/ErrorHandlerTest.php
rename to vendor/symfony/debug/Tests/ErrorHandlerTest.php
diff --git a/core/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php b/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php
rename to vendor/symfony/debug/Tests/Exception/FlattenExceptionTest.php
diff --git a/core/vendor/symfony/debug/Tests/ExceptionHandlerTest.php b/vendor/symfony/debug/Tests/ExceptionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/ExceptionHandlerTest.php
rename to vendor/symfony/debug/Tests/ExceptionHandlerTest.php
diff --git a/core/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php b/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
rename to vendor/symfony/debug/Tests/FatalErrorHandler/ClassNotFoundFatalErrorHandlerTest.php
diff --git a/core/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php b/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php
rename to vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedFunctionFatalErrorHandlerTest.php
diff --git a/core/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php b/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php
rename to vendor/symfony/debug/Tests/FatalErrorHandler/UndefinedMethodFatalErrorHandlerTest.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php b/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/ClassAlias.php
rename to vendor/symfony/debug/Tests/Fixtures/ClassAlias.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php b/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php
rename to vendor/symfony/debug/Tests/Fixtures/DeprecatedClass.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php b/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php
rename to vendor/symfony/debug/Tests/Fixtures/DeprecatedInterface.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/PEARClass.php b/vendor/symfony/debug/Tests/Fixtures/PEARClass.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/PEARClass.php
rename to vendor/symfony/debug/Tests/Fixtures/PEARClass.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/casemismatch.php b/vendor/symfony/debug/Tests/Fixtures/casemismatch.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/casemismatch.php
rename to vendor/symfony/debug/Tests/Fixtures/casemismatch.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php b/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php
rename to vendor/symfony/debug/Tests/Fixtures/notPsr0Bis.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php b/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php
rename to vendor/symfony/debug/Tests/Fixtures/psr4/Psr4CaseMismatch.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php b/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php
rename to vendor/symfony/debug/Tests/Fixtures/reallyNotPsr0.php
diff --git a/core/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php b/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php
rename to vendor/symfony/debug/Tests/Fixtures2/RequiredTwice.php
diff --git a/core/vendor/symfony/debug/Tests/HeaderMock.php b/vendor/symfony/debug/Tests/HeaderMock.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/HeaderMock.php
rename to vendor/symfony/debug/Tests/HeaderMock.php
diff --git a/core/vendor/symfony/debug/Tests/MockExceptionHandler.php b/vendor/symfony/debug/Tests/MockExceptionHandler.php
similarity index 100%
rename from core/vendor/symfony/debug/Tests/MockExceptionHandler.php
rename to vendor/symfony/debug/Tests/MockExceptionHandler.php
diff --git a/core/vendor/symfony/debug/composer.json b/vendor/symfony/debug/composer.json
similarity index 100%
rename from core/vendor/symfony/debug/composer.json
rename to vendor/symfony/debug/composer.json
diff --git a/core/vendor/symfony/debug/phpunit.xml.dist b/vendor/symfony/debug/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/debug/phpunit.xml.dist
rename to vendor/symfony/debug/phpunit.xml.dist
diff --git a/core/vendor/symfony/process/.gitignore b/vendor/symfony/dependency-injection/.gitignore
similarity index 100%
rename from core/vendor/symfony/process/.gitignore
rename to vendor/symfony/dependency-injection/.gitignore
diff --git a/core/vendor/symfony/dependency-injection/Alias.php b/vendor/symfony/dependency-injection/Alias.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Alias.php
rename to vendor/symfony/dependency-injection/Alias.php
diff --git a/core/vendor/symfony/dependency-injection/CHANGELOG.md b/vendor/symfony/dependency-injection/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/dependency-injection/CHANGELOG.md
rename to vendor/symfony/dependency-injection/CHANGELOG.md
diff --git a/core/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php b/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php
rename to vendor/symfony/dependency-injection/Compiler/AnalyzeServiceReferencesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php b/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php
rename to vendor/symfony/dependency-injection/Compiler/AutoAliasServicePass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php b/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php
rename to vendor/symfony/dependency-injection/Compiler/CheckCircularReferencesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php b/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php
rename to vendor/symfony/dependency-injection/Compiler/CheckDefinitionValidityPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php b/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
rename to vendor/symfony/dependency-injection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php b/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php
rename to vendor/symfony/dependency-injection/Compiler/CheckReferenceValidityPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/Compiler.php b/vendor/symfony/dependency-injection/Compiler/Compiler.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/Compiler.php
rename to vendor/symfony/dependency-injection/Compiler/Compiler.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php b/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php
rename to vendor/symfony/dependency-injection/Compiler/CompilerPassInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php b/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php
rename to vendor/symfony/dependency-injection/Compiler/DecoratorServicePass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php b/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php
rename to vendor/symfony/dependency-injection/Compiler/InlineServiceDefinitionsPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php b/vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php
rename to vendor/symfony/dependency-injection/Compiler/LoggingFormatter.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php b/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php
rename to vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/PassConfig.php b/vendor/symfony/dependency-injection/Compiler/PassConfig.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/PassConfig.php
rename to vendor/symfony/dependency-injection/Compiler/PassConfig.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php b/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php
rename to vendor/symfony/dependency-injection/Compiler/RemoveAbstractDefinitionsPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php b/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php
rename to vendor/symfony/dependency-injection/Compiler/RemovePrivateAliasesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php b/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php
rename to vendor/symfony/dependency-injection/Compiler/RemoveUnusedDefinitionsPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php b/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php
rename to vendor/symfony/dependency-injection/Compiler/RepeatablePassInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php b/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/RepeatedPass.php
rename to vendor/symfony/dependency-injection/Compiler/RepeatedPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php b/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php
rename to vendor/symfony/dependency-injection/Compiler/ReplaceAliasByActualDefinitionPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php
rename to vendor/symfony/dependency-injection/Compiler/ResolveDefinitionTemplatesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php
rename to vendor/symfony/dependency-injection/Compiler/ResolveInvalidReferencesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php
rename to vendor/symfony/dependency-injection/Compiler/ResolveParameterPlaceHoldersPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php b/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php
rename to vendor/symfony/dependency-injection/Compiler/ResolveReferencesToAliasesPass.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php b/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php
rename to vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraph.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php b/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php
rename to vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphEdge.php
diff --git a/core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php b/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php
rename to vendor/symfony/dependency-injection/Compiler/ServiceReferenceGraphNode.php
diff --git a/core/vendor/symfony/dependency-injection/Container.php b/vendor/symfony/dependency-injection/Container.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Container.php
rename to vendor/symfony/dependency-injection/Container.php
diff --git a/core/vendor/symfony/dependency-injection/ContainerAware.php b/vendor/symfony/dependency-injection/ContainerAware.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ContainerAware.php
rename to vendor/symfony/dependency-injection/ContainerAware.php
diff --git a/core/vendor/symfony/dependency-injection/ContainerAwareInterface.php b/vendor/symfony/dependency-injection/ContainerAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ContainerAwareInterface.php
rename to vendor/symfony/dependency-injection/ContainerAwareInterface.php
diff --git a/core/vendor/symfony/dependency-injection/ContainerAwareTrait.php b/vendor/symfony/dependency-injection/ContainerAwareTrait.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ContainerAwareTrait.php
rename to vendor/symfony/dependency-injection/ContainerAwareTrait.php
diff --git a/core/vendor/symfony/dependency-injection/ContainerBuilder.php b/vendor/symfony/dependency-injection/ContainerBuilder.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ContainerBuilder.php
rename to vendor/symfony/dependency-injection/ContainerBuilder.php
diff --git a/core/vendor/symfony/dependency-injection/ContainerInterface.php b/vendor/symfony/dependency-injection/ContainerInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ContainerInterface.php
rename to vendor/symfony/dependency-injection/ContainerInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Definition.php b/vendor/symfony/dependency-injection/Definition.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Definition.php
rename to vendor/symfony/dependency-injection/Definition.php
diff --git a/core/vendor/symfony/dependency-injection/DefinitionDecorator.php b/vendor/symfony/dependency-injection/DefinitionDecorator.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/DefinitionDecorator.php
rename to vendor/symfony/dependency-injection/DefinitionDecorator.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/Dumper.php b/vendor/symfony/dependency-injection/Dumper/Dumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/Dumper.php
rename to vendor/symfony/dependency-injection/Dumper/Dumper.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/DumperInterface.php b/vendor/symfony/dependency-injection/Dumper/DumperInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/DumperInterface.php
rename to vendor/symfony/dependency-injection/Dumper/DumperInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php b/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php
rename to vendor/symfony/dependency-injection/Dumper/GraphvizDumper.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/PhpDumper.php b/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/PhpDumper.php
rename to vendor/symfony/dependency-injection/Dumper/PhpDumper.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/XmlDumper.php b/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/XmlDumper.php
rename to vendor/symfony/dependency-injection/Dumper/XmlDumper.php
diff --git a/core/vendor/symfony/dependency-injection/Dumper/YamlDumper.php b/vendor/symfony/dependency-injection/Dumper/YamlDumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Dumper/YamlDumper.php
rename to vendor/symfony/dependency-injection/Dumper/YamlDumper.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php b/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/BadMethodCallException.php
rename to vendor/symfony/dependency-injection/Exception/BadMethodCallException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php b/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ExceptionInterface.php
rename to vendor/symfony/dependency-injection/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/InactiveScopeException.php b/vendor/symfony/dependency-injection/Exception/InactiveScopeException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/InactiveScopeException.php
rename to vendor/symfony/dependency-injection/Exception/InactiveScopeException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php b/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php
rename to vendor/symfony/dependency-injection/Exception/InvalidArgumentException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/LogicException.php b/vendor/symfony/dependency-injection/Exception/LogicException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/LogicException.php
rename to vendor/symfony/dependency-injection/Exception/LogicException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php b/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php
rename to vendor/symfony/dependency-injection/Exception/OutOfBoundsException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php b/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php
rename to vendor/symfony/dependency-injection/Exception/ParameterCircularReferenceException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php b/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php
rename to vendor/symfony/dependency-injection/Exception/ParameterNotFoundException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/RuntimeException.php b/vendor/symfony/dependency-injection/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/RuntimeException.php
rename to vendor/symfony/dependency-injection/Exception/RuntimeException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php b/vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php
rename to vendor/symfony/dependency-injection/Exception/ScopeCrossingInjectionException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php b/vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php
rename to vendor/symfony/dependency-injection/Exception/ScopeWideningInjectionException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php b/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php
rename to vendor/symfony/dependency-injection/Exception/ServiceCircularReferenceException.php
diff --git a/core/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php b/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php
rename to vendor/symfony/dependency-injection/Exception/ServiceNotFoundException.php
diff --git a/core/vendor/symfony/dependency-injection/ExpressionLanguage.php b/vendor/symfony/dependency-injection/ExpressionLanguage.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ExpressionLanguage.php
rename to vendor/symfony/dependency-injection/ExpressionLanguage.php
diff --git a/core/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php b/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ExpressionLanguageProvider.php
rename to vendor/symfony/dependency-injection/ExpressionLanguageProvider.php
diff --git a/core/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php b/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php
rename to vendor/symfony/dependency-injection/Extension/ConfigurationExtensionInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Extension/Extension.php b/vendor/symfony/dependency-injection/Extension/Extension.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Extension/Extension.php
rename to vendor/symfony/dependency-injection/Extension/Extension.php
diff --git a/core/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php b/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Extension/ExtensionInterface.php
rename to vendor/symfony/dependency-injection/Extension/ExtensionInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php b/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php
rename to vendor/symfony/dependency-injection/Extension/PrependExtensionInterface.php
diff --git a/core/vendor/symfony/dependency-injection/IntrospectableContainerInterface.php b/vendor/symfony/dependency-injection/IntrospectableContainerInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/IntrospectableContainerInterface.php
rename to vendor/symfony/dependency-injection/IntrospectableContainerInterface.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/LICENSE b/vendor/symfony/dependency-injection/LICENSE
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/LICENSE
rename to vendor/symfony/dependency-injection/LICENSE
diff --git a/core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php b/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
rename to vendor/symfony/dependency-injection/LazyProxy/Instantiator/InstantiatorInterface.php
diff --git a/core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php b/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
rename to vendor/symfony/dependency-injection/LazyProxy/Instantiator/RealServiceInstantiator.php
diff --git a/core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php b/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php
rename to vendor/symfony/dependency-injection/LazyProxy/PhpDumper/DumperInterface.php
diff --git a/core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php b/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php
rename to vendor/symfony/dependency-injection/LazyProxy/PhpDumper/NullDumper.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/ClosureLoader.php b/vendor/symfony/dependency-injection/Loader/ClosureLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/ClosureLoader.php
rename to vendor/symfony/dependency-injection/Loader/ClosureLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/FileLoader.php b/vendor/symfony/dependency-injection/Loader/FileLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/FileLoader.php
rename to vendor/symfony/dependency-injection/Loader/FileLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/IniFileLoader.php b/vendor/symfony/dependency-injection/Loader/IniFileLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/IniFileLoader.php
rename to vendor/symfony/dependency-injection/Loader/IniFileLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php b/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/PhpFileLoader.php
rename to vendor/symfony/dependency-injection/Loader/PhpFileLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php b/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
rename to vendor/symfony/dependency-injection/Loader/XmlFileLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php b/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/YamlFileLoader.php
rename to vendor/symfony/dependency-injection/Loader/YamlFileLoader.php
diff --git a/core/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd b/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd
rename to vendor/symfony/dependency-injection/Loader/schema/dic/services/services-1.0.xsd
diff --git a/core/vendor/symfony/dependency-injection/Parameter.php b/vendor/symfony/dependency-injection/Parameter.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Parameter.php
rename to vendor/symfony/dependency-injection/Parameter.php
diff --git a/core/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php b/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php
rename to vendor/symfony/dependency-injection/ParameterBag/FrozenParameterBag.php
diff --git a/core/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php b/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php
rename to vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php
diff --git a/core/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php b/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php
rename to vendor/symfony/dependency-injection/ParameterBag/ParameterBagInterface.php
diff --git a/core/vendor/symfony/dependency-injection/README.md b/vendor/symfony/dependency-injection/README.md
similarity index 100%
rename from core/vendor/symfony/dependency-injection/README.md
rename to vendor/symfony/dependency-injection/README.md
diff --git a/core/vendor/symfony/dependency-injection/Reference.php b/vendor/symfony/dependency-injection/Reference.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Reference.php
rename to vendor/symfony/dependency-injection/Reference.php
diff --git a/core/vendor/symfony/dependency-injection/Scope.php b/vendor/symfony/dependency-injection/Scope.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Scope.php
rename to vendor/symfony/dependency-injection/Scope.php
diff --git a/core/vendor/symfony/dependency-injection/ScopeInterface.php b/vendor/symfony/dependency-injection/ScopeInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/ScopeInterface.php
rename to vendor/symfony/dependency-injection/ScopeInterface.php
diff --git a/core/vendor/symfony/dependency-injection/SimpleXMLElement.php b/vendor/symfony/dependency-injection/SimpleXMLElement.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/SimpleXMLElement.php
rename to vendor/symfony/dependency-injection/SimpleXMLElement.php
diff --git a/core/vendor/symfony/dependency-injection/TaggedContainerInterface.php b/vendor/symfony/dependency-injection/TaggedContainerInterface.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/TaggedContainerInterface.php
rename to vendor/symfony/dependency-injection/TaggedContainerInterface.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/AnalyzeServiceReferencesPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/AutoAliasServicePassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/CheckCircularReferencesPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/CheckDefinitionValidityPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/CheckExceptionOnInvalidReferenceBehaviorPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/CheckReferenceValidityPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/DecoratorServicePassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/InlineServiceDefinitionsPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/IntegrationTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/LegacyResolveParameterPlaceHoldersPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/MergeExtensionConfigurationPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/RemoveUnusedDefinitionsPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/ReplaceAliasByActualDefinitionPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/ResolveDefinitionTemplatesPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/ResolveInvalidReferencesPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/ResolveParameterPlaceHoldersPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php b/vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
rename to vendor/symfony/dependency-injection/Tests/Compiler/ResolveReferencesToAliasesPassTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php b/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
rename to vendor/symfony/dependency-injection/Tests/ContainerBuilderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ContainerTest.php b/vendor/symfony/dependency-injection/Tests/ContainerTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ContainerTest.php
rename to vendor/symfony/dependency-injection/Tests/ContainerTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/CrossCheckTest.php b/vendor/symfony/dependency-injection/Tests/CrossCheckTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/CrossCheckTest.php
rename to vendor/symfony/dependency-injection/Tests/CrossCheckTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php b/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php
rename to vendor/symfony/dependency-injection/Tests/DefinitionDecoratorTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/DefinitionTest.php b/vendor/symfony/dependency-injection/Tests/DefinitionTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/DefinitionTest.php
rename to vendor/symfony/dependency-injection/Tests/DefinitionTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php
rename to vendor/symfony/dependency-injection/Tests/Dumper/GraphvizDumperTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
rename to vendor/symfony/dependency-injection/Tests/Dumper/PhpDumperTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
rename to vendor/symfony/dependency-injection/Tests/Dumper/XmlDumperTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php b/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php
rename to vendor/symfony/dependency-injection/Tests/Dumper/YamlDumperTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php b/vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php
rename to vendor/symfony/dependency-injection/Tests/Extension/ExtensionTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container10.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container11.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container12.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container13.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container14.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container15.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container16.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container17.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container18.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container19.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container20.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container21.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container8.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/container9.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php b/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/containers/legacy-container9.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/legacy-services9.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services1.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10-1.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services10.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services13.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services14.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services17.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services18.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot b/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot
rename to vendor/symfony/dependency-injection/Tests/Fixtures/graphviz/services9.dot
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectExtension.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtension.php
diff --git a/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
new file mode 100644
index 0000000..040e136
--- /dev/null
+++ b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/ProjectWithXsdExtensionInPhar.phar
@@ -0,0 +1,32 @@
+<?php Phar::mapPhar("ProjectWithXsdExtensionInPhar.phar"); require_once "phar://ProjectWithXsdExtensionInPhar.phar/ProjectWithXsdExtensionInPhar.php"; __HALT_COMPILER(); ?>
+£          "   ProjectWithXsdExtensionInPhar.phar    !   ProjectWithXsdExtensionInPhar.phpl   T’Ul  ÆWÑ¶         schema/project-1.0.xsd¬   T’U¬  rr‰ö¶      <?php
+
+class ProjectWithXsdExtensionInPhar extends ProjectExtension
+{
+    public function getXsdValidationBasePath()
+    {
+        return __DIR__.'/schema';
+    }
+
+    public function getNamespace()
+    {
+        return 'http://www.example.com/schema/projectwithxsdinphar';
+    }
+
+    public function getAlias()
+    {
+        return 'projectwithxsdinphar';
+    }
+}<?xml version="1.0" encoding="UTF-8" ?>
+
+<xsd:schema xmlns="http://www.example.com/schema/projectwithxsdinphar"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+    targetNamespace="http://www.example.com/schema/projectwithxsdinphar"
+    elementFormDefault="qualified">
+
+  <xsd:element name="bar" type="bar" />
+
+  <xsd:complexType name="bar">
+    <xsd:attribute name="foo" type="xsd:string" />
+  </xsd:complexType>
+</xsd:schema>ÿ|ÔÓÚM*cý(ã.ˆk&`Œ   GBMB
\ No newline at end of file
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/classes.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/createphar.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/foo.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd b/vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd
rename to vendor/symfony/dependency-injection/Tests/Fixtures/includes/schema/project-1.0.xsd
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini b/vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini
rename to vendor/symfony/dependency-injection/Tests/Fixtures/ini/nonvalid.ini
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini b/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini
rename to vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters.ini
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini b/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini
rename to vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters1.ini
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini b/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini
rename to vendor/symfony/dependency-injection/Tests/Fixtures/ini/parameters2.ini
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services1-1.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services1.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services10.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services12.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services19.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services20.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services8.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services9.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/services9_compiled.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php b/vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php
rename to vendor/symfony/dependency-injection/Tests/Fixtures/php/simple.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension1/services.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extension2/services.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services1.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services2.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services3.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services4.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services5.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services6.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/extensions/services7.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services6.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/legacy-services9.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/namespaces.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/nonvalid.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services1.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services10.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services13.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services14.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services2.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services20.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services21.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services3.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services4_bad_import.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services5.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services6.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services7.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services8.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/services9.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml b/vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_calls.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_import.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_imports.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_parameters.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_service.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/bad_services.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag1.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag2.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag3.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/badtag4.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services6.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/legacy-services9.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid1.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/nonvalid2.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services1.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services10.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services11.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services13.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services14.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services2.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services20.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services21.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services3.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services4_bad_import.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services6.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services7.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services8.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml b/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml
rename to vendor/symfony/dependency-injection/Tests/Fixtures/yaml/services9.yml
diff --git a/core/vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php b/vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php
rename to vendor/symfony/dependency-injection/Tests/LazyProxy/Instantiator/RealServiceInstantiatorTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php b/vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php
rename to vendor/symfony/dependency-injection/Tests/LazyProxy/PhpDumper/NullDumperTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php b/vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php
rename to vendor/symfony/dependency-injection/Tests/LegacyContainerBuilderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php b/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php
rename to vendor/symfony/dependency-injection/Tests/LegacyDefinitionTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php
rename to vendor/symfony/dependency-injection/Tests/Loader/ClosureLoaderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php
rename to vendor/symfony/dependency-injection/Tests/Loader/IniFileLoaderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php
rename to vendor/symfony/dependency-injection/Tests/Loader/PhpFileLoaderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
rename to vendor/symfony/dependency-injection/Tests/Loader/XmlFileLoaderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
rename to vendor/symfony/dependency-injection/Tests/Loader/YamlFileLoaderTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php b/vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php
rename to vendor/symfony/dependency-injection/Tests/ParameterBag/FrozenParameterBagTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php b/vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php
rename to vendor/symfony/dependency-injection/Tests/ParameterBag/ParameterBagTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ParameterTest.php b/vendor/symfony/dependency-injection/Tests/ParameterTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ParameterTest.php
rename to vendor/symfony/dependency-injection/Tests/ParameterTest.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/ReferenceTest.php b/vendor/symfony/dependency-injection/Tests/ReferenceTest.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/ReferenceTest.php
rename to vendor/symfony/dependency-injection/Tests/ReferenceTest.php
diff --git a/core/vendor/symfony/dependency-injection/Variable.php b/vendor/symfony/dependency-injection/Variable.php
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Variable.php
rename to vendor/symfony/dependency-injection/Variable.php
diff --git a/core/vendor/symfony/dependency-injection/composer.json b/vendor/symfony/dependency-injection/composer.json
similarity index 100%
rename from core/vendor/symfony/dependency-injection/composer.json
rename to vendor/symfony/dependency-injection/composer.json
diff --git a/core/vendor/symfony/dependency-injection/phpunit.xml.dist b/vendor/symfony/dependency-injection/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/dependency-injection/phpunit.xml.dist
rename to vendor/symfony/dependency-injection/phpunit.xml.dist
diff --git a/core/vendor/symfony/http-foundation/.gitignore b/vendor/symfony/dom-crawler/.gitignore
similarity index 100%
rename from core/vendor/symfony/http-foundation/.gitignore
rename to vendor/symfony/dom-crawler/.gitignore
diff --git a/core/vendor/symfony/dom-crawler/CHANGELOG.md b/vendor/symfony/dom-crawler/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/dom-crawler/CHANGELOG.md
rename to vendor/symfony/dom-crawler/CHANGELOG.md
diff --git a/core/vendor/symfony/dom-crawler/Crawler.php b/vendor/symfony/dom-crawler/Crawler.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Crawler.php
rename to vendor/symfony/dom-crawler/Crawler.php
diff --git a/core/vendor/symfony/dom-crawler/Field/ChoiceFormField.php b/vendor/symfony/dom-crawler/Field/ChoiceFormField.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Field/ChoiceFormField.php
rename to vendor/symfony/dom-crawler/Field/ChoiceFormField.php
diff --git a/core/vendor/symfony/dom-crawler/Field/FileFormField.php b/vendor/symfony/dom-crawler/Field/FileFormField.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Field/FileFormField.php
rename to vendor/symfony/dom-crawler/Field/FileFormField.php
diff --git a/core/vendor/symfony/dom-crawler/Field/FormField.php b/vendor/symfony/dom-crawler/Field/FormField.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Field/FormField.php
rename to vendor/symfony/dom-crawler/Field/FormField.php
diff --git a/core/vendor/symfony/dom-crawler/Field/InputFormField.php b/vendor/symfony/dom-crawler/Field/InputFormField.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Field/InputFormField.php
rename to vendor/symfony/dom-crawler/Field/InputFormField.php
diff --git a/core/vendor/symfony/dom-crawler/Field/TextareaFormField.php b/vendor/symfony/dom-crawler/Field/TextareaFormField.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Field/TextareaFormField.php
rename to vendor/symfony/dom-crawler/Field/TextareaFormField.php
diff --git a/core/vendor/symfony/dom-crawler/Form.php b/vendor/symfony/dom-crawler/Form.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Form.php
rename to vendor/symfony/dom-crawler/Form.php
diff --git a/core/vendor/symfony/dom-crawler/FormFieldRegistry.php b/vendor/symfony/dom-crawler/FormFieldRegistry.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/FormFieldRegistry.php
rename to vendor/symfony/dom-crawler/FormFieldRegistry.php
diff --git a/core/vendor/symfony/process/LICENSE b/vendor/symfony/dom-crawler/LICENSE
similarity index 100%
rename from core/vendor/symfony/process/LICENSE
rename to vendor/symfony/dom-crawler/LICENSE
diff --git a/core/vendor/symfony/dom-crawler/Link.php b/vendor/symfony/dom-crawler/Link.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Link.php
rename to vendor/symfony/dom-crawler/Link.php
diff --git a/core/vendor/symfony/dom-crawler/README.md b/vendor/symfony/dom-crawler/README.md
similarity index 100%
rename from core/vendor/symfony/dom-crawler/README.md
rename to vendor/symfony/dom-crawler/README.md
diff --git a/core/vendor/symfony/dom-crawler/Tests/CrawlerTest.php b/vendor/symfony/dom-crawler/Tests/CrawlerTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/CrawlerTest.php
rename to vendor/symfony/dom-crawler/Tests/CrawlerTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/ChoiceFormFieldTest.php b/vendor/symfony/dom-crawler/Tests/Field/ChoiceFormFieldTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/ChoiceFormFieldTest.php
rename to vendor/symfony/dom-crawler/Tests/Field/ChoiceFormFieldTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/FileFormFieldTest.php b/vendor/symfony/dom-crawler/Tests/Field/FileFormFieldTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/FileFormFieldTest.php
rename to vendor/symfony/dom-crawler/Tests/Field/FileFormFieldTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/FormFieldTest.php b/vendor/symfony/dom-crawler/Tests/Field/FormFieldTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/FormFieldTest.php
rename to vendor/symfony/dom-crawler/Tests/Field/FormFieldTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/FormFieldTestCase.php b/vendor/symfony/dom-crawler/Tests/Field/FormFieldTestCase.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/FormFieldTestCase.php
rename to vendor/symfony/dom-crawler/Tests/Field/FormFieldTestCase.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/InputFormFieldTest.php b/vendor/symfony/dom-crawler/Tests/Field/InputFormFieldTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/InputFormFieldTest.php
rename to vendor/symfony/dom-crawler/Tests/Field/InputFormFieldTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Field/TextareaFormFieldTest.php b/vendor/symfony/dom-crawler/Tests/Field/TextareaFormFieldTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Field/TextareaFormFieldTest.php
rename to vendor/symfony/dom-crawler/Tests/Field/TextareaFormFieldTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/Fixtures/no-extension b/vendor/symfony/dom-crawler/Tests/Fixtures/no-extension
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Fixtures/no-extension
rename to vendor/symfony/dom-crawler/Tests/Fixtures/no-extension
diff --git a/core/vendor/symfony/dom-crawler/Tests/Fixtures/windows-1250.html b/vendor/symfony/dom-crawler/Tests/Fixtures/windows-1250.html
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/Fixtures/windows-1250.html
rename to vendor/symfony/dom-crawler/Tests/Fixtures/windows-1250.html
diff --git a/core/vendor/symfony/dom-crawler/Tests/FormTest.php b/vendor/symfony/dom-crawler/Tests/FormTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/FormTest.php
rename to vendor/symfony/dom-crawler/Tests/FormTest.php
diff --git a/core/vendor/symfony/dom-crawler/Tests/LinkTest.php b/vendor/symfony/dom-crawler/Tests/LinkTest.php
similarity index 100%
rename from core/vendor/symfony/dom-crawler/Tests/LinkTest.php
rename to vendor/symfony/dom-crawler/Tests/LinkTest.php
diff --git a/core/vendor/symfony/dom-crawler/composer.json b/vendor/symfony/dom-crawler/composer.json
similarity index 100%
rename from core/vendor/symfony/dom-crawler/composer.json
rename to vendor/symfony/dom-crawler/composer.json
diff --git a/core/vendor/symfony/dom-crawler/phpunit.xml.dist b/vendor/symfony/dom-crawler/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/dom-crawler/phpunit.xml.dist
rename to vendor/symfony/dom-crawler/phpunit.xml.dist
diff --git a/core/vendor/symfony/event-dispatcher/.gitignore b/vendor/symfony/event-dispatcher/.gitignore
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/.gitignore
rename to vendor/symfony/event-dispatcher/.gitignore
diff --git a/core/vendor/symfony/event-dispatcher/CHANGELOG.md b/vendor/symfony/event-dispatcher/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/CHANGELOG.md
rename to vendor/symfony/event-dispatcher/CHANGELOG.md
diff --git a/core/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php b/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php
rename to vendor/symfony/event-dispatcher/ContainerAwareEventDispatcher.php
diff --git a/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
rename to vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php
diff --git a/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php
rename to vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcherInterface.php
diff --git a/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/vendor/symfony/event-dispatcher/Debug/WrappedListener.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php
rename to vendor/symfony/event-dispatcher/Debug/WrappedListener.php
diff --git a/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php b/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
rename to vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php
diff --git a/core/vendor/symfony/event-dispatcher/Event.php b/vendor/symfony/event-dispatcher/Event.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Event.php
rename to vendor/symfony/event-dispatcher/Event.php
diff --git a/core/vendor/symfony/event-dispatcher/EventDispatcher.php b/vendor/symfony/event-dispatcher/EventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/EventDispatcher.php
rename to vendor/symfony/event-dispatcher/EventDispatcher.php
diff --git a/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php b/vendor/symfony/event-dispatcher/EventDispatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php
rename to vendor/symfony/event-dispatcher/EventDispatcherInterface.php
diff --git a/core/vendor/symfony/event-dispatcher/EventSubscriberInterface.php b/vendor/symfony/event-dispatcher/EventSubscriberInterface.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/EventSubscriberInterface.php
rename to vendor/symfony/event-dispatcher/EventSubscriberInterface.php
diff --git a/core/vendor/symfony/event-dispatcher/GenericEvent.php b/vendor/symfony/event-dispatcher/GenericEvent.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/GenericEvent.php
rename to vendor/symfony/event-dispatcher/GenericEvent.php
diff --git a/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
rename to vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php
diff --git a/core/vendor/symfony/http-kernel/LICENSE b/vendor/symfony/event-dispatcher/LICENSE
similarity index 100%
rename from core/vendor/symfony/http-kernel/LICENSE
rename to vendor/symfony/event-dispatcher/LICENSE
diff --git a/core/vendor/symfony/event-dispatcher/README.md b/vendor/symfony/event-dispatcher/README.md
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/README.md
rename to vendor/symfony/event-dispatcher/README.md
diff --git a/core/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php
rename to vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php
rename to vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php
rename to vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php b/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
rename to vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php
rename to vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/EventTest.php b/vendor/symfony/event-dispatcher/Tests/EventTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/EventTest.php
rename to vendor/symfony/event-dispatcher/Tests/EventTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php b/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/GenericEventTest.php
rename to vendor/symfony/event-dispatcher/Tests/GenericEventTest.php
diff --git a/core/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php b/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php
rename to vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php
diff --git a/core/vendor/symfony/event-dispatcher/composer.json b/vendor/symfony/event-dispatcher/composer.json
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/composer.json
rename to vendor/symfony/event-dispatcher/composer.json
diff --git a/core/vendor/symfony/event-dispatcher/phpunit.xml.dist b/vendor/symfony/event-dispatcher/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/phpunit.xml.dist
rename to vendor/symfony/event-dispatcher/phpunit.xml.dist
diff --git a/core/vendor/symfony/dom-crawler/.gitignore b/vendor/symfony/http-foundation/.gitignore
similarity index 100%
rename from core/vendor/symfony/dom-crawler/.gitignore
rename to vendor/symfony/http-foundation/.gitignore
diff --git a/core/vendor/symfony/http-foundation/AcceptHeader.php b/vendor/symfony/http-foundation/AcceptHeader.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/AcceptHeader.php
rename to vendor/symfony/http-foundation/AcceptHeader.php
diff --git a/core/vendor/symfony/http-foundation/AcceptHeaderItem.php b/vendor/symfony/http-foundation/AcceptHeaderItem.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/AcceptHeaderItem.php
rename to vendor/symfony/http-foundation/AcceptHeaderItem.php
diff --git a/core/vendor/symfony/http-foundation/ApacheRequest.php b/vendor/symfony/http-foundation/ApacheRequest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/ApacheRequest.php
rename to vendor/symfony/http-foundation/ApacheRequest.php
diff --git a/core/vendor/symfony/http-foundation/BinaryFileResponse.php b/vendor/symfony/http-foundation/BinaryFileResponse.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/BinaryFileResponse.php
rename to vendor/symfony/http-foundation/BinaryFileResponse.php
diff --git a/core/vendor/symfony/http-foundation/CHANGELOG.md b/vendor/symfony/http-foundation/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/http-foundation/CHANGELOG.md
rename to vendor/symfony/http-foundation/CHANGELOG.md
diff --git a/core/vendor/symfony/http-foundation/Cookie.php b/vendor/symfony/http-foundation/Cookie.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Cookie.php
rename to vendor/symfony/http-foundation/Cookie.php
diff --git a/core/vendor/symfony/http-foundation/ExpressionRequestMatcher.php b/vendor/symfony/http-foundation/ExpressionRequestMatcher.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/ExpressionRequestMatcher.php
rename to vendor/symfony/http-foundation/ExpressionRequestMatcher.php
diff --git a/core/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php b/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php
rename to vendor/symfony/http-foundation/File/Exception/AccessDeniedException.php
diff --git a/core/vendor/symfony/http-foundation/File/Exception/FileException.php b/vendor/symfony/http-foundation/File/Exception/FileException.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/Exception/FileException.php
rename to vendor/symfony/http-foundation/File/Exception/FileException.php
diff --git a/core/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php b/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php
rename to vendor/symfony/http-foundation/File/Exception/FileNotFoundException.php
diff --git a/core/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php b/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php
rename to vendor/symfony/http-foundation/File/Exception/UnexpectedTypeException.php
diff --git a/core/vendor/symfony/http-foundation/File/Exception/UploadException.php b/vendor/symfony/http-foundation/File/Exception/UploadException.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/Exception/UploadException.php
rename to vendor/symfony/http-foundation/File/Exception/UploadException.php
diff --git a/core/vendor/symfony/http-foundation/File/File.php b/vendor/symfony/http-foundation/File/File.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/File.php
rename to vendor/symfony/http-foundation/File/File.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php b/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
rename to vendor/symfony/http-foundation/File/MimeType/ExtensionGuesser.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php b/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php
rename to vendor/symfony/http-foundation/File/MimeType/ExtensionGuesserInterface.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php b/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php
rename to vendor/symfony/http-foundation/File/MimeType/FileBinaryMimeTypeGuesser.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php b/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php
rename to vendor/symfony/http-foundation/File/MimeType/FileinfoMimeTypeGuesser.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
rename to vendor/symfony/http-foundation/File/MimeType/MimeTypeExtensionGuesser.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
rename to vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesser.php
diff --git a/core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php b/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php
rename to vendor/symfony/http-foundation/File/MimeType/MimeTypeGuesserInterface.php
diff --git a/core/vendor/symfony/http-foundation/File/UploadedFile.php b/vendor/symfony/http-foundation/File/UploadedFile.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/File/UploadedFile.php
rename to vendor/symfony/http-foundation/File/UploadedFile.php
diff --git a/core/vendor/symfony/http-foundation/FileBag.php b/vendor/symfony/http-foundation/FileBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/FileBag.php
rename to vendor/symfony/http-foundation/FileBag.php
diff --git a/core/vendor/symfony/http-foundation/HeaderBag.php b/vendor/symfony/http-foundation/HeaderBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/HeaderBag.php
rename to vendor/symfony/http-foundation/HeaderBag.php
diff --git a/core/vendor/symfony/http-foundation/IpUtils.php b/vendor/symfony/http-foundation/IpUtils.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/IpUtils.php
rename to vendor/symfony/http-foundation/IpUtils.php
diff --git a/core/vendor/symfony/http-foundation/JsonResponse.php b/vendor/symfony/http-foundation/JsonResponse.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/JsonResponse.php
rename to vendor/symfony/http-foundation/JsonResponse.php
diff --git a/core/vendor/symfony/http-foundation/LICENSE b/vendor/symfony/http-foundation/LICENSE
similarity index 100%
rename from core/vendor/symfony/http-foundation/LICENSE
rename to vendor/symfony/http-foundation/LICENSE
diff --git a/core/vendor/symfony/http-foundation/ParameterBag.php b/vendor/symfony/http-foundation/ParameterBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/ParameterBag.php
rename to vendor/symfony/http-foundation/ParameterBag.php
diff --git a/core/vendor/symfony/http-foundation/README.md b/vendor/symfony/http-foundation/README.md
similarity index 100%
rename from core/vendor/symfony/http-foundation/README.md
rename to vendor/symfony/http-foundation/README.md
diff --git a/core/vendor/symfony/http-foundation/RedirectResponse.php b/vendor/symfony/http-foundation/RedirectResponse.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/RedirectResponse.php
rename to vendor/symfony/http-foundation/RedirectResponse.php
diff --git a/core/vendor/symfony/http-foundation/Request.php b/vendor/symfony/http-foundation/Request.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Request.php
rename to vendor/symfony/http-foundation/Request.php
diff --git a/core/vendor/symfony/http-foundation/RequestMatcher.php b/vendor/symfony/http-foundation/RequestMatcher.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/RequestMatcher.php
rename to vendor/symfony/http-foundation/RequestMatcher.php
diff --git a/core/vendor/symfony/http-foundation/RequestMatcherInterface.php b/vendor/symfony/http-foundation/RequestMatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/RequestMatcherInterface.php
rename to vendor/symfony/http-foundation/RequestMatcherInterface.php
diff --git a/core/vendor/symfony/http-foundation/RequestStack.php b/vendor/symfony/http-foundation/RequestStack.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/RequestStack.php
rename to vendor/symfony/http-foundation/RequestStack.php
diff --git a/core/vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php b/vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php
rename to vendor/symfony/http-foundation/Resources/stubs/SessionHandlerInterface.php
diff --git a/core/vendor/symfony/http-foundation/Response.php b/vendor/symfony/http-foundation/Response.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Response.php
rename to vendor/symfony/http-foundation/Response.php
diff --git a/core/vendor/symfony/http-foundation/ResponseHeaderBag.php b/vendor/symfony/http-foundation/ResponseHeaderBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/ResponseHeaderBag.php
rename to vendor/symfony/http-foundation/ResponseHeaderBag.php
diff --git a/core/vendor/symfony/http-foundation/ServerBag.php b/vendor/symfony/http-foundation/ServerBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/ServerBag.php
rename to vendor/symfony/http-foundation/ServerBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php b/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
rename to vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php b/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php
rename to vendor/symfony/http-foundation/Session/Attribute/AttributeBagInterface.php
diff --git a/core/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php b/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
rename to vendor/symfony/http-foundation/Session/Attribute/NamespacedAttributeBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php b/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
rename to vendor/symfony/http-foundation/Session/Flash/AutoExpireFlashBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Flash/FlashBag.php b/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Flash/FlashBag.php
rename to vendor/symfony/http-foundation/Session/Flash/FlashBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php b/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
rename to vendor/symfony/http-foundation/Session/Flash/FlashBagInterface.php
diff --git a/core/vendor/symfony/http-foundation/Session/Session.php b/vendor/symfony/http-foundation/Session/Session.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Session.php
rename to vendor/symfony/http-foundation/Session/Session.php
diff --git a/core/vendor/symfony/http-foundation/Session/SessionBagInterface.php b/vendor/symfony/http-foundation/Session/SessionBagInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/SessionBagInterface.php
rename to vendor/symfony/http-foundation/Session/SessionBagInterface.php
diff --git a/core/vendor/symfony/http-foundation/Session/SessionInterface.php b/vendor/symfony/http-foundation/Session/SessionInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/SessionInterface.php
rename to vendor/symfony/http-foundation/Session/SessionInterface.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/LegacyPdoSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/MemcacheSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/MemcachedSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/MongoDbSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/NativeSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/NullSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php b/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
rename to vendor/symfony/http-foundation/Session/Storage/Handler/WriteCheckSessionHandler.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php b/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/MetadataBag.php
rename to vendor/symfony/http-foundation/Session/Storage/MetadataBag.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
rename to vendor/symfony/http-foundation/Session/Storage/MockArraySessionStorage.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
rename to vendor/symfony/http-foundation/Session/Storage/MockFileSessionStorage.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
rename to vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php b/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php
rename to vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php b/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php
rename to vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php b/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
rename to vendor/symfony/http-foundation/Session/Storage/Proxy/NativeProxy.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php b/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
rename to vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php
diff --git a/core/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php b/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
rename to vendor/symfony/http-foundation/Session/Storage/SessionStorageInterface.php
diff --git a/core/vendor/symfony/http-foundation/StreamedResponse.php b/vendor/symfony/http-foundation/StreamedResponse.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/StreamedResponse.php
rename to vendor/symfony/http-foundation/StreamedResponse.php
diff --git a/core/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php b/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php
rename to vendor/symfony/http-foundation/Tests/AcceptHeaderItemTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php b/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php
rename to vendor/symfony/http-foundation/Tests/AcceptHeaderTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php b/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ApacheRequestTest.php
rename to vendor/symfony/http-foundation/Tests/ApacheRequestTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php b/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
rename to vendor/symfony/http-foundation/Tests/BinaryFileResponseTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ClockMock.php b/vendor/symfony/http-foundation/Tests/ClockMock.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ClockMock.php
rename to vendor/symfony/http-foundation/Tests/ClockMock.php
diff --git a/core/vendor/symfony/http-foundation/Tests/CookieTest.php b/vendor/symfony/http-foundation/Tests/CookieTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/CookieTest.php
rename to vendor/symfony/http-foundation/Tests/CookieTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php b/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php
rename to vendor/symfony/http-foundation/Tests/ExpressionRequestMatcherTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/File/FakeFile.php b/vendor/symfony/http-foundation/Tests/File/FakeFile.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/FakeFile.php
rename to vendor/symfony/http-foundation/Tests/File/FakeFile.php
diff --git a/core/vendor/symfony/http-foundation/Tests/File/FileTest.php b/vendor/symfony/http-foundation/Tests/File/FileTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/FileTest.php
rename to vendor/symfony/http-foundation/Tests/File/FileTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension b/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension
rename to vendor/symfony/http-foundation/Tests/File/Fixtures/.unknownextension
diff --git a/core/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty b/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty
rename to vendor/symfony/http-foundation/Tests/File/Fixtures/directory/.empty
diff --git a/core/vendor/symfony/http-foundation/Tests/File/Fixtures/other-file.example b/vendor/symfony/http-foundation/Tests/File/Fixtures/other-file.example
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/Fixtures/other-file.example
rename to vendor/symfony/http-foundation/Tests/File/Fixtures/other-file.example
diff --git a/core/vendor/symfony/http-foundation/Tests/File/Fixtures/test b/vendor/symfony/http-foundation/Tests/File/Fixtures/test
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/Fixtures/test
rename to vendor/symfony/http-foundation/Tests/File/Fixtures/test
diff --git a/core/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif b/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif
rename to vendor/symfony/http-foundation/Tests/File/Fixtures/test.gif
diff --git a/core/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php b/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
rename to vendor/symfony/http-foundation/Tests/File/MimeType/MimeTypeTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php b/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
rename to vendor/symfony/http-foundation/Tests/File/UploadedFileTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/FileBagTest.php b/vendor/symfony/http-foundation/Tests/FileBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/FileBagTest.php
rename to vendor/symfony/http-foundation/Tests/FileBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/HeaderBagTest.php b/vendor/symfony/http-foundation/Tests/HeaderBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/HeaderBagTest.php
rename to vendor/symfony/http-foundation/Tests/HeaderBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/IpUtilsTest.php b/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/IpUtilsTest.php
rename to vendor/symfony/http-foundation/Tests/IpUtilsTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/JsonResponseTest.php b/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/JsonResponseTest.php
rename to vendor/symfony/http-foundation/Tests/JsonResponseTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ParameterBagTest.php b/vendor/symfony/http-foundation/Tests/ParameterBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ParameterBagTest.php
rename to vendor/symfony/http-foundation/Tests/ParameterBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php b/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/RedirectResponseTest.php
rename to vendor/symfony/http-foundation/Tests/RedirectResponseTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php b/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/RequestMatcherTest.php
rename to vendor/symfony/http-foundation/Tests/RequestMatcherTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/RequestStackTest.php b/vendor/symfony/http-foundation/Tests/RequestStackTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/RequestStackTest.php
rename to vendor/symfony/http-foundation/Tests/RequestStackTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/RequestTest.php b/vendor/symfony/http-foundation/Tests/RequestTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/RequestTest.php
rename to vendor/symfony/http-foundation/Tests/RequestTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php b/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
rename to vendor/symfony/http-foundation/Tests/ResponseHeaderBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ResponseTest.php b/vendor/symfony/http-foundation/Tests/ResponseTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ResponseTest.php
rename to vendor/symfony/http-foundation/Tests/ResponseTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ResponseTestCase.php b/vendor/symfony/http-foundation/Tests/ResponseTestCase.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ResponseTestCase.php
rename to vendor/symfony/http-foundation/Tests/ResponseTestCase.php
diff --git a/core/vendor/symfony/http-foundation/Tests/ServerBagTest.php b/vendor/symfony/http-foundation/Tests/ServerBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/ServerBagTest.php
rename to vendor/symfony/http-foundation/Tests/ServerBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Attribute/AttributeBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Attribute/NamespacedAttributeBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Flash/AutoExpireFlashBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Flash/FlashBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/SessionTest.php b/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/SessionTest.php
rename to vendor/symfony/http-foundation/Tests/Session/SessionTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/LegacyPdoSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcacheSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MemcachedSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/MongoDbSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NativeSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/NullSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/PdoSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Handler/WriteCheckSessionHandlerTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/MetadataBagTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/MockArraySessionStorageTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/MockFileSessionStorageTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/NativeSessionStorageTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/NativeProxyTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php b/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
rename to vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/SessionHandlerProxyTest.php
diff --git a/core/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php b/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
similarity index 100%
rename from core/vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
rename to vendor/symfony/http-foundation/Tests/StreamedResponseTest.php
diff --git a/core/vendor/symfony/http-foundation/composer.json b/vendor/symfony/http-foundation/composer.json
similarity index 100%
rename from core/vendor/symfony/http-foundation/composer.json
rename to vendor/symfony/http-foundation/composer.json
diff --git a/core/vendor/symfony/http-foundation/phpunit.xml.dist b/vendor/symfony/http-foundation/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/http-foundation/phpunit.xml.dist
rename to vendor/symfony/http-foundation/phpunit.xml.dist
diff --git a/core/vendor/symfony/http-kernel/.gitignore b/vendor/symfony/http-kernel/.gitignore
similarity index 100%
rename from core/vendor/symfony/http-kernel/.gitignore
rename to vendor/symfony/http-kernel/.gitignore
diff --git a/core/vendor/symfony/http-kernel/Bundle/Bundle.php b/vendor/symfony/http-kernel/Bundle/Bundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Bundle/Bundle.php
rename to vendor/symfony/http-kernel/Bundle/Bundle.php
diff --git a/core/vendor/symfony/http-kernel/Bundle/BundleInterface.php b/vendor/symfony/http-kernel/Bundle/BundleInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Bundle/BundleInterface.php
rename to vendor/symfony/http-kernel/Bundle/BundleInterface.php
diff --git a/core/vendor/symfony/http-kernel/CHANGELOG.md b/vendor/symfony/http-kernel/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/http-kernel/CHANGELOG.md
rename to vendor/symfony/http-kernel/CHANGELOG.md
diff --git a/core/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php b/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php
rename to vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php
diff --git a/core/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php b/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php
rename to vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php
diff --git a/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php b/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php
rename to vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php
diff --git a/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php b/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php
rename to vendor/symfony/http-kernel/CacheWarmer/CacheWarmerAggregate.php
diff --git a/core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php b/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php
rename to vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php
diff --git a/core/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php b/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php
rename to vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php
diff --git a/core/vendor/symfony/http-kernel/Client.php b/vendor/symfony/http-kernel/Client.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Client.php
rename to vendor/symfony/http-kernel/Client.php
diff --git a/core/vendor/symfony/http-kernel/Config/EnvParametersResource.php b/vendor/symfony/http-kernel/Config/EnvParametersResource.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Config/EnvParametersResource.php
rename to vendor/symfony/http-kernel/Config/EnvParametersResource.php
diff --git a/core/vendor/symfony/http-kernel/Config/FileLocator.php b/vendor/symfony/http-kernel/Config/FileLocator.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Config/FileLocator.php
rename to vendor/symfony/http-kernel/Config/FileLocator.php
diff --git a/core/vendor/symfony/http-kernel/Controller/ControllerReference.php b/vendor/symfony/http-kernel/Controller/ControllerReference.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Controller/ControllerReference.php
rename to vendor/symfony/http-kernel/Controller/ControllerReference.php
diff --git a/core/vendor/symfony/http-kernel/Controller/ControllerResolver.php b/vendor/symfony/http-kernel/Controller/ControllerResolver.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Controller/ControllerResolver.php
rename to vendor/symfony/http-kernel/Controller/ControllerResolver.php
diff --git a/core/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php b/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php
rename to vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php
diff --git a/core/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php b/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php
rename to vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php b/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/ConfigDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/DataCollector.php b/vendor/symfony/http-kernel/DataCollector/DataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/DataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/DataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php b/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php
rename to vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php b/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/DumpDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php b/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/EventDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/EventDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php b/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php b/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php
rename to vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php b/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/LoggerDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php b/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/MemoryDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php b/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/RequestDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php b/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/RouterDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php b/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
rename to vendor/symfony/http-kernel/DataCollector/TimeDataCollector.php
diff --git a/core/vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php b/vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php
rename to vendor/symfony/http-kernel/DataCollector/Util/ValueExporter.php
diff --git a/core/vendor/symfony/http-kernel/Debug/ErrorHandler.php b/vendor/symfony/http-kernel/Debug/ErrorHandler.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Debug/ErrorHandler.php
rename to vendor/symfony/http-kernel/Debug/ErrorHandler.php
diff --git a/core/vendor/symfony/http-kernel/Debug/ExceptionHandler.php b/vendor/symfony/http-kernel/Debug/ExceptionHandler.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Debug/ExceptionHandler.php
rename to vendor/symfony/http-kernel/Debug/ExceptionHandler.php
diff --git a/core/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php b/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php
rename to vendor/symfony/http-kernel/Debug/TraceableEventDispatcher.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php b/vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php
rename to vendor/symfony/http-kernel/DependencyInjection/AddClassesToCachePass.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php b/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php
rename to vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php b/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php
rename to vendor/symfony/http-kernel/DependencyInjection/ContainerAwareHttpKernel.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/Extension.php b/vendor/symfony/http-kernel/DependencyInjection/Extension.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/Extension.php
rename to vendor/symfony/http-kernel/DependencyInjection/Extension.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php b/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php
rename to vendor/symfony/http-kernel/DependencyInjection/FragmentRendererPass.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php b/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php
rename to vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php b/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php
rename to vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php
diff --git a/core/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php b/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php
rename to vendor/symfony/http-kernel/DependencyInjection/RegisterListenersPass.php
diff --git a/core/vendor/symfony/http-kernel/Event/FilterControllerEvent.php b/vendor/symfony/http-kernel/Event/FilterControllerEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/FilterControllerEvent.php
rename to vendor/symfony/http-kernel/Event/FilterControllerEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/FilterResponseEvent.php b/vendor/symfony/http-kernel/Event/FilterResponseEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/FilterResponseEvent.php
rename to vendor/symfony/http-kernel/Event/FilterResponseEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/FinishRequestEvent.php b/vendor/symfony/http-kernel/Event/FinishRequestEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/FinishRequestEvent.php
rename to vendor/symfony/http-kernel/Event/FinishRequestEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/GetResponseEvent.php b/vendor/symfony/http-kernel/Event/GetResponseEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/GetResponseEvent.php
rename to vendor/symfony/http-kernel/Event/GetResponseEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php b/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php
rename to vendor/symfony/http-kernel/Event/GetResponseForControllerResultEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php b/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php
rename to vendor/symfony/http-kernel/Event/GetResponseForExceptionEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/KernelEvent.php b/vendor/symfony/http-kernel/Event/KernelEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/KernelEvent.php
rename to vendor/symfony/http-kernel/Event/KernelEvent.php
diff --git a/core/vendor/symfony/http-kernel/Event/PostResponseEvent.php b/vendor/symfony/http-kernel/Event/PostResponseEvent.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Event/PostResponseEvent.php
rename to vendor/symfony/http-kernel/Event/PostResponseEvent.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php b/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php
rename to vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php b/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
rename to vendor/symfony/http-kernel/EventListener/DebugHandlersListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/DumpListener.php b/vendor/symfony/http-kernel/EventListener/DumpListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/DumpListener.php
rename to vendor/symfony/http-kernel/EventListener/DumpListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php b/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php
rename to vendor/symfony/http-kernel/EventListener/ErrorsLoggerListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/EsiListener.php b/vendor/symfony/http-kernel/EventListener/EsiListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/EsiListener.php
rename to vendor/symfony/http-kernel/EventListener/EsiListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/ExceptionListener.php b/vendor/symfony/http-kernel/EventListener/ExceptionListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/ExceptionListener.php
rename to vendor/symfony/http-kernel/EventListener/ExceptionListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/FragmentListener.php b/vendor/symfony/http-kernel/EventListener/FragmentListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/FragmentListener.php
rename to vendor/symfony/http-kernel/EventListener/FragmentListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/LocaleListener.php b/vendor/symfony/http-kernel/EventListener/LocaleListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/LocaleListener.php
rename to vendor/symfony/http-kernel/EventListener/LocaleListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/ProfilerListener.php b/vendor/symfony/http-kernel/EventListener/ProfilerListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/ProfilerListener.php
rename to vendor/symfony/http-kernel/EventListener/ProfilerListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/ResponseListener.php b/vendor/symfony/http-kernel/EventListener/ResponseListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/ResponseListener.php
rename to vendor/symfony/http-kernel/EventListener/ResponseListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/RouterListener.php b/vendor/symfony/http-kernel/EventListener/RouterListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/RouterListener.php
rename to vendor/symfony/http-kernel/EventListener/RouterListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php b/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/SaveSessionListener.php
rename to vendor/symfony/http-kernel/EventListener/SaveSessionListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/SessionListener.php b/vendor/symfony/http-kernel/EventListener/SessionListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/SessionListener.php
rename to vendor/symfony/http-kernel/EventListener/SessionListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php b/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php
rename to vendor/symfony/http-kernel/EventListener/StreamedResponseListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/SurrogateListener.php b/vendor/symfony/http-kernel/EventListener/SurrogateListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/SurrogateListener.php
rename to vendor/symfony/http-kernel/EventListener/SurrogateListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/TestSessionListener.php b/vendor/symfony/http-kernel/EventListener/TestSessionListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/TestSessionListener.php
rename to vendor/symfony/http-kernel/EventListener/TestSessionListener.php
diff --git a/core/vendor/symfony/http-kernel/EventListener/TranslatorListener.php b/vendor/symfony/http-kernel/EventListener/TranslatorListener.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/EventListener/TranslatorListener.php
rename to vendor/symfony/http-kernel/EventListener/TranslatorListener.php
diff --git a/core/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php b/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php
rename to vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php b/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/BadRequestHttpException.php
rename to vendor/symfony/http-kernel/Exception/BadRequestHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/ConflictHttpException.php b/vendor/symfony/http-kernel/Exception/ConflictHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/ConflictHttpException.php
rename to vendor/symfony/http-kernel/Exception/ConflictHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/FatalErrorException.php b/vendor/symfony/http-kernel/Exception/FatalErrorException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/FatalErrorException.php
rename to vendor/symfony/http-kernel/Exception/FatalErrorException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/FlattenException.php b/vendor/symfony/http-kernel/Exception/FlattenException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/FlattenException.php
rename to vendor/symfony/http-kernel/Exception/FlattenException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/GoneHttpException.php b/vendor/symfony/http-kernel/Exception/GoneHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/GoneHttpException.php
rename to vendor/symfony/http-kernel/Exception/GoneHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/HttpException.php b/vendor/symfony/http-kernel/Exception/HttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/HttpException.php
rename to vendor/symfony/http-kernel/Exception/HttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php b/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php
rename to vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php
diff --git a/core/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php b/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php
rename to vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php b/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php
rename to vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php b/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php
rename to vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php b/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/NotFoundHttpException.php
rename to vendor/symfony/http-kernel/Exception/NotFoundHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php b/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php
rename to vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php b/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php
rename to vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php b/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php
rename to vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php b/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php
rename to vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php b/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php
rename to vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php b/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php
rename to vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php b/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php
rename to vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/AbstractSurrogateFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/FragmentHandler.php b/vendor/symfony/http-kernel/Fragment/FragmentHandler.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/FragmentHandler.php
rename to vendor/symfony/http-kernel/Fragment/FragmentHandler.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php b/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php
rename to vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/HIncludeFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/InlineFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php b/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php
rename to vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/Esi.php b/vendor/symfony/http-kernel/HttpCache/Esi.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/Esi.php
rename to vendor/symfony/http-kernel/HttpCache/Esi.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php b/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php
rename to vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategy.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php b/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php
rename to vendor/symfony/http-kernel/HttpCache/EsiResponseCacheStrategyInterface.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/HttpCache.php b/vendor/symfony/http-kernel/HttpCache/HttpCache.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/HttpCache.php
rename to vendor/symfony/http-kernel/HttpCache/HttpCache.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
rename to vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategy.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php b/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php
rename to vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/Ssi.php b/vendor/symfony/http-kernel/HttpCache/Ssi.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/Ssi.php
rename to vendor/symfony/http-kernel/HttpCache/Ssi.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/Store.php b/vendor/symfony/http-kernel/HttpCache/Store.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/Store.php
rename to vendor/symfony/http-kernel/HttpCache/Store.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/StoreInterface.php b/vendor/symfony/http-kernel/HttpCache/StoreInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/StoreInterface.php
rename to vendor/symfony/http-kernel/HttpCache/StoreInterface.php
diff --git a/core/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php b/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php
rename to vendor/symfony/http-kernel/HttpCache/SurrogateInterface.php
diff --git a/core/vendor/symfony/http-kernel/HttpKernel.php b/vendor/symfony/http-kernel/HttpKernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpKernel.php
rename to vendor/symfony/http-kernel/HttpKernel.php
diff --git a/core/vendor/symfony/http-kernel/HttpKernelInterface.php b/vendor/symfony/http-kernel/HttpKernelInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/HttpKernelInterface.php
rename to vendor/symfony/http-kernel/HttpKernelInterface.php
diff --git a/core/vendor/symfony/http-kernel/Kernel.php b/vendor/symfony/http-kernel/Kernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Kernel.php
rename to vendor/symfony/http-kernel/Kernel.php
diff --git a/core/vendor/symfony/http-kernel/KernelEvents.php b/vendor/symfony/http-kernel/KernelEvents.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/KernelEvents.php
rename to vendor/symfony/http-kernel/KernelEvents.php
diff --git a/core/vendor/symfony/http-kernel/KernelInterface.php b/vendor/symfony/http-kernel/KernelInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/KernelInterface.php
rename to vendor/symfony/http-kernel/KernelInterface.php
diff --git a/core/vendor/symfony/event-dispatcher/LICENSE b/vendor/symfony/http-kernel/LICENSE
similarity index 100%
rename from core/vendor/symfony/event-dispatcher/LICENSE
rename to vendor/symfony/http-kernel/LICENSE
diff --git a/core/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php b/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Log/DebugLoggerInterface.php
rename to vendor/symfony/http-kernel/Log/DebugLoggerInterface.php
diff --git a/core/vendor/symfony/http-kernel/Log/LoggerInterface.php b/vendor/symfony/http-kernel/Log/LoggerInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Log/LoggerInterface.php
rename to vendor/symfony/http-kernel/Log/LoggerInterface.php
diff --git a/core/vendor/symfony/http-kernel/Log/NullLogger.php b/vendor/symfony/http-kernel/Log/NullLogger.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Log/NullLogger.php
rename to vendor/symfony/http-kernel/Log/NullLogger.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/BaseMemcacheProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/FileProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/MemcacheProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/MemcachedProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/MongoDbProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/MysqlProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/PdoProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/Profile.php b/vendor/symfony/http-kernel/Profiler/Profile.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/Profile.php
rename to vendor/symfony/http-kernel/Profiler/Profile.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/Profiler.php b/vendor/symfony/http-kernel/Profiler/Profiler.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/Profiler.php
rename to vendor/symfony/http-kernel/Profiler/Profiler.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php b/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php
rename to vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/RedisProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php b/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php
rename to vendor/symfony/http-kernel/Profiler/SqliteProfilerStorage.php
diff --git a/core/vendor/symfony/http-kernel/README.md b/vendor/symfony/http-kernel/README.md
similarity index 100%
rename from core/vendor/symfony/http-kernel/README.md
rename to vendor/symfony/http-kernel/README.md
diff --git a/core/vendor/symfony/http-kernel/TerminableInterface.php b/vendor/symfony/http-kernel/TerminableInterface.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/TerminableInterface.php
rename to vendor/symfony/http-kernel/TerminableInterface.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php b/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php
rename to vendor/symfony/http-kernel/Tests/Bundle/BundleTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php b/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php
rename to vendor/symfony/http-kernel/Tests/CacheClearer/ChainCacheClearerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
rename to vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerAggregateTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php b/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php
rename to vendor/symfony/http-kernel/Tests/CacheWarmer/CacheWarmerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/ClientTest.php b/vendor/symfony/http-kernel/Tests/ClientTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/ClientTest.php
rename to vendor/symfony/http-kernel/Tests/ClientTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php b/vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php
rename to vendor/symfony/http-kernel/Tests/Config/EnvParametersResourceTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php b/vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php
rename to vendor/symfony/http-kernel/Tests/Config/FileLocatorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php b/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php
rename to vendor/symfony/http-kernel/Tests/Controller/ControllerResolverTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/ConfigDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/DumpDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/ExceptionDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/LoggerDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/MemoryDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/RequestDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/TimeDataCollectorTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php b/vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php
rename to vendor/symfony/http-kernel/Tests/DataCollector/Util/ValueExporterTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php b/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php
rename to vendor/symfony/http-kernel/Tests/Debug/TraceableEventDispatcherTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php b/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
rename to vendor/symfony/http-kernel/Tests/DependencyInjection/ContainerAwareHttpKernelTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php b/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php
rename to vendor/symfony/http-kernel/Tests/DependencyInjection/FragmentRendererPassTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php b/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php
rename to vendor/symfony/http-kernel/Tests/DependencyInjection/LazyLoadingFragmentHandlerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php b/vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
rename to vendor/symfony/http-kernel/Tests/DependencyInjection/MergeExtensionConfigurationPassTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/AddRequestFormatsListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/DumpListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/ExceptionListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/FragmentListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/LocaleListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/ProfilerListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/ResponseListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/RouterListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/SurrogateListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/TestSessionListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php b/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php
rename to vendor/symfony/http-kernel/Tests/EventListener/TranslatorListenerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt b/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/bar.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle2Bundle/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt b/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/ChildBundle/Resources/hide.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionAbsentBundle/ExtensionAbsentBundle.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/DependencyInjection/ExtensionLoadedExtension.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionLoadedBundle/ExtensionLoadedBundle.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/DependencyInjection/ExtensionNotValidExtension.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionNotValidBundle/ExtensionNotValidBundle.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/BarCommand.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/Command/FooCommand.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/DependencyInjection/ExtensionPresentExtension.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php b/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/ExtensionPresentBundle/ExtensionPresentBundle.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php b/vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/FooBarBundle.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php b/vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/KernelForOverrideName.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php b/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/KernelForTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/hide.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Resources/BaseBundle/hide.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Resources/Bundle1Bundle/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/Bundle1Bundle/Resources/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Resources/ChildBundle/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt b/vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/BaseBundle/Resources/foo.txt
rename to vendor/symfony/http-kernel/Tests/Fixtures/Resources/FooBundle/foo.txt
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php b/vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/TestClient.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php b/vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php
rename to vendor/symfony/http-kernel/Tests/Fixtures/TestEventDispatcher.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php b/vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php
rename to vendor/symfony/http-kernel/Tests/Fragment/EsiFragmentRendererTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php b/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php
rename to vendor/symfony/http-kernel/Tests/Fragment/FragmentHandlerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php b/vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php
rename to vendor/symfony/http-kernel/Tests/Fragment/HIncludeFragmentRendererTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php b/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php
rename to vendor/symfony/http-kernel/Tests/Fragment/InlineFragmentRendererTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php b/vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php
rename to vendor/symfony/http-kernel/Tests/Fragment/RoutableFragmentRendererTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/EsiTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php b/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/HttpCacheTestCase.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/SsiTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php b/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/StoreTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php b/vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/TestHttpKernel.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php b/vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php
rename to vendor/symfony/http-kernel/Tests/HttpCache/TestMultipleHttpKernel.php
diff --git a/core/vendor/symfony/http-kernel/Tests/HttpKernelTest.php b/vendor/symfony/http-kernel/Tests/HttpKernelTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/HttpKernelTest.php
rename to vendor/symfony/http-kernel/Tests/HttpKernelTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/KernelTest.php b/vendor/symfony/http-kernel/Tests/KernelTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/KernelTest.php
rename to vendor/symfony/http-kernel/Tests/KernelTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Logger.php b/vendor/symfony/http-kernel/Tests/Logger.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Logger.php
rename to vendor/symfony/http-kernel/Tests/Logger.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/AbstractProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/FileProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/MemcacheProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/MemcachedProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php b/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php
rename to vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcacheMock.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php b/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php
rename to vendor/symfony/http-kernel/Tests/Profiler/Mock/MemcachedMock.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php b/vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php
rename to vendor/symfony/http-kernel/Tests/Profiler/Mock/RedisMock.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/MongoDbProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php b/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/ProfilerTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/RedisProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php b/vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php
rename to vendor/symfony/http-kernel/Tests/Profiler/SqliteProfilerStorageTest.php
diff --git a/core/vendor/symfony/http-kernel/Tests/TestHttpKernel.php b/vendor/symfony/http-kernel/Tests/TestHttpKernel.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/TestHttpKernel.php
rename to vendor/symfony/http-kernel/Tests/TestHttpKernel.php
diff --git a/core/vendor/symfony/http-kernel/Tests/UriSignerTest.php b/vendor/symfony/http-kernel/Tests/UriSignerTest.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/Tests/UriSignerTest.php
rename to vendor/symfony/http-kernel/Tests/UriSignerTest.php
diff --git a/core/vendor/symfony/http-kernel/UriSigner.php b/vendor/symfony/http-kernel/UriSigner.php
similarity index 100%
rename from core/vendor/symfony/http-kernel/UriSigner.php
rename to vendor/symfony/http-kernel/UriSigner.php
diff --git a/core/vendor/symfony/http-kernel/composer.json b/vendor/symfony/http-kernel/composer.json
similarity index 100%
rename from core/vendor/symfony/http-kernel/composer.json
rename to vendor/symfony/http-kernel/composer.json
diff --git a/core/vendor/symfony/http-kernel/phpunit.xml.dist b/vendor/symfony/http-kernel/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/http-kernel/phpunit.xml.dist
rename to vendor/symfony/http-kernel/phpunit.xml.dist
diff --git a/core/vendor/symfony/dependency-injection/.gitignore b/vendor/symfony/process/.gitignore
similarity index 100%
rename from core/vendor/symfony/dependency-injection/.gitignore
rename to vendor/symfony/process/.gitignore
diff --git a/core/vendor/symfony/process/CHANGELOG.md b/vendor/symfony/process/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/process/CHANGELOG.md
rename to vendor/symfony/process/CHANGELOG.md
diff --git a/core/vendor/symfony/process/Exception/ExceptionInterface.php b/vendor/symfony/process/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/ExceptionInterface.php
rename to vendor/symfony/process/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/process/Exception/InvalidArgumentException.php b/vendor/symfony/process/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/InvalidArgumentException.php
rename to vendor/symfony/process/Exception/InvalidArgumentException.php
diff --git a/core/vendor/symfony/process/Exception/LogicException.php b/vendor/symfony/process/Exception/LogicException.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/LogicException.php
rename to vendor/symfony/process/Exception/LogicException.php
diff --git a/core/vendor/symfony/process/Exception/ProcessFailedException.php b/vendor/symfony/process/Exception/ProcessFailedException.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/ProcessFailedException.php
rename to vendor/symfony/process/Exception/ProcessFailedException.php
diff --git a/core/vendor/symfony/process/Exception/ProcessTimedOutException.php b/vendor/symfony/process/Exception/ProcessTimedOutException.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/ProcessTimedOutException.php
rename to vendor/symfony/process/Exception/ProcessTimedOutException.php
diff --git a/core/vendor/symfony/process/Exception/RuntimeException.php b/vendor/symfony/process/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/symfony/process/Exception/RuntimeException.php
rename to vendor/symfony/process/Exception/RuntimeException.php
diff --git a/core/vendor/symfony/process/ExecutableFinder.php b/vendor/symfony/process/ExecutableFinder.php
similarity index 100%
rename from core/vendor/symfony/process/ExecutableFinder.php
rename to vendor/symfony/process/ExecutableFinder.php
diff --git a/core/vendor/symfony/dom-crawler/LICENSE b/vendor/symfony/process/LICENSE
similarity index 100%
rename from core/vendor/symfony/dom-crawler/LICENSE
rename to vendor/symfony/process/LICENSE
diff --git a/core/vendor/symfony/process/PhpExecutableFinder.php b/vendor/symfony/process/PhpExecutableFinder.php
similarity index 100%
rename from core/vendor/symfony/process/PhpExecutableFinder.php
rename to vendor/symfony/process/PhpExecutableFinder.php
diff --git a/core/vendor/symfony/process/PhpProcess.php b/vendor/symfony/process/PhpProcess.php
similarity index 100%
rename from core/vendor/symfony/process/PhpProcess.php
rename to vendor/symfony/process/PhpProcess.php
diff --git a/core/vendor/symfony/process/Pipes/AbstractPipes.php b/vendor/symfony/process/Pipes/AbstractPipes.php
similarity index 100%
rename from core/vendor/symfony/process/Pipes/AbstractPipes.php
rename to vendor/symfony/process/Pipes/AbstractPipes.php
diff --git a/core/vendor/symfony/process/Pipes/PipesInterface.php b/vendor/symfony/process/Pipes/PipesInterface.php
similarity index 100%
rename from core/vendor/symfony/process/Pipes/PipesInterface.php
rename to vendor/symfony/process/Pipes/PipesInterface.php
diff --git a/core/vendor/symfony/process/Pipes/UnixPipes.php b/vendor/symfony/process/Pipes/UnixPipes.php
similarity index 100%
rename from core/vendor/symfony/process/Pipes/UnixPipes.php
rename to vendor/symfony/process/Pipes/UnixPipes.php
diff --git a/core/vendor/symfony/process/Pipes/WindowsPipes.php b/vendor/symfony/process/Pipes/WindowsPipes.php
similarity index 100%
rename from core/vendor/symfony/process/Pipes/WindowsPipes.php
rename to vendor/symfony/process/Pipes/WindowsPipes.php
diff --git a/core/vendor/symfony/process/Process.php b/vendor/symfony/process/Process.php
similarity index 100%
rename from core/vendor/symfony/process/Process.php
rename to vendor/symfony/process/Process.php
diff --git a/core/vendor/symfony/process/ProcessBuilder.php b/vendor/symfony/process/ProcessBuilder.php
similarity index 100%
rename from core/vendor/symfony/process/ProcessBuilder.php
rename to vendor/symfony/process/ProcessBuilder.php
diff --git a/core/vendor/symfony/process/ProcessUtils.php b/vendor/symfony/process/ProcessUtils.php
similarity index 100%
rename from core/vendor/symfony/process/ProcessUtils.php
rename to vendor/symfony/process/ProcessUtils.php
diff --git a/core/vendor/symfony/process/README.md b/vendor/symfony/process/README.md
similarity index 100%
rename from core/vendor/symfony/process/README.md
rename to vendor/symfony/process/README.md
diff --git a/core/vendor/symfony/process/Tests/AbstractProcessTest.php b/vendor/symfony/process/Tests/AbstractProcessTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/AbstractProcessTest.php
rename to vendor/symfony/process/Tests/AbstractProcessTest.php
diff --git a/core/vendor/symfony/process/Tests/ExecutableFinderTest.php b/vendor/symfony/process/Tests/ExecutableFinderTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/ExecutableFinderTest.php
rename to vendor/symfony/process/Tests/ExecutableFinderTest.php
diff --git a/core/vendor/symfony/process/Tests/NonStopableProcess.php b/vendor/symfony/process/Tests/NonStopableProcess.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/NonStopableProcess.php
rename to vendor/symfony/process/Tests/NonStopableProcess.php
diff --git a/core/vendor/symfony/process/Tests/PhpExecutableFinderTest.php b/vendor/symfony/process/Tests/PhpExecutableFinderTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/PhpExecutableFinderTest.php
rename to vendor/symfony/process/Tests/PhpExecutableFinderTest.php
diff --git a/core/vendor/symfony/process/Tests/PhpProcessTest.php b/vendor/symfony/process/Tests/PhpProcessTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/PhpProcessTest.php
rename to vendor/symfony/process/Tests/PhpProcessTest.php
diff --git a/core/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php b/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
rename to vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php
diff --git a/core/vendor/symfony/process/Tests/ProcessBuilderTest.php b/vendor/symfony/process/Tests/ProcessBuilderTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/ProcessBuilderTest.php
rename to vendor/symfony/process/Tests/ProcessBuilderTest.php
diff --git a/core/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php b/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/ProcessFailedExceptionTest.php
rename to vendor/symfony/process/Tests/ProcessFailedExceptionTest.php
diff --git a/core/vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php b/vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php
rename to vendor/symfony/process/Tests/ProcessInSigchildEnvironment.php
diff --git a/core/vendor/symfony/process/Tests/ProcessUtilsTest.php b/vendor/symfony/process/Tests/ProcessUtilsTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/ProcessUtilsTest.php
rename to vendor/symfony/process/Tests/ProcessUtilsTest.php
diff --git a/core/vendor/symfony/process/Tests/SigchildDisabledProcessTest.php b/vendor/symfony/process/Tests/SigchildDisabledProcessTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/SigchildDisabledProcessTest.php
rename to vendor/symfony/process/Tests/SigchildDisabledProcessTest.php
diff --git a/core/vendor/symfony/process/Tests/SigchildEnabledProcessTest.php b/vendor/symfony/process/Tests/SigchildEnabledProcessTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/SigchildEnabledProcessTest.php
rename to vendor/symfony/process/Tests/SigchildEnabledProcessTest.php
diff --git a/core/vendor/symfony/process/Tests/SignalListener.php b/vendor/symfony/process/Tests/SignalListener.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/SignalListener.php
rename to vendor/symfony/process/Tests/SignalListener.php
diff --git a/core/vendor/symfony/process/Tests/SimpleProcessTest.php b/vendor/symfony/process/Tests/SimpleProcessTest.php
similarity index 100%
rename from core/vendor/symfony/process/Tests/SimpleProcessTest.php
rename to vendor/symfony/process/Tests/SimpleProcessTest.php
diff --git a/core/vendor/symfony/process/composer.json b/vendor/symfony/process/composer.json
similarity index 100%
rename from core/vendor/symfony/process/composer.json
rename to vendor/symfony/process/composer.json
diff --git a/core/vendor/symfony/process/phpunit.xml.dist b/vendor/symfony/process/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/process/phpunit.xml.dist
rename to vendor/symfony/process/phpunit.xml.dist
diff --git a/core/vendor/symfony/debug/.gitignore b/vendor/symfony/psr-http-message-bridge/.gitignore
similarity index 100%
rename from core/vendor/symfony/debug/.gitignore
rename to vendor/symfony/psr-http-message-bridge/.gitignore
diff --git a/core/vendor/symfony/psr-http-message-bridge/.travis.yml b/vendor/symfony/psr-http-message-bridge/.travis.yml
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/.travis.yml
rename to vendor/symfony/psr-http-message-bridge/.travis.yml
diff --git a/core/vendor/symfony/psr-http-message-bridge/CHANGELOG.md b/vendor/symfony/psr-http-message-bridge/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/CHANGELOG.md
rename to vendor/symfony/psr-http-message-bridge/CHANGELOG.md
diff --git a/core/vendor/symfony/psr-http-message-bridge/Factory/DiactorosFactory.php b/vendor/symfony/psr-http-message-bridge/Factory/DiactorosFactory.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Factory/DiactorosFactory.php
rename to vendor/symfony/psr-http-message-bridge/Factory/DiactorosFactory.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php b/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
rename to vendor/symfony/psr-http-message-bridge/Factory/HttpFoundationFactory.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php b/vendor/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php
rename to vendor/symfony/psr-http-message-bridge/HttpFoundationFactoryInterface.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php b/vendor/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php
rename to vendor/symfony/psr-http-message-bridge/HttpMessageFactoryInterface.php
diff --git a/core/vendor/symfony/dependency-injection/LICENSE b/vendor/symfony/psr-http-message-bridge/LICENSE
similarity index 100%
rename from core/vendor/symfony/dependency-injection/LICENSE
rename to vendor/symfony/psr-http-message-bridge/LICENSE
diff --git a/core/vendor/symfony/psr-http-message-bridge/README.md b/vendor/symfony/psr-http-message-bridge/README.md
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/README.md
rename to vendor/symfony/psr-http-message-bridge/README.md
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Factory/DiactorosFactoryTest.php b/vendor/symfony/psr-http-message-bridge/Tests/Factory/DiactorosFactoryTest.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Factory/DiactorosFactoryTest.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Factory/DiactorosFactoryTest.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php b/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Factory/HttpFoundationFactoryTest.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Message.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Response.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Fixtures/ServerRequest.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Fixtures/Stream.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php b/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php
rename to vendor/symfony/psr-http-message-bridge/Tests/Fixtures/UploadedFile.php
diff --git a/core/vendor/symfony/psr-http-message-bridge/composer.json b/vendor/symfony/psr-http-message-bridge/composer.json
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/composer.json
rename to vendor/symfony/psr-http-message-bridge/composer.json
diff --git a/core/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist b/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/psr-http-message-bridge/phpunit.xml.dist
rename to vendor/symfony/psr-http-message-bridge/phpunit.xml.dist
diff --git a/core/vendor/symfony/css-selector/.gitignore b/vendor/symfony/routing/.gitignore
similarity index 100%
rename from core/vendor/symfony/css-selector/.gitignore
rename to vendor/symfony/routing/.gitignore
diff --git a/core/vendor/symfony/routing/Annotation/Route.php b/vendor/symfony/routing/Annotation/Route.php
similarity index 100%
rename from core/vendor/symfony/routing/Annotation/Route.php
rename to vendor/symfony/routing/Annotation/Route.php
diff --git a/core/vendor/symfony/routing/CHANGELOG.md b/vendor/symfony/routing/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/routing/CHANGELOG.md
rename to vendor/symfony/routing/CHANGELOG.md
diff --git a/core/vendor/symfony/routing/CompiledRoute.php b/vendor/symfony/routing/CompiledRoute.php
similarity index 100%
rename from core/vendor/symfony/routing/CompiledRoute.php
rename to vendor/symfony/routing/CompiledRoute.php
diff --git a/core/vendor/symfony/routing/Exception/ExceptionInterface.php b/vendor/symfony/routing/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/ExceptionInterface.php
rename to vendor/symfony/routing/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/routing/Exception/InvalidParameterException.php b/vendor/symfony/routing/Exception/InvalidParameterException.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/InvalidParameterException.php
rename to vendor/symfony/routing/Exception/InvalidParameterException.php
diff --git a/core/vendor/symfony/routing/Exception/MethodNotAllowedException.php b/vendor/symfony/routing/Exception/MethodNotAllowedException.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/MethodNotAllowedException.php
rename to vendor/symfony/routing/Exception/MethodNotAllowedException.php
diff --git a/core/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php b/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/MissingMandatoryParametersException.php
rename to vendor/symfony/routing/Exception/MissingMandatoryParametersException.php
diff --git a/core/vendor/symfony/routing/Exception/ResourceNotFoundException.php b/vendor/symfony/routing/Exception/ResourceNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/ResourceNotFoundException.php
rename to vendor/symfony/routing/Exception/ResourceNotFoundException.php
diff --git a/core/vendor/symfony/routing/Exception/RouteNotFoundException.php b/vendor/symfony/routing/Exception/RouteNotFoundException.php
similarity index 100%
rename from core/vendor/symfony/routing/Exception/RouteNotFoundException.php
rename to vendor/symfony/routing/Exception/RouteNotFoundException.php
diff --git a/core/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php b/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php
rename to vendor/symfony/routing/Generator/ConfigurableRequirementsInterface.php
diff --git a/core/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php b/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php
rename to vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php
diff --git a/core/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php b/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php
rename to vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php
diff --git a/core/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php b/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php
rename to vendor/symfony/routing/Generator/Dumper/PhpGeneratorDumper.php
diff --git a/core/vendor/symfony/routing/Generator/UrlGenerator.php b/vendor/symfony/routing/Generator/UrlGenerator.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/UrlGenerator.php
rename to vendor/symfony/routing/Generator/UrlGenerator.php
diff --git a/core/vendor/symfony/routing/Generator/UrlGeneratorInterface.php b/vendor/symfony/routing/Generator/UrlGeneratorInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Generator/UrlGeneratorInterface.php
rename to vendor/symfony/routing/Generator/UrlGeneratorInterface.php
diff --git a/core/vendor/symfony/debug/LICENSE b/vendor/symfony/routing/LICENSE
similarity index 100%
rename from core/vendor/symfony/debug/LICENSE
rename to vendor/symfony/routing/LICENSE
diff --git a/core/vendor/symfony/routing/Loader/AnnotationClassLoader.php b/vendor/symfony/routing/Loader/AnnotationClassLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/AnnotationClassLoader.php
rename to vendor/symfony/routing/Loader/AnnotationClassLoader.php
diff --git a/core/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php b/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php
rename to vendor/symfony/routing/Loader/AnnotationDirectoryLoader.php
diff --git a/core/vendor/symfony/routing/Loader/AnnotationFileLoader.php b/vendor/symfony/routing/Loader/AnnotationFileLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/AnnotationFileLoader.php
rename to vendor/symfony/routing/Loader/AnnotationFileLoader.php
diff --git a/core/vendor/symfony/routing/Loader/ClosureLoader.php b/vendor/symfony/routing/Loader/ClosureLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/ClosureLoader.php
rename to vendor/symfony/routing/Loader/ClosureLoader.php
diff --git a/core/vendor/symfony/routing/Loader/PhpFileLoader.php b/vendor/symfony/routing/Loader/PhpFileLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/PhpFileLoader.php
rename to vendor/symfony/routing/Loader/PhpFileLoader.php
diff --git a/core/vendor/symfony/routing/Loader/XmlFileLoader.php b/vendor/symfony/routing/Loader/XmlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/XmlFileLoader.php
rename to vendor/symfony/routing/Loader/XmlFileLoader.php
diff --git a/core/vendor/symfony/routing/Loader/YamlFileLoader.php b/vendor/symfony/routing/Loader/YamlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Loader/YamlFileLoader.php
rename to vendor/symfony/routing/Loader/YamlFileLoader.php
diff --git a/core/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd b/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd
similarity index 100%
rename from core/vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd
rename to vendor/symfony/routing/Loader/schema/routing/routing-1.0.xsd
diff --git a/core/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php b/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/ApacheUrlMatcher.php
rename to vendor/symfony/routing/Matcher/ApacheUrlMatcher.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php b/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php
rename to vendor/symfony/routing/Matcher/Dumper/ApacheMatcherDumper.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php b/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/DumperCollection.php
rename to vendor/symfony/routing/Matcher/Dumper/DumperCollection.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php b/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php
rename to vendor/symfony/routing/Matcher/Dumper/DumperPrefixCollection.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php b/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/DumperRoute.php
rename to vendor/symfony/routing/Matcher/Dumper/DumperRoute.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php b/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php
rename to vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php b/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php
rename to vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php
diff --git a/core/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php b/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php
rename to vendor/symfony/routing/Matcher/Dumper/PhpMatcherDumper.php
diff --git a/core/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php b/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php
rename to vendor/symfony/routing/Matcher/RedirectableUrlMatcher.php
diff --git a/core/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php b/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php
rename to vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php
diff --git a/core/vendor/symfony/routing/Matcher/RequestMatcherInterface.php b/vendor/symfony/routing/Matcher/RequestMatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/RequestMatcherInterface.php
rename to vendor/symfony/routing/Matcher/RequestMatcherInterface.php
diff --git a/core/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php b/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/TraceableUrlMatcher.php
rename to vendor/symfony/routing/Matcher/TraceableUrlMatcher.php
diff --git a/core/vendor/symfony/routing/Matcher/UrlMatcher.php b/vendor/symfony/routing/Matcher/UrlMatcher.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/UrlMatcher.php
rename to vendor/symfony/routing/Matcher/UrlMatcher.php
diff --git a/core/vendor/symfony/routing/Matcher/UrlMatcherInterface.php b/vendor/symfony/routing/Matcher/UrlMatcherInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/Matcher/UrlMatcherInterface.php
rename to vendor/symfony/routing/Matcher/UrlMatcherInterface.php
diff --git a/core/vendor/symfony/routing/README.md b/vendor/symfony/routing/README.md
similarity index 100%
rename from core/vendor/symfony/routing/README.md
rename to vendor/symfony/routing/README.md
diff --git a/core/vendor/symfony/routing/RequestContext.php b/vendor/symfony/routing/RequestContext.php
similarity index 100%
rename from core/vendor/symfony/routing/RequestContext.php
rename to vendor/symfony/routing/RequestContext.php
diff --git a/core/vendor/symfony/routing/RequestContextAwareInterface.php b/vendor/symfony/routing/RequestContextAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/RequestContextAwareInterface.php
rename to vendor/symfony/routing/RequestContextAwareInterface.php
diff --git a/core/vendor/symfony/routing/Route.php b/vendor/symfony/routing/Route.php
similarity index 100%
rename from core/vendor/symfony/routing/Route.php
rename to vendor/symfony/routing/Route.php
diff --git a/core/vendor/symfony/routing/RouteCollection.php b/vendor/symfony/routing/RouteCollection.php
similarity index 100%
rename from core/vendor/symfony/routing/RouteCollection.php
rename to vendor/symfony/routing/RouteCollection.php
diff --git a/core/vendor/symfony/routing/RouteCompiler.php b/vendor/symfony/routing/RouteCompiler.php
similarity index 100%
rename from core/vendor/symfony/routing/RouteCompiler.php
rename to vendor/symfony/routing/RouteCompiler.php
diff --git a/core/vendor/symfony/routing/RouteCompilerInterface.php b/vendor/symfony/routing/RouteCompilerInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/RouteCompilerInterface.php
rename to vendor/symfony/routing/RouteCompilerInterface.php
diff --git a/core/vendor/symfony/routing/Router.php b/vendor/symfony/routing/Router.php
similarity index 100%
rename from core/vendor/symfony/routing/Router.php
rename to vendor/symfony/routing/Router.php
diff --git a/core/vendor/symfony/routing/RouterInterface.php b/vendor/symfony/routing/RouterInterface.php
similarity index 100%
rename from core/vendor/symfony/routing/RouterInterface.php
rename to vendor/symfony/routing/RouterInterface.php
diff --git a/core/vendor/symfony/routing/Tests/Annotation/RouteTest.php b/vendor/symfony/routing/Tests/Annotation/RouteTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Annotation/RouteTest.php
rename to vendor/symfony/routing/Tests/Annotation/RouteTest.php
diff --git a/core/vendor/symfony/routing/Tests/CompiledRouteTest.php b/vendor/symfony/routing/Tests/CompiledRouteTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/CompiledRouteTest.php
rename to vendor/symfony/routing/Tests/CompiledRouteTest.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php b/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
rename to vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/AbstractClass.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php b/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
rename to vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/BarClass.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php b/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
rename to vendor/symfony/routing/Tests/Fixtures/AnnotatedClasses/FooClass.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php b/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php
rename to vendor/symfony/routing/Tests/Fixtures/CustomXmlFileLoader.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/VariadicClass.php b/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/VariadicClass.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/VariadicClass.php
rename to vendor/symfony/routing/Tests/Fixtures/OtherAnnotatedClasses/VariadicClass.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php b/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php
rename to vendor/symfony/routing/Tests/Fixtures/RedirectableUrlMatcher.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/annotated.php b/vendor/symfony/routing/Tests/Fixtures/annotated.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/annotated.php
rename to vendor/symfony/routing/Tests/Fixtures/annotated.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache
rename to vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.apache
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php
rename to vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher1.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache
rename to vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.apache
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php
rename to vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher2.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php b/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php
rename to vendor/symfony/routing/Tests/Fixtures/dumper/url_matcher3.php
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.yml b/vendor/symfony/routing/Tests/Fixtures/empty.yml
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.yml
rename to vendor/symfony/routing/Tests/Fixtures/empty.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/foo.xml b/vendor/symfony/routing/Tests/Fixtures/foo.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/foo.xml
rename to vendor/symfony/routing/Tests/Fixtures/foo.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/foo1.xml b/vendor/symfony/routing/Tests/Fixtures/foo1.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/foo1.xml
rename to vendor/symfony/routing/Tests/Fixtures/foo1.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/incomplete.yml b/vendor/symfony/routing/Tests/Fixtures/incomplete.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/incomplete.yml
rename to vendor/symfony/routing/Tests/Fixtures/incomplete.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml b/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml
rename to vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml b/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml
rename to vendor/symfony/routing/Tests/Fixtures/legacy_validpattern.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/missing_id.xml b/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/missing_id.xml
rename to vendor/symfony/routing/Tests/Fixtures/missing_id.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/missing_path.xml b/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/missing_path.xml
rename to vendor/symfony/routing/Tests/Fixtures/missing_path.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml b/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
rename to vendor/symfony/routing/Tests/Fixtures/namespaceprefix.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml b/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml
rename to vendor/symfony/routing/Tests/Fixtures/nonesense_resource_plus_path.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml b/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml
rename to vendor/symfony/routing/Tests/Fixtures/nonesense_type_without_resource.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalid.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml b/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalid.yml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalid.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml b/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalid2.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml b/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalidkeys.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalidnode.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml b/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
rename to vendor/symfony/routing/Tests/Fixtures/nonvalidroute.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/null_values.xml b/vendor/symfony/routing/Tests/Fixtures/null_values.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/null_values.xml
rename to vendor/symfony/routing/Tests/Fixtures/null_values.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml b/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/special_route_name.yml
rename to vendor/symfony/routing/Tests/Fixtures/special_route_name.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validpattern.php b/vendor/symfony/routing/Tests/Fixtures/validpattern.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validpattern.php
rename to vendor/symfony/routing/Tests/Fixtures/validpattern.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validpattern.xml b/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validpattern.xml
rename to vendor/symfony/routing/Tests/Fixtures/validpattern.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validpattern.yml b/vendor/symfony/routing/Tests/Fixtures/validpattern.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validpattern.yml
rename to vendor/symfony/routing/Tests/Fixtures/validpattern.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validresource.php b/vendor/symfony/routing/Tests/Fixtures/validresource.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validresource.php
rename to vendor/symfony/routing/Tests/Fixtures/validresource.php
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validresource.xml b/vendor/symfony/routing/Tests/Fixtures/validresource.xml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validresource.xml
rename to vendor/symfony/routing/Tests/Fixtures/validresource.xml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/validresource.yml b/vendor/symfony/routing/Tests/Fixtures/validresource.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/validresource.yml
rename to vendor/symfony/routing/Tests/Fixtures/validresource.yml
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php b/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php
rename to vendor/symfony/routing/Tests/Fixtures/with_define_path_variable.php
diff --git a/core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml b/vendor/symfony/routing/Tests/Fixtures/withdoctype.xml
similarity index 100%
rename from core/vendor/symfony/dependency-injection/Tests/Fixtures/xml/withdoctype.xml
rename to vendor/symfony/routing/Tests/Fixtures/withdoctype.xml
diff --git a/core/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php b/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
rename to vendor/symfony/routing/Tests/Generator/Dumper/PhpGeneratorDumperTest.php
diff --git a/core/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php b/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php
rename to vendor/symfony/routing/Tests/Generator/UrlGeneratorTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/AbstractAnnotationLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/AnnotationClassLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/AnnotationDirectoryLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/AnnotationFileLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php b/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/ClosureLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/PhpFileLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/XmlFileLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php
rename to vendor/symfony/routing/Tests/Loader/YamlFileLoaderTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php b/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php
rename to vendor/symfony/routing/Tests/Matcher/Dumper/DumperCollectionTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php b/vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
rename to vendor/symfony/routing/Tests/Matcher/Dumper/DumperPrefixCollectionTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php b/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
rename to vendor/symfony/routing/Tests/Matcher/Dumper/LegacyApacheMatcherDumperTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php b/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
rename to vendor/symfony/routing/Tests/Matcher/Dumper/PhpMatcherDumperTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
rename to vendor/symfony/routing/Tests/Matcher/LegacyApacheUrlMatcherTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php
rename to vendor/symfony/routing/Tests/Matcher/RedirectableUrlMatcherTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php
rename to vendor/symfony/routing/Tests/Matcher/TraceableUrlMatcherTest.php
diff --git a/core/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php b/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php
rename to vendor/symfony/routing/Tests/Matcher/UrlMatcherTest.php
diff --git a/core/vendor/symfony/routing/Tests/RequestContextTest.php b/vendor/symfony/routing/Tests/RequestContextTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/RequestContextTest.php
rename to vendor/symfony/routing/Tests/RequestContextTest.php
diff --git a/core/vendor/symfony/routing/Tests/RouteCollectionTest.php b/vendor/symfony/routing/Tests/RouteCollectionTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/RouteCollectionTest.php
rename to vendor/symfony/routing/Tests/RouteCollectionTest.php
diff --git a/core/vendor/symfony/routing/Tests/RouteCompilerTest.php b/vendor/symfony/routing/Tests/RouteCompilerTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/RouteCompilerTest.php
rename to vendor/symfony/routing/Tests/RouteCompilerTest.php
diff --git a/core/vendor/symfony/routing/Tests/RouteTest.php b/vendor/symfony/routing/Tests/RouteTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/RouteTest.php
rename to vendor/symfony/routing/Tests/RouteTest.php
diff --git a/core/vendor/symfony/routing/Tests/RouterTest.php b/vendor/symfony/routing/Tests/RouterTest.php
similarity index 100%
rename from core/vendor/symfony/routing/Tests/RouterTest.php
rename to vendor/symfony/routing/Tests/RouterTest.php
diff --git a/core/vendor/symfony/routing/composer.json b/vendor/symfony/routing/composer.json
similarity index 100%
rename from core/vendor/symfony/routing/composer.json
rename to vendor/symfony/routing/composer.json
diff --git a/core/vendor/symfony/routing/phpunit.xml.dist b/vendor/symfony/routing/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/routing/phpunit.xml.dist
rename to vendor/symfony/routing/phpunit.xml.dist
diff --git a/core/vendor/symfony/console/.gitignore b/vendor/symfony/serializer/.gitignore
similarity index 100%
rename from core/vendor/symfony/console/.gitignore
rename to vendor/symfony/serializer/.gitignore
diff --git a/core/vendor/symfony/serializer/Annotation/Groups.php b/vendor/symfony/serializer/Annotation/Groups.php
similarity index 100%
rename from core/vendor/symfony/serializer/Annotation/Groups.php
rename to vendor/symfony/serializer/Annotation/Groups.php
diff --git a/core/vendor/symfony/serializer/CHANGELOG.md b/vendor/symfony/serializer/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/serializer/CHANGELOG.md
rename to vendor/symfony/serializer/CHANGELOG.md
diff --git a/core/vendor/symfony/serializer/Encoder/ChainDecoder.php b/vendor/symfony/serializer/Encoder/ChainDecoder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/ChainDecoder.php
rename to vendor/symfony/serializer/Encoder/ChainDecoder.php
diff --git a/core/vendor/symfony/serializer/Encoder/ChainEncoder.php b/vendor/symfony/serializer/Encoder/ChainEncoder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/ChainEncoder.php
rename to vendor/symfony/serializer/Encoder/ChainEncoder.php
diff --git a/core/vendor/symfony/serializer/Encoder/DecoderInterface.php b/vendor/symfony/serializer/Encoder/DecoderInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/DecoderInterface.php
rename to vendor/symfony/serializer/Encoder/DecoderInterface.php
diff --git a/core/vendor/symfony/serializer/Encoder/EncoderInterface.php b/vendor/symfony/serializer/Encoder/EncoderInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/EncoderInterface.php
rename to vendor/symfony/serializer/Encoder/EncoderInterface.php
diff --git a/core/vendor/symfony/serializer/Encoder/JsonDecode.php b/vendor/symfony/serializer/Encoder/JsonDecode.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/JsonDecode.php
rename to vendor/symfony/serializer/Encoder/JsonDecode.php
diff --git a/core/vendor/symfony/serializer/Encoder/JsonEncode.php b/vendor/symfony/serializer/Encoder/JsonEncode.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/JsonEncode.php
rename to vendor/symfony/serializer/Encoder/JsonEncode.php
diff --git a/core/vendor/symfony/serializer/Encoder/JsonEncoder.php b/vendor/symfony/serializer/Encoder/JsonEncoder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/JsonEncoder.php
rename to vendor/symfony/serializer/Encoder/JsonEncoder.php
diff --git a/core/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php b/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php
rename to vendor/symfony/serializer/Encoder/NormalizationAwareInterface.php
diff --git a/core/vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php b/vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php
rename to vendor/symfony/serializer/Encoder/SerializerAwareEncoder.php
diff --git a/core/vendor/symfony/serializer/Encoder/XmlEncoder.php b/vendor/symfony/serializer/Encoder/XmlEncoder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Encoder/XmlEncoder.php
rename to vendor/symfony/serializer/Encoder/XmlEncoder.php
diff --git a/core/vendor/symfony/serializer/Exception/CircularReferenceException.php b/vendor/symfony/serializer/Exception/CircularReferenceException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/CircularReferenceException.php
rename to vendor/symfony/serializer/Exception/CircularReferenceException.php
diff --git a/core/vendor/symfony/serializer/Exception/Exception.php b/vendor/symfony/serializer/Exception/Exception.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/Exception.php
rename to vendor/symfony/serializer/Exception/Exception.php
diff --git a/core/vendor/symfony/serializer/Exception/ExceptionInterface.php b/vendor/symfony/serializer/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/ExceptionInterface.php
rename to vendor/symfony/serializer/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/serializer/Exception/InvalidArgumentException.php b/vendor/symfony/serializer/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/InvalidArgumentException.php
rename to vendor/symfony/serializer/Exception/InvalidArgumentException.php
diff --git a/core/vendor/symfony/serializer/Exception/LogicException.php b/vendor/symfony/serializer/Exception/LogicException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/LogicException.php
rename to vendor/symfony/serializer/Exception/LogicException.php
diff --git a/core/vendor/symfony/serializer/Exception/MappingException.php b/vendor/symfony/serializer/Exception/MappingException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/MappingException.php
rename to vendor/symfony/serializer/Exception/MappingException.php
diff --git a/core/vendor/symfony/serializer/Exception/RuntimeException.php b/vendor/symfony/serializer/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/RuntimeException.php
rename to vendor/symfony/serializer/Exception/RuntimeException.php
diff --git a/core/vendor/symfony/serializer/Exception/UnexpectedValueException.php b/vendor/symfony/serializer/Exception/UnexpectedValueException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/UnexpectedValueException.php
rename to vendor/symfony/serializer/Exception/UnexpectedValueException.php
diff --git a/core/vendor/symfony/serializer/Exception/UnsupportedException.php b/vendor/symfony/serializer/Exception/UnsupportedException.php
similarity index 100%
rename from core/vendor/symfony/serializer/Exception/UnsupportedException.php
rename to vendor/symfony/serializer/Exception/UnsupportedException.php
diff --git a/core/vendor/symfony/css-selector/LICENSE b/vendor/symfony/serializer/LICENSE
similarity index 100%
rename from core/vendor/symfony/css-selector/LICENSE
rename to vendor/symfony/serializer/LICENSE
diff --git a/core/vendor/symfony/serializer/Mapping/AttributeMetadata.php b/vendor/symfony/serializer/Mapping/AttributeMetadata.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/AttributeMetadata.php
rename to vendor/symfony/serializer/Mapping/AttributeMetadata.php
diff --git a/core/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php b/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php
rename to vendor/symfony/serializer/Mapping/AttributeMetadataInterface.php
diff --git a/core/vendor/symfony/serializer/Mapping/ClassMetadata.php b/vendor/symfony/serializer/Mapping/ClassMetadata.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/ClassMetadata.php
rename to vendor/symfony/serializer/Mapping/ClassMetadata.php
diff --git a/core/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php b/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/ClassMetadataInterface.php
rename to vendor/symfony/serializer/Mapping/ClassMetadataInterface.php
diff --git a/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php b/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php
rename to vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactory.php
diff --git a/core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php b/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php
rename to vendor/symfony/serializer/Mapping/Factory/ClassMetadataFactoryInterface.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php b/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php
rename to vendor/symfony/serializer/Mapping/Loader/AnnotationLoader.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/FileLoader.php b/vendor/symfony/serializer/Mapping/Loader/FileLoader.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/FileLoader.php
rename to vendor/symfony/serializer/Mapping/Loader/FileLoader.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php b/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/LoaderChain.php
rename to vendor/symfony/serializer/Mapping/Loader/LoaderChain.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php b/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php
rename to vendor/symfony/serializer/Mapping/Loader/LoaderInterface.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php b/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php
rename to vendor/symfony/serializer/Mapping/Loader/XmlFileLoader.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php b/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php
rename to vendor/symfony/serializer/Mapping/Loader/YamlFileLoader.php
diff --git a/core/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd b/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd
similarity index 100%
rename from core/vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd
rename to vendor/symfony/serializer/Mapping/Loader/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd
diff --git a/core/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php b/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php
similarity index 100%
rename from core/vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php
rename to vendor/symfony/serializer/NameConverter/CamelCaseToSnakeCaseNameConverter.php
diff --git a/core/vendor/symfony/serializer/NameConverter/NameConverterInterface.php b/vendor/symfony/serializer/NameConverter/NameConverterInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/NameConverter/NameConverterInterface.php
rename to vendor/symfony/serializer/NameConverter/NameConverterInterface.php
diff --git a/core/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php b/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
rename to vendor/symfony/serializer/Normalizer/AbstractNormalizer.php
diff --git a/core/vendor/symfony/serializer/Normalizer/CustomNormalizer.php b/vendor/symfony/serializer/Normalizer/CustomNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/CustomNormalizer.php
rename to vendor/symfony/serializer/Normalizer/CustomNormalizer.php
diff --git a/core/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php b/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/DenormalizableInterface.php
rename to vendor/symfony/serializer/Normalizer/DenormalizableInterface.php
diff --git a/core/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php b/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/DenormalizerInterface.php
rename to vendor/symfony/serializer/Normalizer/DenormalizerInterface.php
diff --git a/core/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php b/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
rename to vendor/symfony/serializer/Normalizer/GetSetMethodNormalizer.php
diff --git a/core/vendor/symfony/serializer/Normalizer/NormalizableInterface.php b/vendor/symfony/serializer/Normalizer/NormalizableInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/NormalizableInterface.php
rename to vendor/symfony/serializer/Normalizer/NormalizableInterface.php
diff --git a/core/vendor/symfony/serializer/Normalizer/NormalizerInterface.php b/vendor/symfony/serializer/Normalizer/NormalizerInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/NormalizerInterface.php
rename to vendor/symfony/serializer/Normalizer/NormalizerInterface.php
diff --git a/core/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php b/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/ObjectNormalizer.php
rename to vendor/symfony/serializer/Normalizer/ObjectNormalizer.php
diff --git a/core/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php b/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
rename to vendor/symfony/serializer/Normalizer/PropertyNormalizer.php
diff --git a/core/vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php b/vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php
rename to vendor/symfony/serializer/Normalizer/SerializerAwareNormalizer.php
diff --git a/core/vendor/symfony/serializer/README.md b/vendor/symfony/serializer/README.md
similarity index 100%
rename from core/vendor/symfony/serializer/README.md
rename to vendor/symfony/serializer/README.md
diff --git a/core/vendor/symfony/serializer/Serializer.php b/vendor/symfony/serializer/Serializer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Serializer.php
rename to vendor/symfony/serializer/Serializer.php
diff --git a/core/vendor/symfony/serializer/SerializerAwareInterface.php b/vendor/symfony/serializer/SerializerAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/SerializerAwareInterface.php
rename to vendor/symfony/serializer/SerializerAwareInterface.php
diff --git a/core/vendor/symfony/serializer/SerializerInterface.php b/vendor/symfony/serializer/SerializerInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/SerializerInterface.php
rename to vendor/symfony/serializer/SerializerInterface.php
diff --git a/core/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php b/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Annotation/GroupsTest.php
rename to vendor/symfony/serializer/Tests/Annotation/GroupsTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php b/vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php
rename to vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php b/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php
rename to vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php b/vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/CircularReferenceDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php b/vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/DenormalizableDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/Dummy.php b/vendor/symfony/serializer/Tests/Fixtures/Dummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/Dummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/Dummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php b/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/GroupDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php b/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php
rename to vendor/symfony/serializer/Tests/Fixtures/GroupDummyInterface.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php b/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php
rename to vendor/symfony/serializer/Tests/Fixtures/GroupDummyParent.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php b/vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/NormalizableTraversableDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php b/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/PropertyCircularReferenceDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php b/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php
rename to vendor/symfony/serializer/Tests/Fixtures/PropertySiblingHolder.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php b/vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/ScalarDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php b/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php
rename to vendor/symfony/serializer/Tests/Fixtures/SiblingHolder.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php b/vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/TraversableDummy.php
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/VariadicConstructorArgsDummy.php b/vendor/symfony/serializer/Tests/Fixtures/VariadicConstructorArgsDummy.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/VariadicConstructorArgsDummy.php
rename to vendor/symfony/serializer/Tests/Fixtures/VariadicConstructorArgsDummy.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml b/vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml
rename to vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml b/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml
rename to vendor/symfony/serializer/Tests/Fixtures/invalid-mapping.yml
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/serialization.xml b/vendor/symfony/serializer/Tests/Fixtures/serialization.xml
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/serialization.xml
rename to vendor/symfony/serializer/Tests/Fixtures/serialization.xml
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/serialization.yml b/vendor/symfony/serializer/Tests/Fixtures/serialization.yml
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/serialization.yml
rename to vendor/symfony/serializer/Tests/Fixtures/serialization.yml
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php b/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php
rename to vendor/symfony/serializer/Tests/Mapping/AttributeMetadataTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php b/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php
rename to vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php b/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php
rename to vendor/symfony/serializer/Tests/Mapping/Factory/ClassMetadataFactoryTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php b/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php
rename to vendor/symfony/serializer/Tests/Mapping/Loader/AnnotationLoaderTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php b/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php
rename to vendor/symfony/serializer/Tests/Mapping/Loader/XmlFileLoaderTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php b/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php
rename to vendor/symfony/serializer/Tests/Mapping/Loader/YamlFileLoaderTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php b/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php
rename to vendor/symfony/serializer/Tests/Mapping/TestClassMetadataFactory.php
diff --git a/core/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php b/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php
rename to vendor/symfony/serializer/Tests/NameConverter/CamelCaseToSnakeCaseNameConverterTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php
rename to vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
rename to vendor/symfony/serializer/Tests/Normalizer/GetSetMethodNormalizerTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
rename to vendor/symfony/serializer/Tests/Normalizer/ObjectNormalizerTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php b/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php
rename to vendor/symfony/serializer/Tests/Normalizer/PropertyNormalizerTest.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php b/vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php
rename to vendor/symfony/serializer/Tests/Normalizer/TestDenormalizer.php
diff --git a/core/vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php b/vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php
rename to vendor/symfony/serializer/Tests/Normalizer/TestNormalizer.php
diff --git a/core/vendor/symfony/serializer/Tests/SerializerTest.php b/vendor/symfony/serializer/Tests/SerializerTest.php
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/SerializerTest.php
rename to vendor/symfony/serializer/Tests/SerializerTest.php
diff --git a/core/vendor/symfony/serializer/composer.json b/vendor/symfony/serializer/composer.json
similarity index 100%
rename from core/vendor/symfony/serializer/composer.json
rename to vendor/symfony/serializer/composer.json
diff --git a/core/vendor/symfony/serializer/phpunit.xml.dist b/vendor/symfony/serializer/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/serializer/phpunit.xml.dist
rename to vendor/symfony/serializer/phpunit.xml.dist
diff --git a/core/vendor/symfony/class-loader/.gitignore b/vendor/symfony/translation/.gitignore
similarity index 100%
rename from core/vendor/symfony/class-loader/.gitignore
rename to vendor/symfony/translation/.gitignore
diff --git a/core/vendor/symfony/translation/CHANGELOG.md b/vendor/symfony/translation/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/translation/CHANGELOG.md
rename to vendor/symfony/translation/CHANGELOG.md
diff --git a/core/vendor/symfony/translation/Catalogue/AbstractOperation.php b/vendor/symfony/translation/Catalogue/AbstractOperation.php
similarity index 100%
rename from core/vendor/symfony/translation/Catalogue/AbstractOperation.php
rename to vendor/symfony/translation/Catalogue/AbstractOperation.php
diff --git a/core/vendor/symfony/translation/Catalogue/DiffOperation.php b/vendor/symfony/translation/Catalogue/DiffOperation.php
similarity index 100%
rename from core/vendor/symfony/translation/Catalogue/DiffOperation.php
rename to vendor/symfony/translation/Catalogue/DiffOperation.php
diff --git a/core/vendor/symfony/translation/Catalogue/MergeOperation.php b/vendor/symfony/translation/Catalogue/MergeOperation.php
similarity index 100%
rename from core/vendor/symfony/translation/Catalogue/MergeOperation.php
rename to vendor/symfony/translation/Catalogue/MergeOperation.php
diff --git a/core/vendor/symfony/translation/Catalogue/OperationInterface.php b/vendor/symfony/translation/Catalogue/OperationInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/Catalogue/OperationInterface.php
rename to vendor/symfony/translation/Catalogue/OperationInterface.php
diff --git a/core/vendor/symfony/translation/DataCollector/TranslationDataCollector.php b/vendor/symfony/translation/DataCollector/TranslationDataCollector.php
similarity index 100%
rename from core/vendor/symfony/translation/DataCollector/TranslationDataCollector.php
rename to vendor/symfony/translation/DataCollector/TranslationDataCollector.php
diff --git a/core/vendor/symfony/translation/DataCollectorTranslator.php b/vendor/symfony/translation/DataCollectorTranslator.php
similarity index 100%
rename from core/vendor/symfony/translation/DataCollectorTranslator.php
rename to vendor/symfony/translation/DataCollectorTranslator.php
diff --git a/core/vendor/symfony/translation/Dumper/CsvFileDumper.php b/vendor/symfony/translation/Dumper/CsvFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/CsvFileDumper.php
rename to vendor/symfony/translation/Dumper/CsvFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/DumperInterface.php b/vendor/symfony/translation/Dumper/DumperInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/DumperInterface.php
rename to vendor/symfony/translation/Dumper/DumperInterface.php
diff --git a/core/vendor/symfony/translation/Dumper/FileDumper.php b/vendor/symfony/translation/Dumper/FileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/FileDumper.php
rename to vendor/symfony/translation/Dumper/FileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/IcuResFileDumper.php b/vendor/symfony/translation/Dumper/IcuResFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/IcuResFileDumper.php
rename to vendor/symfony/translation/Dumper/IcuResFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/IniFileDumper.php b/vendor/symfony/translation/Dumper/IniFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/IniFileDumper.php
rename to vendor/symfony/translation/Dumper/IniFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/JsonFileDumper.php b/vendor/symfony/translation/Dumper/JsonFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/JsonFileDumper.php
rename to vendor/symfony/translation/Dumper/JsonFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/MoFileDumper.php b/vendor/symfony/translation/Dumper/MoFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/MoFileDumper.php
rename to vendor/symfony/translation/Dumper/MoFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/PhpFileDumper.php b/vendor/symfony/translation/Dumper/PhpFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/PhpFileDumper.php
rename to vendor/symfony/translation/Dumper/PhpFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/PoFileDumper.php b/vendor/symfony/translation/Dumper/PoFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/PoFileDumper.php
rename to vendor/symfony/translation/Dumper/PoFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/QtFileDumper.php b/vendor/symfony/translation/Dumper/QtFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/QtFileDumper.php
rename to vendor/symfony/translation/Dumper/QtFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/XliffFileDumper.php b/vendor/symfony/translation/Dumper/XliffFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/XliffFileDumper.php
rename to vendor/symfony/translation/Dumper/XliffFileDumper.php
diff --git a/core/vendor/symfony/translation/Dumper/YamlFileDumper.php b/vendor/symfony/translation/Dumper/YamlFileDumper.php
similarity index 100%
rename from core/vendor/symfony/translation/Dumper/YamlFileDumper.php
rename to vendor/symfony/translation/Dumper/YamlFileDumper.php
diff --git a/core/vendor/symfony/translation/Exception/ExceptionInterface.php b/vendor/symfony/translation/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/Exception/ExceptionInterface.php
rename to vendor/symfony/translation/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/translation/Exception/InvalidResourceException.php b/vendor/symfony/translation/Exception/InvalidResourceException.php
similarity index 100%
rename from core/vendor/symfony/translation/Exception/InvalidResourceException.php
rename to vendor/symfony/translation/Exception/InvalidResourceException.php
diff --git a/core/vendor/symfony/translation/Exception/NotFoundResourceException.php b/vendor/symfony/translation/Exception/NotFoundResourceException.php
similarity index 100%
rename from core/vendor/symfony/translation/Exception/NotFoundResourceException.php
rename to vendor/symfony/translation/Exception/NotFoundResourceException.php
diff --git a/core/vendor/symfony/translation/Extractor/AbstractFileExtractor.php b/vendor/symfony/translation/Extractor/AbstractFileExtractor.php
similarity index 100%
rename from core/vendor/symfony/translation/Extractor/AbstractFileExtractor.php
rename to vendor/symfony/translation/Extractor/AbstractFileExtractor.php
diff --git a/core/vendor/symfony/translation/Extractor/ChainExtractor.php b/vendor/symfony/translation/Extractor/ChainExtractor.php
similarity index 100%
rename from core/vendor/symfony/translation/Extractor/ChainExtractor.php
rename to vendor/symfony/translation/Extractor/ChainExtractor.php
diff --git a/core/vendor/symfony/translation/Extractor/ExtractorInterface.php b/vendor/symfony/translation/Extractor/ExtractorInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/Extractor/ExtractorInterface.php
rename to vendor/symfony/translation/Extractor/ExtractorInterface.php
diff --git a/core/vendor/symfony/translation/IdentityTranslator.php b/vendor/symfony/translation/IdentityTranslator.php
similarity index 100%
rename from core/vendor/symfony/translation/IdentityTranslator.php
rename to vendor/symfony/translation/IdentityTranslator.php
diff --git a/core/vendor/symfony/translation/Interval.php b/vendor/symfony/translation/Interval.php
similarity index 100%
rename from core/vendor/symfony/translation/Interval.php
rename to vendor/symfony/translation/Interval.php
diff --git a/core/vendor/symfony/console/LICENSE b/vendor/symfony/translation/LICENSE
similarity index 100%
rename from core/vendor/symfony/console/LICENSE
rename to vendor/symfony/translation/LICENSE
diff --git a/core/vendor/symfony/translation/Loader/ArrayLoader.php b/vendor/symfony/translation/Loader/ArrayLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/ArrayLoader.php
rename to vendor/symfony/translation/Loader/ArrayLoader.php
diff --git a/core/vendor/symfony/translation/Loader/CsvFileLoader.php b/vendor/symfony/translation/Loader/CsvFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/CsvFileLoader.php
rename to vendor/symfony/translation/Loader/CsvFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/IcuDatFileLoader.php b/vendor/symfony/translation/Loader/IcuDatFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/IcuDatFileLoader.php
rename to vendor/symfony/translation/Loader/IcuDatFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/IcuResFileLoader.php b/vendor/symfony/translation/Loader/IcuResFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/IcuResFileLoader.php
rename to vendor/symfony/translation/Loader/IcuResFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/IniFileLoader.php b/vendor/symfony/translation/Loader/IniFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/IniFileLoader.php
rename to vendor/symfony/translation/Loader/IniFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/JsonFileLoader.php b/vendor/symfony/translation/Loader/JsonFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/JsonFileLoader.php
rename to vendor/symfony/translation/Loader/JsonFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/LoaderInterface.php b/vendor/symfony/translation/Loader/LoaderInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/LoaderInterface.php
rename to vendor/symfony/translation/Loader/LoaderInterface.php
diff --git a/core/vendor/symfony/translation/Loader/MoFileLoader.php b/vendor/symfony/translation/Loader/MoFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/MoFileLoader.php
rename to vendor/symfony/translation/Loader/MoFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/PhpFileLoader.php b/vendor/symfony/translation/Loader/PhpFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/PhpFileLoader.php
rename to vendor/symfony/translation/Loader/PhpFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/PoFileLoader.php b/vendor/symfony/translation/Loader/PoFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/PoFileLoader.php
rename to vendor/symfony/translation/Loader/PoFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/QtFileLoader.php b/vendor/symfony/translation/Loader/QtFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/QtFileLoader.php
rename to vendor/symfony/translation/Loader/QtFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/XliffFileLoader.php b/vendor/symfony/translation/Loader/XliffFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/XliffFileLoader.php
rename to vendor/symfony/translation/Loader/XliffFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/YamlFileLoader.php b/vendor/symfony/translation/Loader/YamlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/translation/Loader/YamlFileLoader.php
rename to vendor/symfony/translation/Loader/YamlFileLoader.php
diff --git a/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd b/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd
similarity index 100%
rename from core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd
rename to vendor/symfony/translation/Loader/schema/dic/xliff-core/xliff-core-1.2-strict.xsd
diff --git a/core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd b/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd
similarity index 100%
rename from core/vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd
rename to vendor/symfony/translation/Loader/schema/dic/xliff-core/xml.xsd
diff --git a/core/vendor/symfony/translation/LoggingTranslator.php b/vendor/symfony/translation/LoggingTranslator.php
similarity index 100%
rename from core/vendor/symfony/translation/LoggingTranslator.php
rename to vendor/symfony/translation/LoggingTranslator.php
diff --git a/core/vendor/symfony/translation/MessageCatalogue.php b/vendor/symfony/translation/MessageCatalogue.php
similarity index 100%
rename from core/vendor/symfony/translation/MessageCatalogue.php
rename to vendor/symfony/translation/MessageCatalogue.php
diff --git a/core/vendor/symfony/translation/MessageCatalogueInterface.php b/vendor/symfony/translation/MessageCatalogueInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/MessageCatalogueInterface.php
rename to vendor/symfony/translation/MessageCatalogueInterface.php
diff --git a/core/vendor/symfony/translation/MessageSelector.php b/vendor/symfony/translation/MessageSelector.php
similarity index 100%
rename from core/vendor/symfony/translation/MessageSelector.php
rename to vendor/symfony/translation/MessageSelector.php
diff --git a/core/vendor/symfony/translation/MetadataAwareInterface.php b/vendor/symfony/translation/MetadataAwareInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/MetadataAwareInterface.php
rename to vendor/symfony/translation/MetadataAwareInterface.php
diff --git a/core/vendor/symfony/translation/PluralizationRules.php b/vendor/symfony/translation/PluralizationRules.php
similarity index 100%
rename from core/vendor/symfony/translation/PluralizationRules.php
rename to vendor/symfony/translation/PluralizationRules.php
diff --git a/core/vendor/symfony/translation/README.md b/vendor/symfony/translation/README.md
similarity index 100%
rename from core/vendor/symfony/translation/README.md
rename to vendor/symfony/translation/README.md
diff --git a/core/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php b/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php
rename to vendor/symfony/translation/Tests/Catalogue/AbstractOperationTest.php
diff --git a/core/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php b/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php
rename to vendor/symfony/translation/Tests/Catalogue/DiffOperationTest.php
diff --git a/core/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php b/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php
rename to vendor/symfony/translation/Tests/Catalogue/MergeOperationTest.php
diff --git a/core/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php b/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php
rename to vendor/symfony/translation/Tests/DataCollector/TranslationDataCollectorTest.php
diff --git a/core/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php b/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php
rename to vendor/symfony/translation/Tests/DataCollectorTranslatorTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/CsvFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/FileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/FileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/IcuResFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/IniFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/JsonFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/MoFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/PhpFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/PoFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/QtFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/XliffFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php b/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
rename to vendor/symfony/translation/Tests/Dumper/YamlFileDumperTest.php
diff --git a/core/vendor/symfony/translation/Tests/IdentityTranslatorTest.php b/vendor/symfony/translation/Tests/IdentityTranslatorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/IdentityTranslatorTest.php
rename to vendor/symfony/translation/Tests/IdentityTranslatorTest.php
diff --git a/core/vendor/symfony/translation/Tests/IntervalTest.php b/vendor/symfony/translation/Tests/IntervalTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/IntervalTest.php
rename to vendor/symfony/translation/Tests/IntervalTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/CsvFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/IcuDatFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/IcuResFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/IniFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/JsonFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php b/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php
rename to vendor/symfony/translation/Tests/Loader/LocalizedTestCase.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/MoFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/PhpFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/PoFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/QtFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/XliffFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php b/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php
rename to vendor/symfony/translation/Tests/Loader/YamlFileLoaderTest.php
diff --git a/core/vendor/symfony/translation/Tests/LoggingTranslatorTest.php b/vendor/symfony/translation/Tests/LoggingTranslatorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/LoggingTranslatorTest.php
rename to vendor/symfony/translation/Tests/LoggingTranslatorTest.php
diff --git a/core/vendor/symfony/translation/Tests/MessageCatalogueTest.php b/vendor/symfony/translation/Tests/MessageCatalogueTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/MessageCatalogueTest.php
rename to vendor/symfony/translation/Tests/MessageCatalogueTest.php
diff --git a/core/vendor/symfony/translation/Tests/MessageSelectorTest.php b/vendor/symfony/translation/Tests/MessageSelectorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/MessageSelectorTest.php
rename to vendor/symfony/translation/Tests/MessageSelectorTest.php
diff --git a/core/vendor/symfony/translation/Tests/PluralizationRulesTest.php b/vendor/symfony/translation/Tests/PluralizationRulesTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/PluralizationRulesTest.php
rename to vendor/symfony/translation/Tests/PluralizationRulesTest.php
diff --git a/core/vendor/symfony/translation/Tests/TranslatorCacheTest.php b/vendor/symfony/translation/Tests/TranslatorCacheTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/TranslatorCacheTest.php
rename to vendor/symfony/translation/Tests/TranslatorCacheTest.php
diff --git a/core/vendor/symfony/translation/Tests/TranslatorTest.php b/vendor/symfony/translation/Tests/TranslatorTest.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/TranslatorTest.php
rename to vendor/symfony/translation/Tests/TranslatorTest.php
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty-translation.mo b/vendor/symfony/translation/Tests/fixtures/empty-translation.mo
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty-translation.mo
rename to vendor/symfony/translation/Tests/fixtures/empty-translation.mo
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty-translation.po b/vendor/symfony/translation/Tests/fixtures/empty-translation.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty-translation.po
rename to vendor/symfony/translation/Tests/fixtures/empty-translation.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.csv b/vendor/symfony/translation/Tests/fixtures/empty.csv
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.csv
rename to vendor/symfony/translation/Tests/fixtures/empty.csv
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.ini b/vendor/symfony/translation/Tests/fixtures/empty.ini
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.ini
rename to vendor/symfony/translation/Tests/fixtures/empty.ini
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.json b/vendor/symfony/translation/Tests/fixtures/empty.json
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.json
rename to vendor/symfony/translation/Tests/fixtures/empty.json
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.mo b/vendor/symfony/translation/Tests/fixtures/empty.mo
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.mo
rename to vendor/symfony/translation/Tests/fixtures/empty.mo
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.po b/vendor/symfony/translation/Tests/fixtures/empty.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.po
rename to vendor/symfony/translation/Tests/fixtures/empty.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/empty.xlf b/vendor/symfony/translation/Tests/fixtures/empty.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/empty.xlf
rename to vendor/symfony/translation/Tests/fixtures/empty.xlf
diff --git a/core/vendor/symfony/routing/Tests/Fixtures/empty.yml b/vendor/symfony/translation/Tests/fixtures/empty.yml
similarity index 100%
rename from core/vendor/symfony/routing/Tests/Fixtures/empty.yml
rename to vendor/symfony/translation/Tests/fixtures/empty.yml
diff --git a/core/vendor/symfony/translation/Tests/fixtures/encoding.xlf b/vendor/symfony/translation/Tests/fixtures/encoding.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/encoding.xlf
rename to vendor/symfony/translation/Tests/fixtures/encoding.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po b/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po
rename to vendor/symfony/translation/Tests/fixtures/escaped-id-plurals.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/escaped-id.po b/vendor/symfony/translation/Tests/fixtures/escaped-id.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/escaped-id.po
rename to vendor/symfony/translation/Tests/fixtures/escaped-id.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf b/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf
rename to vendor/symfony/translation/Tests/fixtures/invalid-xml-resources.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/malformed.json b/vendor/symfony/translation/Tests/fixtures/malformed.json
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/malformed.json
rename to vendor/symfony/translation/Tests/fixtures/malformed.json
diff --git a/core/vendor/symfony/translation/Tests/fixtures/non-valid.xlf b/vendor/symfony/translation/Tests/fixtures/non-valid.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/non-valid.xlf
rename to vendor/symfony/translation/Tests/fixtures/non-valid.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/non-valid.yml b/vendor/symfony/translation/Tests/fixtures/non-valid.yml
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/non-valid.yml
rename to vendor/symfony/translation/Tests/fixtures/non-valid.yml
diff --git a/core/vendor/symfony/translation/Tests/fixtures/plurals.mo b/vendor/symfony/translation/Tests/fixtures/plurals.mo
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/plurals.mo
rename to vendor/symfony/translation/Tests/fixtures/plurals.mo
diff --git a/core/vendor/symfony/translation/Tests/fixtures/plurals.po b/vendor/symfony/translation/Tests/fixtures/plurals.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/plurals.po
rename to vendor/symfony/translation/Tests/fixtures/plurals.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resname.xlf b/vendor/symfony/translation/Tests/fixtures/resname.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resname.xlf
rename to vendor/symfony/translation/Tests/fixtures/resname.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat b/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/corrupted/resources.dat
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.res
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/en.txt
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.res
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/fr.txt
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/packagelist.txt
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat b/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/dat/resources.dat
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res b/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res
rename to vendor/symfony/translation/Tests/fixtures/resourcebundle/res/en.res
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf b/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources-clean.xlf
rename to vendor/symfony/translation/Tests/fixtures/resources-clean.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.csv b/vendor/symfony/translation/Tests/fixtures/resources.csv
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.csv
rename to vendor/symfony/translation/Tests/fixtures/resources.csv
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.ini b/vendor/symfony/translation/Tests/fixtures/resources.ini
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.ini
rename to vendor/symfony/translation/Tests/fixtures/resources.ini
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.json b/vendor/symfony/translation/Tests/fixtures/resources.json
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.json
rename to vendor/symfony/translation/Tests/fixtures/resources.json
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.mo b/vendor/symfony/translation/Tests/fixtures/resources.mo
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.mo
rename to vendor/symfony/translation/Tests/fixtures/resources.mo
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.php b/vendor/symfony/translation/Tests/fixtures/resources.php
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.php
rename to vendor/symfony/translation/Tests/fixtures/resources.php
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.po b/vendor/symfony/translation/Tests/fixtures/resources.po
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.po
rename to vendor/symfony/translation/Tests/fixtures/resources.po
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.ts b/vendor/symfony/translation/Tests/fixtures/resources.ts
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.ts
rename to vendor/symfony/translation/Tests/fixtures/resources.ts
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.xlf b/vendor/symfony/translation/Tests/fixtures/resources.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.xlf
rename to vendor/symfony/translation/Tests/fixtures/resources.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/resources.yml b/vendor/symfony/translation/Tests/fixtures/resources.yml
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/resources.yml
rename to vendor/symfony/translation/Tests/fixtures/resources.yml
diff --git a/core/vendor/symfony/translation/Tests/fixtures/valid.csv b/vendor/symfony/translation/Tests/fixtures/valid.csv
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/valid.csv
rename to vendor/symfony/translation/Tests/fixtures/valid.csv
diff --git a/core/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf b/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/withdoctype.xlf
rename to vendor/symfony/translation/Tests/fixtures/withdoctype.xlf
diff --git a/core/vendor/symfony/translation/Tests/fixtures/withnote.xlf b/vendor/symfony/translation/Tests/fixtures/withnote.xlf
similarity index 100%
rename from core/vendor/symfony/translation/Tests/fixtures/withnote.xlf
rename to vendor/symfony/translation/Tests/fixtures/withnote.xlf
diff --git a/core/vendor/symfony/translation/Translator.php b/vendor/symfony/translation/Translator.php
similarity index 100%
rename from core/vendor/symfony/translation/Translator.php
rename to vendor/symfony/translation/Translator.php
diff --git a/core/vendor/symfony/translation/TranslatorBagInterface.php b/vendor/symfony/translation/TranslatorBagInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/TranslatorBagInterface.php
rename to vendor/symfony/translation/TranslatorBagInterface.php
diff --git a/core/vendor/symfony/translation/TranslatorInterface.php b/vendor/symfony/translation/TranslatorInterface.php
similarity index 100%
rename from core/vendor/symfony/translation/TranslatorInterface.php
rename to vendor/symfony/translation/TranslatorInterface.php
diff --git a/core/vendor/symfony/translation/Writer/TranslationWriter.php b/vendor/symfony/translation/Writer/TranslationWriter.php
similarity index 100%
rename from core/vendor/symfony/translation/Writer/TranslationWriter.php
rename to vendor/symfony/translation/Writer/TranslationWriter.php
diff --git a/core/vendor/symfony/translation/composer.json b/vendor/symfony/translation/composer.json
similarity index 100%
rename from core/vendor/symfony/translation/composer.json
rename to vendor/symfony/translation/composer.json
diff --git a/core/vendor/symfony/translation/phpunit.xml.dist b/vendor/symfony/translation/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/translation/phpunit.xml.dist
rename to vendor/symfony/translation/phpunit.xml.dist
diff --git a/core/vendor/symfony/browser-kit/.gitignore b/vendor/symfony/validator/.gitignore
similarity index 100%
rename from core/vendor/symfony/browser-kit/.gitignore
rename to vendor/symfony/validator/.gitignore
diff --git a/core/vendor/symfony/validator/CHANGELOG.md b/vendor/symfony/validator/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/validator/CHANGELOG.md
rename to vendor/symfony/validator/CHANGELOG.md
diff --git a/core/vendor/symfony/validator/ClassBasedInterface.php b/vendor/symfony/validator/ClassBasedInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ClassBasedInterface.php
rename to vendor/symfony/validator/ClassBasedInterface.php
diff --git a/core/vendor/symfony/validator/Constraint.php b/vendor/symfony/validator/Constraint.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraint.php
rename to vendor/symfony/validator/Constraint.php
diff --git a/core/vendor/symfony/validator/ConstraintValidator.php b/vendor/symfony/validator/ConstraintValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintValidator.php
rename to vendor/symfony/validator/ConstraintValidator.php
diff --git a/core/vendor/symfony/validator/ConstraintValidatorFactory.php b/vendor/symfony/validator/ConstraintValidatorFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintValidatorFactory.php
rename to vendor/symfony/validator/ConstraintValidatorFactory.php
diff --git a/core/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php b/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintValidatorFactoryInterface.php
rename to vendor/symfony/validator/ConstraintValidatorFactoryInterface.php
diff --git a/core/vendor/symfony/validator/ConstraintValidatorInterface.php b/vendor/symfony/validator/ConstraintValidatorInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintValidatorInterface.php
rename to vendor/symfony/validator/ConstraintValidatorInterface.php
diff --git a/core/vendor/symfony/validator/ConstraintViolation.php b/vendor/symfony/validator/ConstraintViolation.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintViolation.php
rename to vendor/symfony/validator/ConstraintViolation.php
diff --git a/core/vendor/symfony/validator/ConstraintViolationInterface.php b/vendor/symfony/validator/ConstraintViolationInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintViolationInterface.php
rename to vendor/symfony/validator/ConstraintViolationInterface.php
diff --git a/core/vendor/symfony/validator/ConstraintViolationList.php b/vendor/symfony/validator/ConstraintViolationList.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintViolationList.php
rename to vendor/symfony/validator/ConstraintViolationList.php
diff --git a/core/vendor/symfony/validator/ConstraintViolationListInterface.php b/vendor/symfony/validator/ConstraintViolationListInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ConstraintViolationListInterface.php
rename to vendor/symfony/validator/ConstraintViolationListInterface.php
diff --git a/core/vendor/symfony/validator/Constraints/AbstractComparison.php b/vendor/symfony/validator/Constraints/AbstractComparison.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/AbstractComparison.php
rename to vendor/symfony/validator/Constraints/AbstractComparison.php
diff --git a/core/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php b/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/AbstractComparisonValidator.php
rename to vendor/symfony/validator/Constraints/AbstractComparisonValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/All.php b/vendor/symfony/validator/Constraints/All.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/All.php
rename to vendor/symfony/validator/Constraints/All.php
diff --git a/core/vendor/symfony/validator/Constraints/AllValidator.php b/vendor/symfony/validator/Constraints/AllValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/AllValidator.php
rename to vendor/symfony/validator/Constraints/AllValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Blank.php b/vendor/symfony/validator/Constraints/Blank.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Blank.php
rename to vendor/symfony/validator/Constraints/Blank.php
diff --git a/core/vendor/symfony/validator/Constraints/BlankValidator.php b/vendor/symfony/validator/Constraints/BlankValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/BlankValidator.php
rename to vendor/symfony/validator/Constraints/BlankValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Callback.php b/vendor/symfony/validator/Constraints/Callback.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Callback.php
rename to vendor/symfony/validator/Constraints/Callback.php
diff --git a/core/vendor/symfony/validator/Constraints/CallbackValidator.php b/vendor/symfony/validator/Constraints/CallbackValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CallbackValidator.php
rename to vendor/symfony/validator/Constraints/CallbackValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/CardScheme.php b/vendor/symfony/validator/Constraints/CardScheme.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CardScheme.php
rename to vendor/symfony/validator/Constraints/CardScheme.php
diff --git a/core/vendor/symfony/validator/Constraints/CardSchemeValidator.php b/vendor/symfony/validator/Constraints/CardSchemeValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CardSchemeValidator.php
rename to vendor/symfony/validator/Constraints/CardSchemeValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Choice.php b/vendor/symfony/validator/Constraints/Choice.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Choice.php
rename to vendor/symfony/validator/Constraints/Choice.php
diff --git a/core/vendor/symfony/validator/Constraints/ChoiceValidator.php b/vendor/symfony/validator/Constraints/ChoiceValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/ChoiceValidator.php
rename to vendor/symfony/validator/Constraints/ChoiceValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Collection.php b/vendor/symfony/validator/Constraints/Collection.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Collection.php
rename to vendor/symfony/validator/Constraints/Collection.php
diff --git a/core/vendor/symfony/validator/Constraints/Collection/Optional.php b/vendor/symfony/validator/Constraints/Collection/Optional.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Collection/Optional.php
rename to vendor/symfony/validator/Constraints/Collection/Optional.php
diff --git a/core/vendor/symfony/validator/Constraints/Collection/Required.php b/vendor/symfony/validator/Constraints/Collection/Required.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Collection/Required.php
rename to vendor/symfony/validator/Constraints/Collection/Required.php
diff --git a/core/vendor/symfony/validator/Constraints/CollectionValidator.php b/vendor/symfony/validator/Constraints/CollectionValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CollectionValidator.php
rename to vendor/symfony/validator/Constraints/CollectionValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Composite.php b/vendor/symfony/validator/Constraints/Composite.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Composite.php
rename to vendor/symfony/validator/Constraints/Composite.php
diff --git a/core/vendor/symfony/validator/Constraints/Count.php b/vendor/symfony/validator/Constraints/Count.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Count.php
rename to vendor/symfony/validator/Constraints/Count.php
diff --git a/core/vendor/symfony/validator/Constraints/CountValidator.php b/vendor/symfony/validator/Constraints/CountValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CountValidator.php
rename to vendor/symfony/validator/Constraints/CountValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Country.php b/vendor/symfony/validator/Constraints/Country.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Country.php
rename to vendor/symfony/validator/Constraints/Country.php
diff --git a/core/vendor/symfony/validator/Constraints/CountryValidator.php b/vendor/symfony/validator/Constraints/CountryValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CountryValidator.php
rename to vendor/symfony/validator/Constraints/CountryValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Currency.php b/vendor/symfony/validator/Constraints/Currency.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Currency.php
rename to vendor/symfony/validator/Constraints/Currency.php
diff --git a/core/vendor/symfony/validator/Constraints/CurrencyValidator.php b/vendor/symfony/validator/Constraints/CurrencyValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/CurrencyValidator.php
rename to vendor/symfony/validator/Constraints/CurrencyValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Date.php b/vendor/symfony/validator/Constraints/Date.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Date.php
rename to vendor/symfony/validator/Constraints/Date.php
diff --git a/core/vendor/symfony/validator/Constraints/DateTime.php b/vendor/symfony/validator/Constraints/DateTime.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/DateTime.php
rename to vendor/symfony/validator/Constraints/DateTime.php
diff --git a/core/vendor/symfony/validator/Constraints/DateTimeValidator.php b/vendor/symfony/validator/Constraints/DateTimeValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/DateTimeValidator.php
rename to vendor/symfony/validator/Constraints/DateTimeValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/DateValidator.php b/vendor/symfony/validator/Constraints/DateValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/DateValidator.php
rename to vendor/symfony/validator/Constraints/DateValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Email.php b/vendor/symfony/validator/Constraints/Email.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Email.php
rename to vendor/symfony/validator/Constraints/Email.php
diff --git a/core/vendor/symfony/validator/Constraints/EmailValidator.php b/vendor/symfony/validator/Constraints/EmailValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/EmailValidator.php
rename to vendor/symfony/validator/Constraints/EmailValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/EqualTo.php b/vendor/symfony/validator/Constraints/EqualTo.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/EqualTo.php
rename to vendor/symfony/validator/Constraints/EqualTo.php
diff --git a/core/vendor/symfony/validator/Constraints/EqualToValidator.php b/vendor/symfony/validator/Constraints/EqualToValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/EqualToValidator.php
rename to vendor/symfony/validator/Constraints/EqualToValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Existence.php b/vendor/symfony/validator/Constraints/Existence.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Existence.php
rename to vendor/symfony/validator/Constraints/Existence.php
diff --git a/core/vendor/symfony/validator/Constraints/Expression.php b/vendor/symfony/validator/Constraints/Expression.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Expression.php
rename to vendor/symfony/validator/Constraints/Expression.php
diff --git a/core/vendor/symfony/validator/Constraints/ExpressionValidator.php b/vendor/symfony/validator/Constraints/ExpressionValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/ExpressionValidator.php
rename to vendor/symfony/validator/Constraints/ExpressionValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/False.php b/vendor/symfony/validator/Constraints/False.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/False.php
rename to vendor/symfony/validator/Constraints/False.php
diff --git a/core/vendor/symfony/validator/Constraints/FalseValidator.php b/vendor/symfony/validator/Constraints/FalseValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/FalseValidator.php
rename to vendor/symfony/validator/Constraints/FalseValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/File.php b/vendor/symfony/validator/Constraints/File.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/File.php
rename to vendor/symfony/validator/Constraints/File.php
diff --git a/core/vendor/symfony/validator/Constraints/FileValidator.php b/vendor/symfony/validator/Constraints/FileValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/FileValidator.php
rename to vendor/symfony/validator/Constraints/FileValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/GreaterThan.php b/vendor/symfony/validator/Constraints/GreaterThan.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GreaterThan.php
rename to vendor/symfony/validator/Constraints/GreaterThan.php
diff --git a/core/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php b/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GreaterThanOrEqual.php
rename to vendor/symfony/validator/Constraints/GreaterThanOrEqual.php
diff --git a/core/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php b/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php
rename to vendor/symfony/validator/Constraints/GreaterThanOrEqualValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/GreaterThanValidator.php b/vendor/symfony/validator/Constraints/GreaterThanValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GreaterThanValidator.php
rename to vendor/symfony/validator/Constraints/GreaterThanValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/GroupSequence.php b/vendor/symfony/validator/Constraints/GroupSequence.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GroupSequence.php
rename to vendor/symfony/validator/Constraints/GroupSequence.php
diff --git a/core/vendor/symfony/validator/Constraints/GroupSequenceProvider.php b/vendor/symfony/validator/Constraints/GroupSequenceProvider.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/GroupSequenceProvider.php
rename to vendor/symfony/validator/Constraints/GroupSequenceProvider.php
diff --git a/core/vendor/symfony/validator/Constraints/Iban.php b/vendor/symfony/validator/Constraints/Iban.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Iban.php
rename to vendor/symfony/validator/Constraints/Iban.php
diff --git a/core/vendor/symfony/validator/Constraints/IbanValidator.php b/vendor/symfony/validator/Constraints/IbanValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IbanValidator.php
rename to vendor/symfony/validator/Constraints/IbanValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/IdenticalTo.php b/vendor/symfony/validator/Constraints/IdenticalTo.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IdenticalTo.php
rename to vendor/symfony/validator/Constraints/IdenticalTo.php
diff --git a/core/vendor/symfony/validator/Constraints/IdenticalToValidator.php b/vendor/symfony/validator/Constraints/IdenticalToValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IdenticalToValidator.php
rename to vendor/symfony/validator/Constraints/IdenticalToValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Image.php b/vendor/symfony/validator/Constraints/Image.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Image.php
rename to vendor/symfony/validator/Constraints/Image.php
diff --git a/core/vendor/symfony/validator/Constraints/ImageValidator.php b/vendor/symfony/validator/Constraints/ImageValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/ImageValidator.php
rename to vendor/symfony/validator/Constraints/ImageValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Ip.php b/vendor/symfony/validator/Constraints/Ip.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Ip.php
rename to vendor/symfony/validator/Constraints/Ip.php
diff --git a/core/vendor/symfony/validator/Constraints/IpValidator.php b/vendor/symfony/validator/Constraints/IpValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IpValidator.php
rename to vendor/symfony/validator/Constraints/IpValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/IsFalse.php b/vendor/symfony/validator/Constraints/IsFalse.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsFalse.php
rename to vendor/symfony/validator/Constraints/IsFalse.php
diff --git a/core/vendor/symfony/validator/Constraints/IsFalseValidator.php b/vendor/symfony/validator/Constraints/IsFalseValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsFalseValidator.php
rename to vendor/symfony/validator/Constraints/IsFalseValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/IsNull.php b/vendor/symfony/validator/Constraints/IsNull.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsNull.php
rename to vendor/symfony/validator/Constraints/IsNull.php
diff --git a/core/vendor/symfony/validator/Constraints/IsNullValidator.php b/vendor/symfony/validator/Constraints/IsNullValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsNullValidator.php
rename to vendor/symfony/validator/Constraints/IsNullValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/IsTrue.php b/vendor/symfony/validator/Constraints/IsTrue.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsTrue.php
rename to vendor/symfony/validator/Constraints/IsTrue.php
diff --git a/core/vendor/symfony/validator/Constraints/IsTrueValidator.php b/vendor/symfony/validator/Constraints/IsTrueValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsTrueValidator.php
rename to vendor/symfony/validator/Constraints/IsTrueValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Isbn.php b/vendor/symfony/validator/Constraints/Isbn.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Isbn.php
rename to vendor/symfony/validator/Constraints/Isbn.php
diff --git a/core/vendor/symfony/validator/Constraints/IsbnValidator.php b/vendor/symfony/validator/Constraints/IsbnValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IsbnValidator.php
rename to vendor/symfony/validator/Constraints/IsbnValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Issn.php b/vendor/symfony/validator/Constraints/Issn.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Issn.php
rename to vendor/symfony/validator/Constraints/Issn.php
diff --git a/core/vendor/symfony/validator/Constraints/IssnValidator.php b/vendor/symfony/validator/Constraints/IssnValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/IssnValidator.php
rename to vendor/symfony/validator/Constraints/IssnValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Language.php b/vendor/symfony/validator/Constraints/Language.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Language.php
rename to vendor/symfony/validator/Constraints/Language.php
diff --git a/core/vendor/symfony/validator/Constraints/LanguageValidator.php b/vendor/symfony/validator/Constraints/LanguageValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LanguageValidator.php
rename to vendor/symfony/validator/Constraints/LanguageValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Length.php b/vendor/symfony/validator/Constraints/Length.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Length.php
rename to vendor/symfony/validator/Constraints/Length.php
diff --git a/core/vendor/symfony/validator/Constraints/LengthValidator.php b/vendor/symfony/validator/Constraints/LengthValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LengthValidator.php
rename to vendor/symfony/validator/Constraints/LengthValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/LessThan.php b/vendor/symfony/validator/Constraints/LessThan.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LessThan.php
rename to vendor/symfony/validator/Constraints/LessThan.php
diff --git a/core/vendor/symfony/validator/Constraints/LessThanOrEqual.php b/vendor/symfony/validator/Constraints/LessThanOrEqual.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LessThanOrEqual.php
rename to vendor/symfony/validator/Constraints/LessThanOrEqual.php
diff --git a/core/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php b/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php
rename to vendor/symfony/validator/Constraints/LessThanOrEqualValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/LessThanValidator.php b/vendor/symfony/validator/Constraints/LessThanValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LessThanValidator.php
rename to vendor/symfony/validator/Constraints/LessThanValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Locale.php b/vendor/symfony/validator/Constraints/Locale.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Locale.php
rename to vendor/symfony/validator/Constraints/Locale.php
diff --git a/core/vendor/symfony/validator/Constraints/LocaleValidator.php b/vendor/symfony/validator/Constraints/LocaleValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LocaleValidator.php
rename to vendor/symfony/validator/Constraints/LocaleValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Luhn.php b/vendor/symfony/validator/Constraints/Luhn.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Luhn.php
rename to vendor/symfony/validator/Constraints/Luhn.php
diff --git a/core/vendor/symfony/validator/Constraints/LuhnValidator.php b/vendor/symfony/validator/Constraints/LuhnValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/LuhnValidator.php
rename to vendor/symfony/validator/Constraints/LuhnValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/NotBlank.php b/vendor/symfony/validator/Constraints/NotBlank.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotBlank.php
rename to vendor/symfony/validator/Constraints/NotBlank.php
diff --git a/core/vendor/symfony/validator/Constraints/NotBlankValidator.php b/vendor/symfony/validator/Constraints/NotBlankValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotBlankValidator.php
rename to vendor/symfony/validator/Constraints/NotBlankValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/NotEqualTo.php b/vendor/symfony/validator/Constraints/NotEqualTo.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotEqualTo.php
rename to vendor/symfony/validator/Constraints/NotEqualTo.php
diff --git a/core/vendor/symfony/validator/Constraints/NotEqualToValidator.php b/vendor/symfony/validator/Constraints/NotEqualToValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotEqualToValidator.php
rename to vendor/symfony/validator/Constraints/NotEqualToValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/NotIdenticalTo.php b/vendor/symfony/validator/Constraints/NotIdenticalTo.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotIdenticalTo.php
rename to vendor/symfony/validator/Constraints/NotIdenticalTo.php
diff --git a/core/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php b/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotIdenticalToValidator.php
rename to vendor/symfony/validator/Constraints/NotIdenticalToValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/NotNull.php b/vendor/symfony/validator/Constraints/NotNull.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotNull.php
rename to vendor/symfony/validator/Constraints/NotNull.php
diff --git a/core/vendor/symfony/validator/Constraints/NotNullValidator.php b/vendor/symfony/validator/Constraints/NotNullValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NotNullValidator.php
rename to vendor/symfony/validator/Constraints/NotNullValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Null.php b/vendor/symfony/validator/Constraints/Null.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Null.php
rename to vendor/symfony/validator/Constraints/Null.php
diff --git a/core/vendor/symfony/validator/Constraints/NullValidator.php b/vendor/symfony/validator/Constraints/NullValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/NullValidator.php
rename to vendor/symfony/validator/Constraints/NullValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Optional.php b/vendor/symfony/validator/Constraints/Optional.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Optional.php
rename to vendor/symfony/validator/Constraints/Optional.php
diff --git a/core/vendor/symfony/validator/Constraints/Range.php b/vendor/symfony/validator/Constraints/Range.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Range.php
rename to vendor/symfony/validator/Constraints/Range.php
diff --git a/core/vendor/symfony/validator/Constraints/RangeValidator.php b/vendor/symfony/validator/Constraints/RangeValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/RangeValidator.php
rename to vendor/symfony/validator/Constraints/RangeValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Regex.php b/vendor/symfony/validator/Constraints/Regex.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Regex.php
rename to vendor/symfony/validator/Constraints/Regex.php
diff --git a/core/vendor/symfony/validator/Constraints/RegexValidator.php b/vendor/symfony/validator/Constraints/RegexValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/RegexValidator.php
rename to vendor/symfony/validator/Constraints/RegexValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Required.php b/vendor/symfony/validator/Constraints/Required.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Required.php
rename to vendor/symfony/validator/Constraints/Required.php
diff --git a/core/vendor/symfony/validator/Constraints/Time.php b/vendor/symfony/validator/Constraints/Time.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Time.php
rename to vendor/symfony/validator/Constraints/Time.php
diff --git a/core/vendor/symfony/validator/Constraints/TimeValidator.php b/vendor/symfony/validator/Constraints/TimeValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/TimeValidator.php
rename to vendor/symfony/validator/Constraints/TimeValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Traverse.php b/vendor/symfony/validator/Constraints/Traverse.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Traverse.php
rename to vendor/symfony/validator/Constraints/Traverse.php
diff --git a/core/vendor/symfony/validator/Constraints/True.php b/vendor/symfony/validator/Constraints/True.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/True.php
rename to vendor/symfony/validator/Constraints/True.php
diff --git a/core/vendor/symfony/validator/Constraints/TrueValidator.php b/vendor/symfony/validator/Constraints/TrueValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/TrueValidator.php
rename to vendor/symfony/validator/Constraints/TrueValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Type.php b/vendor/symfony/validator/Constraints/Type.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Type.php
rename to vendor/symfony/validator/Constraints/Type.php
diff --git a/core/vendor/symfony/validator/Constraints/TypeValidator.php b/vendor/symfony/validator/Constraints/TypeValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/TypeValidator.php
rename to vendor/symfony/validator/Constraints/TypeValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Url.php b/vendor/symfony/validator/Constraints/Url.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Url.php
rename to vendor/symfony/validator/Constraints/Url.php
diff --git a/core/vendor/symfony/validator/Constraints/UrlValidator.php b/vendor/symfony/validator/Constraints/UrlValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/UrlValidator.php
rename to vendor/symfony/validator/Constraints/UrlValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Uuid.php b/vendor/symfony/validator/Constraints/Uuid.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Uuid.php
rename to vendor/symfony/validator/Constraints/Uuid.php
diff --git a/core/vendor/symfony/validator/Constraints/UuidValidator.php b/vendor/symfony/validator/Constraints/UuidValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/UuidValidator.php
rename to vendor/symfony/validator/Constraints/UuidValidator.php
diff --git a/core/vendor/symfony/validator/Constraints/Valid.php b/vendor/symfony/validator/Constraints/Valid.php
similarity index 100%
rename from core/vendor/symfony/validator/Constraints/Valid.php
rename to vendor/symfony/validator/Constraints/Valid.php
diff --git a/core/vendor/symfony/validator/Context/ExecutionContext.php b/vendor/symfony/validator/Context/ExecutionContext.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/ExecutionContext.php
rename to vendor/symfony/validator/Context/ExecutionContext.php
diff --git a/core/vendor/symfony/validator/Context/ExecutionContextFactory.php b/vendor/symfony/validator/Context/ExecutionContextFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/ExecutionContextFactory.php
rename to vendor/symfony/validator/Context/ExecutionContextFactory.php
diff --git a/core/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php b/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php
rename to vendor/symfony/validator/Context/ExecutionContextFactoryInterface.php
diff --git a/core/vendor/symfony/validator/Context/ExecutionContextInterface.php b/vendor/symfony/validator/Context/ExecutionContextInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/ExecutionContextInterface.php
rename to vendor/symfony/validator/Context/ExecutionContextInterface.php
diff --git a/core/vendor/symfony/validator/Context/LegacyExecutionContext.php b/vendor/symfony/validator/Context/LegacyExecutionContext.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/LegacyExecutionContext.php
rename to vendor/symfony/validator/Context/LegacyExecutionContext.php
diff --git a/core/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php b/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Context/LegacyExecutionContextFactory.php
rename to vendor/symfony/validator/Context/LegacyExecutionContextFactory.php
diff --git a/core/vendor/symfony/validator/DefaultTranslator.php b/vendor/symfony/validator/DefaultTranslator.php
similarity index 100%
rename from core/vendor/symfony/validator/DefaultTranslator.php
rename to vendor/symfony/validator/DefaultTranslator.php
diff --git a/core/vendor/symfony/validator/Exception/BadMethodCallException.php b/vendor/symfony/validator/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/BadMethodCallException.php
rename to vendor/symfony/validator/Exception/BadMethodCallException.php
diff --git a/core/vendor/symfony/validator/Exception/ConstraintDefinitionException.php b/vendor/symfony/validator/Exception/ConstraintDefinitionException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/ConstraintDefinitionException.php
rename to vendor/symfony/validator/Exception/ConstraintDefinitionException.php
diff --git a/core/vendor/symfony/validator/Exception/ExceptionInterface.php b/vendor/symfony/validator/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/ExceptionInterface.php
rename to vendor/symfony/validator/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/validator/Exception/GroupDefinitionException.php b/vendor/symfony/validator/Exception/GroupDefinitionException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/GroupDefinitionException.php
rename to vendor/symfony/validator/Exception/GroupDefinitionException.php
diff --git a/core/vendor/symfony/validator/Exception/InvalidArgumentException.php b/vendor/symfony/validator/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/InvalidArgumentException.php
rename to vendor/symfony/validator/Exception/InvalidArgumentException.php
diff --git a/core/vendor/symfony/validator/Exception/InvalidOptionsException.php b/vendor/symfony/validator/Exception/InvalidOptionsException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/InvalidOptionsException.php
rename to vendor/symfony/validator/Exception/InvalidOptionsException.php
diff --git a/core/vendor/symfony/validator/Exception/MappingException.php b/vendor/symfony/validator/Exception/MappingException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/MappingException.php
rename to vendor/symfony/validator/Exception/MappingException.php
diff --git a/core/vendor/symfony/validator/Exception/MissingOptionsException.php b/vendor/symfony/validator/Exception/MissingOptionsException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/MissingOptionsException.php
rename to vendor/symfony/validator/Exception/MissingOptionsException.php
diff --git a/core/vendor/symfony/validator/Exception/NoSuchMetadataException.php b/vendor/symfony/validator/Exception/NoSuchMetadataException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/NoSuchMetadataException.php
rename to vendor/symfony/validator/Exception/NoSuchMetadataException.php
diff --git a/core/vendor/symfony/validator/Exception/OutOfBoundsException.php b/vendor/symfony/validator/Exception/OutOfBoundsException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/OutOfBoundsException.php
rename to vendor/symfony/validator/Exception/OutOfBoundsException.php
diff --git a/core/vendor/symfony/validator/Exception/RuntimeException.php b/vendor/symfony/validator/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/RuntimeException.php
rename to vendor/symfony/validator/Exception/RuntimeException.php
diff --git a/core/vendor/symfony/validator/Exception/UnexpectedTypeException.php b/vendor/symfony/validator/Exception/UnexpectedTypeException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/UnexpectedTypeException.php
rename to vendor/symfony/validator/Exception/UnexpectedTypeException.php
diff --git a/core/vendor/symfony/validator/Exception/UnsupportedMetadataException.php b/vendor/symfony/validator/Exception/UnsupportedMetadataException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/UnsupportedMetadataException.php
rename to vendor/symfony/validator/Exception/UnsupportedMetadataException.php
diff --git a/core/vendor/symfony/validator/Exception/ValidatorException.php b/vendor/symfony/validator/Exception/ValidatorException.php
similarity index 100%
rename from core/vendor/symfony/validator/Exception/ValidatorException.php
rename to vendor/symfony/validator/Exception/ValidatorException.php
diff --git a/core/vendor/symfony/validator/ExecutionContext.php b/vendor/symfony/validator/ExecutionContext.php
similarity index 100%
rename from core/vendor/symfony/validator/ExecutionContext.php
rename to vendor/symfony/validator/ExecutionContext.php
diff --git a/core/vendor/symfony/validator/ExecutionContextInterface.php b/vendor/symfony/validator/ExecutionContextInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ExecutionContextInterface.php
rename to vendor/symfony/validator/ExecutionContextInterface.php
diff --git a/core/vendor/symfony/validator/GlobalExecutionContextInterface.php b/vendor/symfony/validator/GlobalExecutionContextInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/GlobalExecutionContextInterface.php
rename to vendor/symfony/validator/GlobalExecutionContextInterface.php
diff --git a/core/vendor/symfony/validator/GroupSequenceProviderInterface.php b/vendor/symfony/validator/GroupSequenceProviderInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/GroupSequenceProviderInterface.php
rename to vendor/symfony/validator/GroupSequenceProviderInterface.php
diff --git a/core/vendor/symfony/class-loader/LICENSE b/vendor/symfony/validator/LICENSE
similarity index 100%
rename from core/vendor/symfony/class-loader/LICENSE
rename to vendor/symfony/validator/LICENSE
diff --git a/core/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php b/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php
rename to vendor/symfony/validator/Mapping/BlackholeMetadataFactory.php
diff --git a/core/vendor/symfony/validator/Mapping/Cache/ApcCache.php b/vendor/symfony/validator/Mapping/Cache/ApcCache.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Cache/ApcCache.php
rename to vendor/symfony/validator/Mapping/Cache/ApcCache.php
diff --git a/core/vendor/symfony/validator/Mapping/Cache/CacheInterface.php b/vendor/symfony/validator/Mapping/Cache/CacheInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Cache/CacheInterface.php
rename to vendor/symfony/validator/Mapping/Cache/CacheInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/Cache/DoctrineCache.php b/vendor/symfony/validator/Mapping/Cache/DoctrineCache.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Cache/DoctrineCache.php
rename to vendor/symfony/validator/Mapping/Cache/DoctrineCache.php
diff --git a/core/vendor/symfony/validator/Mapping/CascadingStrategy.php b/vendor/symfony/validator/Mapping/CascadingStrategy.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/CascadingStrategy.php
rename to vendor/symfony/validator/Mapping/CascadingStrategy.php
diff --git a/core/vendor/symfony/validator/Mapping/ClassMetadata.php b/vendor/symfony/validator/Mapping/ClassMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/ClassMetadata.php
rename to vendor/symfony/validator/Mapping/ClassMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/ClassMetadataFactory.php b/vendor/symfony/validator/Mapping/ClassMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/ClassMetadataFactory.php
rename to vendor/symfony/validator/Mapping/ClassMetadataFactory.php
diff --git a/core/vendor/symfony/validator/Mapping/ClassMetadataInterface.php b/vendor/symfony/validator/Mapping/ClassMetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/ClassMetadataInterface.php
rename to vendor/symfony/validator/Mapping/ClassMetadataInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/ElementMetadata.php b/vendor/symfony/validator/Mapping/ElementMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/ElementMetadata.php
rename to vendor/symfony/validator/Mapping/ElementMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php b/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php
rename to vendor/symfony/validator/Mapping/Factory/BlackHoleMetadataFactory.php
diff --git a/core/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php b/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php
rename to vendor/symfony/validator/Mapping/Factory/LazyLoadingMetadataFactory.php
diff --git a/core/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php b/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php
rename to vendor/symfony/validator/Mapping/Factory/MetadataFactoryInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/GenericMetadata.php b/vendor/symfony/validator/Mapping/GenericMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/GenericMetadata.php
rename to vendor/symfony/validator/Mapping/GenericMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/GetterMetadata.php b/vendor/symfony/validator/Mapping/GetterMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/GetterMetadata.php
rename to vendor/symfony/validator/Mapping/GetterMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php b/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/AbstractLoader.php
rename to vendor/symfony/validator/Mapping/Loader/AbstractLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php b/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php
rename to vendor/symfony/validator/Mapping/Loader/AnnotationLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/FileLoader.php b/vendor/symfony/validator/Mapping/Loader/FileLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/FileLoader.php
rename to vendor/symfony/validator/Mapping/Loader/FileLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/FilesLoader.php b/vendor/symfony/validator/Mapping/Loader/FilesLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/FilesLoader.php
rename to vendor/symfony/validator/Mapping/Loader/FilesLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/LoaderChain.php b/vendor/symfony/validator/Mapping/Loader/LoaderChain.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/LoaderChain.php
rename to vendor/symfony/validator/Mapping/Loader/LoaderChain.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php b/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/LoaderInterface.php
rename to vendor/symfony/validator/Mapping/Loader/LoaderInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php b/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php
rename to vendor/symfony/validator/Mapping/Loader/StaticMethodLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php b/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php
rename to vendor/symfony/validator/Mapping/Loader/XmlFileLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php b/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php
rename to vendor/symfony/validator/Mapping/Loader/XmlFilesLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php b/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php
rename to vendor/symfony/validator/Mapping/Loader/YamlFileLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php b/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php
rename to vendor/symfony/validator/Mapping/Loader/YamlFilesLoader.php
diff --git a/core/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd b/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd
rename to vendor/symfony/validator/Mapping/Loader/schema/dic/constraint-mapping/constraint-mapping-1.0.xsd
diff --git a/core/vendor/symfony/validator/Mapping/MemberMetadata.php b/vendor/symfony/validator/Mapping/MemberMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/MemberMetadata.php
rename to vendor/symfony/validator/Mapping/MemberMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/MetadataInterface.php b/vendor/symfony/validator/Mapping/MetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/MetadataInterface.php
rename to vendor/symfony/validator/Mapping/MetadataInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/PropertyMetadata.php b/vendor/symfony/validator/Mapping/PropertyMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/PropertyMetadata.php
rename to vendor/symfony/validator/Mapping/PropertyMetadata.php
diff --git a/core/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php b/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/PropertyMetadataInterface.php
rename to vendor/symfony/validator/Mapping/PropertyMetadataInterface.php
diff --git a/core/vendor/symfony/validator/Mapping/TraversalStrategy.php b/vendor/symfony/validator/Mapping/TraversalStrategy.php
similarity index 100%
rename from core/vendor/symfony/validator/Mapping/TraversalStrategy.php
rename to vendor/symfony/validator/Mapping/TraversalStrategy.php
diff --git a/core/vendor/symfony/validator/MetadataFactoryInterface.php b/vendor/symfony/validator/MetadataFactoryInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/MetadataFactoryInterface.php
rename to vendor/symfony/validator/MetadataFactoryInterface.php
diff --git a/core/vendor/symfony/validator/MetadataInterface.php b/vendor/symfony/validator/MetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/MetadataInterface.php
rename to vendor/symfony/validator/MetadataInterface.php
diff --git a/core/vendor/symfony/validator/ObjectInitializerInterface.php b/vendor/symfony/validator/ObjectInitializerInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ObjectInitializerInterface.php
rename to vendor/symfony/validator/ObjectInitializerInterface.php
diff --git a/core/vendor/symfony/validator/PropertyMetadataContainerInterface.php b/vendor/symfony/validator/PropertyMetadataContainerInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/PropertyMetadataContainerInterface.php
rename to vendor/symfony/validator/PropertyMetadataContainerInterface.php
diff --git a/core/vendor/symfony/validator/PropertyMetadataInterface.php b/vendor/symfony/validator/PropertyMetadataInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/PropertyMetadataInterface.php
rename to vendor/symfony/validator/PropertyMetadataInterface.php
diff --git a/core/vendor/symfony/validator/README.md b/vendor/symfony/validator/README.md
similarity index 100%
rename from core/vendor/symfony/validator/README.md
rename to vendor/symfony/validator/README.md
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.af.xlf b/vendor/symfony/validator/Resources/translations/validators.af.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.af.xlf
rename to vendor/symfony/validator/Resources/translations/validators.af.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ar.xlf b/vendor/symfony/validator/Resources/translations/validators.ar.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.ar.xlf
rename to vendor/symfony/validator/Resources/translations/validators.ar.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.az.xlf b/vendor/symfony/validator/Resources/translations/validators.az.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.az.xlf
rename to vendor/symfony/validator/Resources/translations/validators.az.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.bg.xlf b/vendor/symfony/validator/Resources/translations/validators.bg.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.bg.xlf
rename to vendor/symfony/validator/Resources/translations/validators.bg.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ca.xlf b/vendor/symfony/validator/Resources/translations/validators.ca.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.ca.xlf
rename to vendor/symfony/validator/Resources/translations/validators.ca.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.cs.xlf b/vendor/symfony/validator/Resources/translations/validators.cs.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.cs.xlf
rename to vendor/symfony/validator/Resources/translations/validators.cs.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.cy.xlf b/vendor/symfony/validator/Resources/translations/validators.cy.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.cy.xlf
rename to vendor/symfony/validator/Resources/translations/validators.cy.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.da.xlf b/vendor/symfony/validator/Resources/translations/validators.da.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.da.xlf
rename to vendor/symfony/validator/Resources/translations/validators.da.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.de.xlf b/vendor/symfony/validator/Resources/translations/validators.de.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.de.xlf
rename to vendor/symfony/validator/Resources/translations/validators.de.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.el.xlf b/vendor/symfony/validator/Resources/translations/validators.el.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.el.xlf
rename to vendor/symfony/validator/Resources/translations/validators.el.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.en.xlf b/vendor/symfony/validator/Resources/translations/validators.en.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.en.xlf
rename to vendor/symfony/validator/Resources/translations/validators.en.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.es.xlf b/vendor/symfony/validator/Resources/translations/validators.es.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.es.xlf
rename to vendor/symfony/validator/Resources/translations/validators.es.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.et.xlf b/vendor/symfony/validator/Resources/translations/validators.et.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.et.xlf
rename to vendor/symfony/validator/Resources/translations/validators.et.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.eu.xlf b/vendor/symfony/validator/Resources/translations/validators.eu.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.eu.xlf
rename to vendor/symfony/validator/Resources/translations/validators.eu.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fa.xlf b/vendor/symfony/validator/Resources/translations/validators.fa.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.fa.xlf
rename to vendor/symfony/validator/Resources/translations/validators.fa.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fi.xlf b/vendor/symfony/validator/Resources/translations/validators.fi.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.fi.xlf
rename to vendor/symfony/validator/Resources/translations/validators.fi.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.fr.xlf b/vendor/symfony/validator/Resources/translations/validators.fr.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.fr.xlf
rename to vendor/symfony/validator/Resources/translations/validators.fr.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.gl.xlf b/vendor/symfony/validator/Resources/translations/validators.gl.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.gl.xlf
rename to vendor/symfony/validator/Resources/translations/validators.gl.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.he.xlf b/vendor/symfony/validator/Resources/translations/validators.he.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.he.xlf
rename to vendor/symfony/validator/Resources/translations/validators.he.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hr.xlf b/vendor/symfony/validator/Resources/translations/validators.hr.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.hr.xlf
rename to vendor/symfony/validator/Resources/translations/validators.hr.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hu.xlf b/vendor/symfony/validator/Resources/translations/validators.hu.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.hu.xlf
rename to vendor/symfony/validator/Resources/translations/validators.hu.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.hy.xlf b/vendor/symfony/validator/Resources/translations/validators.hy.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.hy.xlf
rename to vendor/symfony/validator/Resources/translations/validators.hy.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.id.xlf b/vendor/symfony/validator/Resources/translations/validators.id.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.id.xlf
rename to vendor/symfony/validator/Resources/translations/validators.id.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.it.xlf b/vendor/symfony/validator/Resources/translations/validators.it.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.it.xlf
rename to vendor/symfony/validator/Resources/translations/validators.it.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ja.xlf b/vendor/symfony/validator/Resources/translations/validators.ja.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.ja.xlf
rename to vendor/symfony/validator/Resources/translations/validators.ja.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.lb.xlf b/vendor/symfony/validator/Resources/translations/validators.lb.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.lb.xlf
rename to vendor/symfony/validator/Resources/translations/validators.lb.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.lt.xlf b/vendor/symfony/validator/Resources/translations/validators.lt.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.lt.xlf
rename to vendor/symfony/validator/Resources/translations/validators.lt.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.mn.xlf b/vendor/symfony/validator/Resources/translations/validators.mn.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.mn.xlf
rename to vendor/symfony/validator/Resources/translations/validators.mn.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.nb.xlf b/vendor/symfony/validator/Resources/translations/validators.nb.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.nb.xlf
rename to vendor/symfony/validator/Resources/translations/validators.nb.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.nl.xlf b/vendor/symfony/validator/Resources/translations/validators.nl.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.nl.xlf
rename to vendor/symfony/validator/Resources/translations/validators.nl.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.no.xlf b/vendor/symfony/validator/Resources/translations/validators.no.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.no.xlf
rename to vendor/symfony/validator/Resources/translations/validators.no.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pl.xlf b/vendor/symfony/validator/Resources/translations/validators.pl.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.pl.xlf
rename to vendor/symfony/validator/Resources/translations/validators.pl.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pt.xlf b/vendor/symfony/validator/Resources/translations/validators.pt.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.pt.xlf
rename to vendor/symfony/validator/Resources/translations/validators.pt.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf b/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf
rename to vendor/symfony/validator/Resources/translations/validators.pt_BR.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ro.xlf b/vendor/symfony/validator/Resources/translations/validators.ro.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.ro.xlf
rename to vendor/symfony/validator/Resources/translations/validators.ro.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.ru.xlf b/vendor/symfony/validator/Resources/translations/validators.ru.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.ru.xlf
rename to vendor/symfony/validator/Resources/translations/validators.ru.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sk.xlf b/vendor/symfony/validator/Resources/translations/validators.sk.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sk.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sk.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sl.xlf b/vendor/symfony/validator/Resources/translations/validators.sl.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sl.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sl.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sq.xlf b/vendor/symfony/validator/Resources/translations/validators.sq.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sq.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sq.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf b/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sr_Cyrl.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf b/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sr_Latn.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.sv.xlf b/vendor/symfony/validator/Resources/translations/validators.sv.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.sv.xlf
rename to vendor/symfony/validator/Resources/translations/validators.sv.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.th.xlf b/vendor/symfony/validator/Resources/translations/validators.th.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.th.xlf
rename to vendor/symfony/validator/Resources/translations/validators.th.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.tr.xlf b/vendor/symfony/validator/Resources/translations/validators.tr.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.tr.xlf
rename to vendor/symfony/validator/Resources/translations/validators.tr.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.uk.xlf b/vendor/symfony/validator/Resources/translations/validators.uk.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.uk.xlf
rename to vendor/symfony/validator/Resources/translations/validators.uk.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.vi.xlf b/vendor/symfony/validator/Resources/translations/validators.vi.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.vi.xlf
rename to vendor/symfony/validator/Resources/translations/validators.vi.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf b/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
rename to vendor/symfony/validator/Resources/translations/validators.zh_CN.xlf
diff --git a/core/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf b/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf
similarity index 100%
rename from core/vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf
rename to vendor/symfony/validator/Resources/translations/validators.zh_TW.xlf
diff --git a/core/vendor/symfony/validator/Tests/ConstraintTest.php b/vendor/symfony/validator/Tests/ConstraintTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/ConstraintTest.php
rename to vendor/symfony/validator/Tests/ConstraintTest.php
diff --git a/core/vendor/symfony/validator/Tests/ConstraintViolationListTest.php b/vendor/symfony/validator/Tests/ConstraintViolationListTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/ConstraintViolationListTest.php
rename to vendor/symfony/validator/Tests/ConstraintViolationListTest.php
diff --git a/core/vendor/symfony/validator/Tests/ConstraintViolationTest.php b/vendor/symfony/validator/Tests/ConstraintViolationTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/ConstraintViolationTest.php
rename to vendor/symfony/validator/Tests/ConstraintViolationTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php b/vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
rename to vendor/symfony/validator/Tests/Constraints/AbstractComparisonValidatorTestCase.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/AbstractConstraintValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/AllTest.php b/vendor/symfony/validator/Tests/Constraints/AllTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/AllTest.php
rename to vendor/symfony/validator/Tests/Constraints/AllTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/AllValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/BlankValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CallbackValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CardSchemeValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/ChoiceValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CollectionTest.php b/vendor/symfony/validator/Tests/Constraints/CollectionTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CollectionTest.php
rename to vendor/symfony/validator/Tests/Constraints/CollectionTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php b/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php
rename to vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayObjectTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php b/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php
rename to vendor/symfony/validator/Tests/Constraints/CollectionValidatorArrayTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php b/vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php
rename to vendor/symfony/validator/Tests/Constraints/CollectionValidatorCustomArrayObjectTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CollectionValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CompositeTest.php b/vendor/symfony/validator/Tests/Constraints/CompositeTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CompositeTest.php
rename to vendor/symfony/validator/Tests/Constraints/CompositeTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php b/vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php
rename to vendor/symfony/validator/Tests/Constraints/CountValidatorArrayTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php b/vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php
rename to vendor/symfony/validator/Tests/Constraints/CountValidatorCountableTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CountValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CountryValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/CurrencyValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/DateTimeValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/DateValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/EmailValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/EqualToValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/ExpressionValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/FileTest.php b/vendor/symfony/validator/Tests/Constraints/FileTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/FileTest.php
rename to vendor/symfony/validator/Tests/Constraints/FileTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php b/vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php
rename to vendor/symfony/validator/Tests/Constraints/FileValidatorObjectTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php b/vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php
rename to vendor/symfony/validator/Tests/Constraints/FileValidatorPathTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/FileValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/foo b/vendor/symfony/validator/Tests/Constraints/Fixtures/foo
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/Fixtures/foo
rename to vendor/symfony/validator/Tests/Constraints/Fixtures/foo
diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif b/vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif
rename to vendor/symfony/validator/Tests/Constraints/Fixtures/test.gif
diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif b/vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif
rename to vendor/symfony/validator/Tests/Constraints/Fixtures/test_4by3.gif
diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif b/vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif
rename to vendor/symfony/validator/Tests/Constraints/Fixtures/test_landscape.gif
diff --git a/core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif b/vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif
rename to vendor/symfony/validator/Tests/Constraints/Fixtures/test_portrait.gif
diff --git a/core/vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/GreaterThanOrEqualValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/GreaterThanValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php b/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php
rename to vendor/symfony/validator/Tests/Constraints/GroupSequenceTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IbanValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IdenticalToValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/ImageValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IpValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IsFalseValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IsNullValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IsTrueValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IsbnValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/IssnValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LanguageValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LengthValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LessThanOrEqualValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LessThanValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LocaleValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/LuhnValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/NotBlankValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/NotEqualToValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/NotIdenticalToValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/NotNullValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/RangeValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/RegexTest.php b/vendor/symfony/validator/Tests/Constraints/RegexTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/RegexTest.php
rename to vendor/symfony/validator/Tests/Constraints/RegexTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/RegexValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/TimeValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/TypeValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/UrlValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php b/vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php
rename to vendor/symfony/validator/Tests/Constraints/UuidValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Constraints/ValidTest.php b/vendor/symfony/validator/Tests/Constraints/ValidTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Constraints/ValidTest.php
rename to vendor/symfony/validator/Tests/Constraints/ValidTest.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/CallbackClass.php b/vendor/symfony/validator/Tests/Fixtures/CallbackClass.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/CallbackClass.php
rename to vendor/symfony/validator/Tests/Fixtures/CallbackClass.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php b/vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php
rename to vendor/symfony/validator/Tests/Fixtures/ClassConstraint.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintA.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintA.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintA.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintA.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintAValidator.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintB.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintB.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintB.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintB.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintC.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintC.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintC.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintC.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintWithValue.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php b/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php
rename to vendor/symfony/validator/Tests/Fixtures/ConstraintWithValueAsDefault.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/Countable.php b/vendor/symfony/validator/Tests/Fixtures/Countable.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/Countable.php
rename to vendor/symfony/validator/Tests/Fixtures/Countable.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php b/vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php
rename to vendor/symfony/validator/Tests/Fixtures/CustomArrayObject.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/Entity.php b/vendor/symfony/validator/Tests/Fixtures/Entity.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/Entity.php
rename to vendor/symfony/validator/Tests/Fixtures/Entity.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/EntityInterface.php b/vendor/symfony/validator/Tests/Fixtures/EntityInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/EntityInterface.php
rename to vendor/symfony/validator/Tests/Fixtures/EntityInterface.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/EntityParent.php b/vendor/symfony/validator/Tests/Fixtures/EntityParent.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/EntityParent.php
rename to vendor/symfony/validator/Tests/Fixtures/EntityParent.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php b/vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php
rename to vendor/symfony/validator/Tests/Fixtures/FailingConstraint.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php b/vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php
rename to vendor/symfony/validator/Tests/Fixtures/FailingConstraintValidator.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php b/vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php
rename to vendor/symfony/validator/Tests/Fixtures/FakeClassMetadata.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php b/vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php
rename to vendor/symfony/validator/Tests/Fixtures/FakeMetadataFactory.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php b/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/FilesLoader.php
rename to vendor/symfony/validator/Tests/Fixtures/FilesLoader.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php b/vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php
rename to vendor/symfony/validator/Tests/Fixtures/GroupSequenceProviderEntity.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php b/vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php
rename to vendor/symfony/validator/Tests/Fixtures/InvalidConstraint.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php b/vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php
rename to vendor/symfony/validator/Tests/Fixtures/InvalidConstraintValidator.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php b/vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php
rename to vendor/symfony/validator/Tests/Fixtures/LegacyClassMetadata.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php b/vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php
rename to vendor/symfony/validator/Tests/Fixtures/PropertyConstraint.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/Reference.php b/vendor/symfony/validator/Tests/Fixtures/Reference.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/Reference.php
rename to vendor/symfony/validator/Tests/Fixtures/Reference.php
diff --git a/core/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php b/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php
rename to vendor/symfony/validator/Tests/Fixtures/StubGlobalExecutionContext.php
diff --git a/core/vendor/symfony/validator/Tests/LegacyExecutionContextTest.php b/vendor/symfony/validator/Tests/LegacyExecutionContextTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/LegacyExecutionContextTest.php
rename to vendor/symfony/validator/Tests/LegacyExecutionContextTest.php
diff --git a/core/vendor/symfony/validator/Tests/LegacyValidatorTest.php b/vendor/symfony/validator/Tests/LegacyValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/LegacyValidatorTest.php
rename to vendor/symfony/validator/Tests/LegacyValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php b/vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php
rename to vendor/symfony/validator/Tests/Mapping/Cache/DoctrineCacheTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php b/vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
rename to vendor/symfony/validator/Tests/Mapping/Cache/LegacyApcCacheTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php b/vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php
rename to vendor/symfony/validator/Tests/Mapping/ClassMetadataTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php b/vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
rename to vendor/symfony/validator/Tests/Mapping/Factory/BlackHoleMetadataFactoryTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php b/vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
rename to vendor/symfony/validator/Tests/Mapping/Factory/LazyLoadingMetadataFactoryTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php b/vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php
rename to vendor/symfony/validator/Tests/Mapping/GetterMetadataTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php b/vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php
rename to vendor/symfony/validator/Tests/Mapping/LegacyElementMetadataTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php b/vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/AbstractStaticMethodLoader.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/AnnotationLoaderTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/FilesLoaderTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/LoaderChainTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/StaticMethodLoaderTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/XmlFileLoaderTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php b/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php
rename to vendor/symfony/validator/Tests/Mapping/Loader/YamlFileLoaderTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
rename to vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping-non-strings.xml
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
rename to vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.xml
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml b/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml
rename to vendor/symfony/validator/Tests/Mapping/Loader/constraint-mapping.yml
diff --git a/core/vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml b/vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml
similarity index 100%
rename from core/vendor/symfony/serializer/Tests/Fixtures/empty-mapping.yml
rename to vendor/symfony/validator/Tests/Mapping/Loader/empty-mapping.yml
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml b/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml
rename to vendor/symfony/validator/Tests/Mapping/Loader/nonvalid-mapping.yml
diff --git a/core/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml b/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
rename to vendor/symfony/validator/Tests/Mapping/Loader/withdoctype.xml
diff --git a/core/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php b/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php
rename to vendor/symfony/validator/Tests/Mapping/MemberMetadataTest.php
diff --git a/core/vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php b/vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php
rename to vendor/symfony/validator/Tests/Mapping/PropertyMetadataTest.php
diff --git a/core/vendor/symfony/validator/Tests/Util/PropertyPathTest.php b/vendor/symfony/validator/Tests/Util/PropertyPathTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Util/PropertyPathTest.php
rename to vendor/symfony/validator/Tests/Util/PropertyPathTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php b/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php
rename to vendor/symfony/validator/Tests/Validator/Abstract2Dot5ApiTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php b/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php
rename to vendor/symfony/validator/Tests/Validator/AbstractLegacyApiTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php b/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
rename to vendor/symfony/validator/Tests/Validator/AbstractValidatorTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php b/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php
rename to vendor/symfony/validator/Tests/Validator/LegacyValidator2Dot5ApiTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php b/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php
rename to vendor/symfony/validator/Tests/Validator/LegacyValidatorLegacyApiTest.php
diff --git a/core/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php b/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php
rename to vendor/symfony/validator/Tests/Validator/RecursiveValidator2Dot5ApiTest.php
diff --git a/core/vendor/symfony/validator/Tests/ValidatorBuilderTest.php b/vendor/symfony/validator/Tests/ValidatorBuilderTest.php
similarity index 100%
rename from core/vendor/symfony/validator/Tests/ValidatorBuilderTest.php
rename to vendor/symfony/validator/Tests/ValidatorBuilderTest.php
diff --git a/core/vendor/symfony/validator/Util/PropertyPath.php b/vendor/symfony/validator/Util/PropertyPath.php
similarity index 100%
rename from core/vendor/symfony/validator/Util/PropertyPath.php
rename to vendor/symfony/validator/Util/PropertyPath.php
diff --git a/core/vendor/symfony/validator/Validation.php b/vendor/symfony/validator/Validation.php
similarity index 100%
rename from core/vendor/symfony/validator/Validation.php
rename to vendor/symfony/validator/Validation.php
diff --git a/core/vendor/symfony/validator/ValidationVisitor.php b/vendor/symfony/validator/ValidationVisitor.php
similarity index 100%
rename from core/vendor/symfony/validator/ValidationVisitor.php
rename to vendor/symfony/validator/ValidationVisitor.php
diff --git a/core/vendor/symfony/validator/ValidationVisitorInterface.php b/vendor/symfony/validator/ValidationVisitorInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ValidationVisitorInterface.php
rename to vendor/symfony/validator/ValidationVisitorInterface.php
diff --git a/core/vendor/symfony/validator/Validator.php b/vendor/symfony/validator/Validator.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator.php
rename to vendor/symfony/validator/Validator.php
diff --git a/core/vendor/symfony/validator/Validator/ContextualValidatorInterface.php b/vendor/symfony/validator/Validator/ContextualValidatorInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator/ContextualValidatorInterface.php
rename to vendor/symfony/validator/Validator/ContextualValidatorInterface.php
diff --git a/core/vendor/symfony/validator/Validator/LegacyValidator.php b/vendor/symfony/validator/Validator/LegacyValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator/LegacyValidator.php
rename to vendor/symfony/validator/Validator/LegacyValidator.php
diff --git a/core/vendor/symfony/validator/Validator/RecursiveContextualValidator.php b/vendor/symfony/validator/Validator/RecursiveContextualValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator/RecursiveContextualValidator.php
rename to vendor/symfony/validator/Validator/RecursiveContextualValidator.php
diff --git a/core/vendor/symfony/validator/Validator/RecursiveValidator.php b/vendor/symfony/validator/Validator/RecursiveValidator.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator/RecursiveValidator.php
rename to vendor/symfony/validator/Validator/RecursiveValidator.php
diff --git a/core/vendor/symfony/validator/Validator/ValidatorInterface.php b/vendor/symfony/validator/Validator/ValidatorInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Validator/ValidatorInterface.php
rename to vendor/symfony/validator/Validator/ValidatorInterface.php
diff --git a/core/vendor/symfony/validator/ValidatorBuilder.php b/vendor/symfony/validator/ValidatorBuilder.php
similarity index 100%
rename from core/vendor/symfony/validator/ValidatorBuilder.php
rename to vendor/symfony/validator/ValidatorBuilder.php
diff --git a/core/vendor/symfony/validator/ValidatorBuilderInterface.php b/vendor/symfony/validator/ValidatorBuilderInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ValidatorBuilderInterface.php
rename to vendor/symfony/validator/ValidatorBuilderInterface.php
diff --git a/core/vendor/symfony/validator/ValidatorInterface.php b/vendor/symfony/validator/ValidatorInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/ValidatorInterface.php
rename to vendor/symfony/validator/ValidatorInterface.php
diff --git a/core/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php b/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php
similarity index 100%
rename from core/vendor/symfony/validator/Violation/ConstraintViolationBuilder.php
rename to vendor/symfony/validator/Violation/ConstraintViolationBuilder.php
diff --git a/core/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php b/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php
similarity index 100%
rename from core/vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php
rename to vendor/symfony/validator/Violation/ConstraintViolationBuilderInterface.php
diff --git a/core/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php b/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php
similarity index 100%
rename from core/vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php
rename to vendor/symfony/validator/Violation/LegacyConstraintViolationBuilder.php
diff --git a/core/vendor/symfony/validator/composer.json b/vendor/symfony/validator/composer.json
similarity index 100%
rename from core/vendor/symfony/validator/composer.json
rename to vendor/symfony/validator/composer.json
diff --git a/core/vendor/symfony/validator/phpunit.xml.dist b/vendor/symfony/validator/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/validator/phpunit.xml.dist
rename to vendor/symfony/validator/phpunit.xml.dist
diff --git a/vendor/symfony/yaml/.gitignore b/vendor/symfony/yaml/.gitignore
new file mode 100644
index 0000000..c49a5d8
--- /dev/null
+++ b/vendor/symfony/yaml/.gitignore
@@ -0,0 +1,3 @@
+vendor/
+composer.lock
+phpunit.xml
diff --git a/core/vendor/symfony/yaml/CHANGELOG.md b/vendor/symfony/yaml/CHANGELOG.md
similarity index 100%
rename from core/vendor/symfony/yaml/CHANGELOG.md
rename to vendor/symfony/yaml/CHANGELOG.md
diff --git a/core/vendor/symfony/yaml/Dumper.php b/vendor/symfony/yaml/Dumper.php
similarity index 100%
rename from core/vendor/symfony/yaml/Dumper.php
rename to vendor/symfony/yaml/Dumper.php
diff --git a/core/vendor/symfony/yaml/Escaper.php b/vendor/symfony/yaml/Escaper.php
similarity index 100%
rename from core/vendor/symfony/yaml/Escaper.php
rename to vendor/symfony/yaml/Escaper.php
diff --git a/core/vendor/symfony/yaml/Exception/DumpException.php b/vendor/symfony/yaml/Exception/DumpException.php
similarity index 100%
rename from core/vendor/symfony/yaml/Exception/DumpException.php
rename to vendor/symfony/yaml/Exception/DumpException.php
diff --git a/core/vendor/symfony/yaml/Exception/ExceptionInterface.php b/vendor/symfony/yaml/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/symfony/yaml/Exception/ExceptionInterface.php
rename to vendor/symfony/yaml/Exception/ExceptionInterface.php
diff --git a/core/vendor/symfony/yaml/Exception/ParseException.php b/vendor/symfony/yaml/Exception/ParseException.php
similarity index 100%
rename from core/vendor/symfony/yaml/Exception/ParseException.php
rename to vendor/symfony/yaml/Exception/ParseException.php
diff --git a/core/vendor/symfony/yaml/Exception/RuntimeException.php b/vendor/symfony/yaml/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/symfony/yaml/Exception/RuntimeException.php
rename to vendor/symfony/yaml/Exception/RuntimeException.php
diff --git a/core/vendor/symfony/yaml/Inline.php b/vendor/symfony/yaml/Inline.php
similarity index 100%
rename from core/vendor/symfony/yaml/Inline.php
rename to vendor/symfony/yaml/Inline.php
diff --git a/core/vendor/symfony/browser-kit/LICENSE b/vendor/symfony/yaml/LICENSE
similarity index 100%
rename from core/vendor/symfony/browser-kit/LICENSE
rename to vendor/symfony/yaml/LICENSE
diff --git a/core/vendor/symfony/yaml/Parser.php b/vendor/symfony/yaml/Parser.php
similarity index 100%
rename from core/vendor/symfony/yaml/Parser.php
rename to vendor/symfony/yaml/Parser.php
diff --git a/core/vendor/symfony/yaml/README.md b/vendor/symfony/yaml/README.md
similarity index 100%
rename from core/vendor/symfony/yaml/README.md
rename to vendor/symfony/yaml/README.md
diff --git a/core/vendor/symfony/yaml/Tests/DumperTest.php b/vendor/symfony/yaml/Tests/DumperTest.php
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/DumperTest.php
rename to vendor/symfony/yaml/Tests/DumperTest.php
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml b/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml
rename to vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml b/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml
rename to vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml b/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml
rename to vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/index.yml b/vendor/symfony/yaml/Tests/Fixtures/index.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/index.yml
rename to vendor/symfony/yaml/Tests/Fixtures/index.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml b/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfComments.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml b/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml b/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml b/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml b/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml b/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml
rename to vendor/symfony/yaml/Tests/Fixtures/sfTests.yml
diff --git a/core/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml b/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml
rename to vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml
diff --git a/core/vendor/symfony/yaml/Tests/InlineTest.php b/vendor/symfony/yaml/Tests/InlineTest.php
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/InlineTest.php
rename to vendor/symfony/yaml/Tests/InlineTest.php
diff --git a/core/vendor/symfony/yaml/Tests/ParseExceptionTest.php b/vendor/symfony/yaml/Tests/ParseExceptionTest.php
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/ParseExceptionTest.php
rename to vendor/symfony/yaml/Tests/ParseExceptionTest.php
diff --git a/core/vendor/symfony/yaml/Tests/ParserTest.php b/vendor/symfony/yaml/Tests/ParserTest.php
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/ParserTest.php
rename to vendor/symfony/yaml/Tests/ParserTest.php
diff --git a/core/vendor/symfony/yaml/Tests/YamlTest.php b/vendor/symfony/yaml/Tests/YamlTest.php
similarity index 100%
rename from core/vendor/symfony/yaml/Tests/YamlTest.php
rename to vendor/symfony/yaml/Tests/YamlTest.php
diff --git a/core/vendor/symfony/yaml/Unescaper.php b/vendor/symfony/yaml/Unescaper.php
similarity index 100%
rename from core/vendor/symfony/yaml/Unescaper.php
rename to vendor/symfony/yaml/Unescaper.php
diff --git a/core/vendor/symfony/yaml/Yaml.php b/vendor/symfony/yaml/Yaml.php
similarity index 100%
rename from core/vendor/symfony/yaml/Yaml.php
rename to vendor/symfony/yaml/Yaml.php
diff --git a/core/vendor/symfony/yaml/composer.json b/vendor/symfony/yaml/composer.json
similarity index 100%
rename from core/vendor/symfony/yaml/composer.json
rename to vendor/symfony/yaml/composer.json
diff --git a/core/vendor/symfony/yaml/phpunit.xml.dist b/vendor/symfony/yaml/phpunit.xml.dist
similarity index 100%
rename from core/vendor/symfony/yaml/phpunit.xml.dist
rename to vendor/symfony/yaml/phpunit.xml.dist
diff --git a/core/vendor/twig/twig/.editorconfig b/vendor/twig/twig/.editorconfig
similarity index 100%
rename from core/vendor/twig/twig/.editorconfig
rename to vendor/twig/twig/.editorconfig
diff --git a/core/vendor/twig/twig/.gitignore b/vendor/twig/twig/.gitignore
similarity index 100%
rename from core/vendor/twig/twig/.gitignore
rename to vendor/twig/twig/.gitignore
diff --git a/core/vendor/twig/twig/.travis.yml b/vendor/twig/twig/.travis.yml
similarity index 100%
rename from core/vendor/twig/twig/.travis.yml
rename to vendor/twig/twig/.travis.yml
diff --git a/vendor/twig/twig/CHANGELOG b/vendor/twig/twig/CHANGELOG
new file mode 100644
index 0000000..90905c0
--- /dev/null
+++ b/vendor/twig/twig/CHANGELOG
@@ -0,0 +1,790 @@
+* 1.22.2 (2015-09-22)
+
+ * fixed a race condition in template loading
+
+* 1.22.1 (2015-09-15)
+
+ * fixed regression in template_from_string
+
+* 1.22.0 (2015-09-13)
+
+ * made Twig_Test_IntegrationTestCase more flexible
+ * added an option to force PHP bytecode invalidation when writing a compiled template into the cache
+ * fixed the profiler duration for the root node
+ * changed template cache names to take into account enabled extensions
+ * deprecated Twig_Environment::clearCacheFiles(), Twig_Environment::getCacheFilename(),
+   Twig_Environment::writeCacheFile(), and Twig_Environment::getTemplateClassPrefix()
+ * added a way to override the filesystem template cache system
+ * added a way to get the original template source from Twig_Template
+
+* 1.21.2 (2015-09-09)
+
+ * fixed variable names for the deprecation triggering code
+ * fixed escaping strategy detection based on filename
+ * added Traversable support for replace, merge, and sort
+ * deprecated support for character by character replacement for the "replace" filter
+
+* 1.21.1 (2015-08-26)
+
+ * fixed regression when using the deprecated Twig_Test_* classes
+
+* 1.21.0 (2015-08-24)
+
+ * added deprecation notices for deprecated features
+ * added a deprecation "framework" for filters/functions/tests and test fixtures
+
+* 1.20.0 (2015-08-12)
+
+ * forbid access to the Twig environment from templates and internal parts of Twig_Template
+ * fixed limited RCEs when in sandbox mode
+ * deprecated Twig_Template::getEnvironment()
+ * deprecated the _self variable for usage outside of the from and import tags
+ * added Twig_BaseNodeVisitor to ease the compatibility of node visitors 
+   between 1.x and 2.x
+
+* 1.19.0 (2015-07-31)
+
+ * fixed wrong error message when including an undefined template in a child template
+ * added support for variadic filters, functions, and tests
+ * added support for extra positional arguments in macros
+ * added ignore_missing flag to the source function
+ * fixed batch filter with zero items
+ * deprecated Twig_Environment::clearTemplateCache()
+ * fixed sandbox disabling when using the include function
+
+* 1.18.2 (2015-06-06)
+
+ * fixed template/line guessing in exceptions for nested templates
+ * optimized the number of inodes and the size of realpath cache when using the cache
+
+* 1.18.1 (2015-04-19)
+
+ * fixed memory leaks in the C extension
+ * deprecated Twig_Loader_String
+ * fixed the slice filter when used with a SimpleXMLElement object
+ * fixed filesystem loader when trying to load non-files (like directories)
+
+* 1.18.0 (2015-01-25)
+
+ * fixed some error messages where the line was wrong (unknown variables or argument names)
+ * added a new way to customize the main Module node (via empty nodes)
+ * added Twig_Environment::createTemplate() to create a template from a string
+ * added a profiler
+ * fixed filesystem loader cache when different file paths are used for the same template
+
+* 1.17.0 (2015-01-14)
+
+ * added a 'filename' autoescaping strategy, which dynamically chooses the
+   autoescaping strategy for a template based on template file extension.
+
+* 1.16.3 (2014-12-25)
+
+ * fixed regression for dynamic parent templates
+ * fixed cache management with statcache
+ * fixed a regression in the slice filter
+
+* 1.16.2 (2014-10-17)
+
+ * fixed timezone on dates as strings
+ * fixed 2-words test names when a custom node class is not used
+ * fixed macros when using an argument named like a PHP super global (like GET or POST)
+ * fixed date_modify when working with DateTimeImmutable
+ * optimized for loops
+ * fixed multi-byte characters handling in the split filter
+ * fixed a regression in the in operator
+ * fixed a regression in the slice filter
+
+* 1.16.1 (2014-10-10)
+
+ * improved error reporting in a sandboxed template
+ * fixed missing error file/line information under certain circumstances
+ * fixed wrong error line number in some error messages
+ * fixed the in operator to use strict comparisons
+ * sped up the slice filter
+ * fixed for mb function overload mb_substr acting different
+ * fixed the attribute() function when passing a variable for the arguments
+
+* 1.16.0 (2014-07-05)
+
+ * changed url_encode to always encode according to RFC 3986
+ * fixed inheritance in a 'use'-hierarchy
+ * removed the __toString policy check when the sandbox is disabled
+ * fixed recursively calling blocks in templates with inheritance
+
+* 1.15.1 (2014-02-13)
+
+ * fixed the conversion of the special '0000-00-00 00:00' date
+ * added an error message when trying to import an undefined block from a trait
+ * fixed a C extension crash when accessing defined but uninitialized property.
+
+* 1.15.0 (2013-12-06)
+
+ * made ignoreStrictCheck in Template::getAttribute() works with __call() methods throwing BadMethodCallException
+ * added min and max functions
+ * added the round filter
+ * fixed a bug that prevented the optimizers to be enabled/disabled selectively
+ * fixed first and last filters for UTF-8 strings
+ * added a source function to include the content of a template without rendering it
+ * fixed the C extension sandbox behavior when get or set is prepend to method name
+
+* 1.14.2 (2013-10-30)
+
+ * fixed error filename/line when an error occurs in an included file
+ * allowed operators that contain whitespaces to have more than one whitespace
+ * allowed tests to be made of 1 or 2 words (like "same as" or "divisible by")
+
+* 1.14.1 (2013-10-15)
+
+ * made it possible to use named operators as variables
+ * fixed the possibility to have a variable named 'matches'
+ * added support for PHP 5.5 DateTimeInterface
+
+* 1.14.0 (2013-10-03)
+
+ * fixed usage of the html_attr escaping strategy to avoid double-escaping with the html strategy
+ * added new operators: ends with, starts with, and matches
+ * fixed some compatibility issues with HHVM
+ * added a way to add custom escaping strategies
+ * fixed the C extension compilation on Windows
+ * fixed the batch filter when using a fill argument with an exact match of elements to batch
+ * fixed the filesystem loader cache when a template name exists in several namespaces
+ * fixed template_from_string when the template includes or extends other ones
+ * fixed a crash of the C extension on an edge case
+
+* 1.13.2 (2013-08-03)
+
+ * fixed the error line number for an error occurs in and embedded template
+ * fixed crashes of the C extension on some edge cases
+
+* 1.13.1 (2013-06-06)
+
+ * added the possibility to ignore the filesystem constructor argument in Twig_Loader_Filesystem
+ * fixed Twig_Loader_Chain::exists() for a loader which implements Twig_ExistsLoaderInterface
+ * adjusted backtrace call to reduce memory usage when an error occurs
+ * added support for object instances as the second argument of the constant test
+ * fixed the include function when used in an assignment
+
+* 1.13.0 (2013-05-10)
+
+ * fixed getting a numeric-like item on a variable ('09' for instance)
+ * fixed getting a boolean or float key on an array, so it is consistent with PHP's array access:
+   `{{ array[false] }}` behaves the same as `echo $array[false];` (equals `$array[0]`)
+ * made the escape filter 20% faster for happy path (escaping string for html with UTF-8)
+ * changed â˜ƒ to Â§ in tests
+ * enforced usage of named arguments after positional ones
+
+* 1.12.3 (2013-04-08)
+
+ * fixed a security issue in the filesystem loader where it was possible to include a template one
+   level above the configured path
+ * fixed fatal error that should be an exception when adding a filter/function/test too late
+ * added a batch filter
+ * added support for encoding an array as query string in the url_encode filter
+
+* 1.12.2 (2013-02-09)
+
+ * fixed the timezone used by the date filter and function when the given date contains a timezone (like 2010-01-28T15:00:00+02:00)
+ * fixed globals when getGlobals is called early on
+ * added the first and last filter
+
+* 1.12.1 (2013-01-15)
+
+ * added support for object instances as the second argument of the constant function
+ * relaxed globals management to avoid a BC break
+ * added support for {{ some_string[:2] }}
+
+* 1.12.0 (2013-01-08)
+
+ * added verbatim as an alias for the raw tag to avoid confusion with the raw filter
+ * fixed registration of tests and functions as anonymous functions
+ * fixed globals management
+
+* 1.12.0-RC1 (2012-12-29)
+
+ * added an include function (does the same as the include tag but in a more flexible way)
+ * added the ability to use any PHP callable to define filters, functions, and tests
+ * added a syntax error when using a loop variable that is not defined
+ * added the ability to set default values for macro arguments
+ * added support for named arguments for filters, tests, and functions
+ * moved filters/functions/tests syntax errors to the parser
+ * added support for extended ternary operator syntaxes
+
+* 1.11.1 (2012-11-11)
+
+ * fixed debug info line numbering (was off by 2)
+ * fixed escaping when calling a macro inside another one (regression introduced in 1.9.1)
+ * optimized variable access on PHP 5.4
+ * fixed a crash of the C extension when an exception was thrown from a macro called without being imported (using _self.XXX)
+
+* 1.11.0 (2012-11-07)
+
+ * fixed macro compilation when a variable name is a PHP reserved keyword
+ * changed the date filter behavior to always apply the default timezone, except if false is passed as the timezone
+ * fixed bitwise operator precedences
+ * added the template_from_string function
+ * fixed default timezone usage for the date function
+ * optimized the way Twig exceptions are managed (to make them faster)
+ * added Twig_ExistsLoaderInterface (implementing this interface in your loader make the chain loader much faster)
+
+* 1.10.3 (2012-10-19)
+
+ * fixed wrong template location in some error messages
+ * reverted a BC break introduced in 1.10.2
+ * added a split filter
+
+* 1.10.2 (2012-10-15)
+
+ * fixed macro calls on PHP 5.4
+
+* 1.10.1 (2012-10-15)
+
+ * made a speed optimization to macro calls when imported via the "import" tag
+ * fixed C extension compilation on Windows
+ * fixed a segfault in the C extension when using DateTime objects
+
+* 1.10.0 (2012-09-28)
+
+ * extracted functional tests framework to make it reusable for third-party extensions
+ * added namespaced templates support in Twig_Loader_Filesystem
+ * added Twig_Loader_Filesystem::prependPath()
+ * fixed an error when a token parser pass a closure as a test to the subparse() method
+
+* 1.9.2 (2012-08-25)
+
+ * fixed the in operator for objects that contain circular references
+ * fixed the C extension when accessing a public property of an object implementing the \ArrayAccess interface
+
+* 1.9.1 (2012-07-22)
+
+ * optimized macro calls when auto-escaping is on
+ * fixed wrong parent class for Twig_Function_Node
+ * made Twig_Loader_Chain more explicit about problems
+
+* 1.9.0 (2012-07-13)
+
+ * made the parsing independent of the template loaders
+ * fixed exception trace when an error occurs when rendering a child template
+ * added escaping strategies for CSS, URL, and HTML attributes
+ * fixed nested embed tag calls
+ * added the date_modify filter
+
+* 1.8.3 (2012-06-17)
+
+ * fixed paths in the filesystem loader when passing a path that ends with a slash or a backslash
+ * fixed escaping when a project defines a function named html or js
+ * fixed chmod mode to apply the umask correctly
+
+* 1.8.2 (2012-05-30)
+
+ * added the abs filter
+ * fixed a regression when using a number in template attributes
+ * fixed compiler when mbstring.func_overload is set to 2
+ * fixed DateTimeZone support in date filter
+
+* 1.8.1 (2012-05-17)
+
+ * fixed a regression when dealing with SimpleXMLElement instances in templates
+ * fixed "is_safe" value for the "dump" function when "html_errors" is not defined in php.ini
+ * switched to use mbstring whenever possible instead of iconv (you might need to update your encoding as mbstring and iconv encoding names sometimes differ)
+
+* 1.8.0 (2012-05-08)
+
+ * enforced interface when adding tests, filters, functions, and node visitors from extensions
+ * fixed a side-effect of the date filter where the timezone might be changed
+ * simplified usage of the autoescape tag; the only (optional) argument is now the escaping strategy or false (with a BC layer)
+ * added a way to dynamically change the auto-escaping strategy according to the template "filename"
+ * changed the autoescape option to also accept a supported escaping strategy (for BC, true is equivalent to html)
+ * added an embed tag
+
+* 1.7.0 (2012-04-24)
+
+ * fixed a PHP warning when using CIFS
+ * fixed template line number in some exceptions
+ * added an iterable test
+ * added an error when defining two blocks with the same name in a template
+ * added the preserves_safety option for filters
+ * fixed a PHP notice when trying to access a key on a non-object/array variable
+ * enhanced error reporting when the template file is an instance of SplFileInfo
+ * added Twig_Environment::mergeGlobals()
+ * added compilation checks to avoid misuses of the sandbox tag
+ * fixed filesystem loader freshness logic for high traffic websites
+ * fixed random function when charset is null
+
+* 1.6.5 (2012-04-11)
+
+ * fixed a regression when a template only extends another one without defining any blocks
+
+* 1.6.4 (2012-04-02)
+
+ * fixed PHP notice in Twig_Error::guessTemplateLine() introduced in 1.6.3
+ * fixed performance when compiling large files
+ * optimized parent template creation when the template does not use dynamic inheritance
+
+* 1.6.3 (2012-03-22)
+
+ * fixed usage of Z_ADDREF_P for PHP 5.2 in the C extension
+ * fixed compilation of numeric values used in templates when using a locale where the decimal separator is not a dot
+ * made the strategy used to guess the real template file name and line number in exception messages much faster and more accurate
+
+* 1.6.2 (2012-03-18)
+
+ * fixed sandbox mode when used with inheritance
+ * added preserveKeys support for the slice filter
+ * fixed the date filter when a DateTime instance is passed with a specific timezone
+ * added a trim filter
+
+* 1.6.1 (2012-02-29)
+
+ * fixed Twig C extension
+ * removed the creation of Twig_Markup instances when not needed
+ * added a way to set the default global timezone for dates
+ * fixed the slice filter on strings when the length is not specified
+ * fixed the creation of the cache directory in case of a race condition
+
+* 1.6.0 (2012-02-04)
+
+ * fixed raw blocks when used with the whitespace trim option
+ * made a speed optimization to macro calls when imported via the "from" tag
+ * fixed globals, parsers, visitors, filters, tests, and functions management in Twig_Environment when a new one or new extension is added
+ * fixed the attribute function when passing arguments
+ * added slice notation support for the [] operator (syntactic sugar for the slice operator)
+ * added a slice filter
+ * added string support for the reverse filter
+ * fixed the empty test and the length filter for Twig_Markup instances
+ * added a date function to ease date comparison
+ * fixed unary operators precedence
+ * added recursive parsing support in the parser
+ * added string and integer handling for the random function
+
+* 1.5.1 (2012-01-05)
+
+ * fixed a regression when parsing strings
+
+* 1.5.0 (2012-01-04)
+
+ * added Traversable objects support for the join filter
+
+* 1.5.0-RC2 (2011-12-30)
+
+ * added a way to set the default global date interval format
+ * fixed the date filter for DateInterval instances (setTimezone() does not exist for them)
+ * refactored Twig_Template::display() to ease its extension
+ * added a number_format filter
+
+* 1.5.0-RC1 (2011-12-26)
+
+ * removed the need to quote hash keys
+ * allowed hash keys to be any expression
+ * added a do tag
+ * added a flush tag
+ * added support for dynamically named filters and functions
+ * added a dump function to help debugging templates
+ * added a nl2br filter
+ * added a random function
+ * added a way to change the default format for the date filter
+ * fixed the lexer when an operator ending with a letter ends a line
+ * added string interpolation support
+ * enhanced exceptions for unknown filters, functions, tests, and tags
+
+* 1.4.0 (2011-12-07)
+
+ * fixed lexer when using big numbers (> PHP_INT_MAX)
+ * added missing preserveKeys argument to the reverse filter
+ * fixed macros containing filter tag calls
+
+* 1.4.0-RC2 (2011-11-27)
+
+ * removed usage of Reflection in Twig_Template::getAttribute()
+ * added a C extension that can optionally replace Twig_Template::getAttribute()
+ * added negative timestamp support to the date filter
+
+* 1.4.0-RC1 (2011-11-20)
+
+ * optimized variable access when using PHP 5.4
+ * changed the precedence of the .. operator to be more consistent with languages that implements such a feature like Ruby
+ * added an Exception to Twig_Loader_Array::isFresh() method when the template does not exist to be consistent with other loaders
+ * added Twig_Function_Node to allow more complex functions to have their own Node class
+ * added Twig_Filter_Node to allow more complex filters to have their own Node class
+ * added Twig_Test_Node to allow more complex tests to have their own Node class
+ * added a better error message when a template is empty but contain a BOM
+ * fixed "in" operator for empty strings
+ * fixed the "defined" test and the "default" filter (now works with more than one call (foo.bar.foo) and for both values of the strict_variables option)
+ * changed the way extensions are loaded (addFilter/addFunction/addGlobal/addTest/addNodeVisitor/addTokenParser/addExtension can now be called in any order)
+ * added Twig_Environment::display()
+ * made the escape filter smarter when the encoding is not supported by PHP
+ * added a convert_encoding filter
+ * moved all node manipulations outside the compile() Node method
+ * made several speed optimizations
+
+* 1.3.0 (2011-10-08)
+
+no changes
+
+* 1.3.0-RC1 (2011-10-04)
+
+ * added an optimization for the parent() function
+ * added cache reloading when auto_reload is true and an extension has been modified
+ * added the possibility to force the escaping of a string already marked as safe (instance of Twig_Markup)
+ * allowed empty templates to be used as traits
+ * added traits support for the "parent" function
+
+* 1.2.0 (2011-09-13)
+
+no changes
+
+* 1.2.0-RC1 (2011-09-10)
+
+ * enhanced the exception when a tag remains unclosed
+ * added support for empty Countable objects for the "empty" test
+ * fixed algorithm that determines if a template using inheritance is valid (no output between block definitions)
+ * added better support for encoding problems when escaping a string (available as of PHP 5.4)
+ * added a way to ignore a missing template when using the "include" tag ({% include "foo" ignore missing %})
+ * added support for an array of templates to the "include" and "extends" tags ({% include ['foo', 'bar'] %})
+ * added support for bitwise operators in expressions
+ * added the "attribute" function to allow getting dynamic attributes on variables
+ * added Twig_Loader_Chain
+ * added Twig_Loader_Array::setTemplate()
+ * added an optimization for the set tag when used to capture a large chunk of static text
+ * changed name regex to match PHP one "[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*" (works for blocks, tags, functions, filters, and macros)
+ * removed the possibility to use the "extends" tag from a block
+ * added "if" modifier support to "for" loops
+
+* 1.1.2 (2011-07-30)
+
+ * fixed json_encode filter on PHP 5.2
+ * fixed regression introduced in 1.1.1 ({{ block(foo|lower) }})
+ * fixed inheritance when using conditional parents
+ * fixed compilation of templates when the body of a child template is not empty
+ * fixed output when a macro throws an exception
+ * fixed a parsing problem when a large chunk of text is enclosed in a comment tag
+ * added PHPDoc for all Token parsers and Core extension functions
+
+* 1.1.1 (2011-07-17)
+
+ * added a performance optimization in the Optimizer (also helps to lower the number of nested level calls)
+ * made some performance improvement for some edge cases
+
+* 1.1.0 (2011-06-28)
+
+ * fixed json_encode filter
+
+* 1.1.0-RC3 (2011-06-24)
+
+ * fixed method case-sensitivity when using the sandbox mode
+ * added timezone support for the date filter
+ * fixed possible security problems with NUL bytes
+
+* 1.1.0-RC2 (2011-06-16)
+
+ * added an exception when the template passed to "use" is not a string
+ * made 'a.b is defined' not throw an exception if a is not defined (in strict mode)
+ * added {% line \d+ %} directive
+
+* 1.1.0-RC1 (2011-05-28)
+
+Flush your cache after upgrading.
+
+ * fixed date filter when using a timestamp
+ * fixed the defined test for some cases
+ * fixed a parsing problem when a large chunk of text is enclosed in a raw tag
+ * added support for horizontal reuse of template blocks (see docs for more information)
+ * added whitespace control modifier to all tags (see docs for more information)
+ * added null as an alias for none (the null test is also an alias for the none test now)
+ * made TRUE, FALSE, NONE equivalent to their lowercase counterparts
+ * wrapped all compilation and runtime exceptions with Twig_Error_Runtime and added logic to guess the template name and line
+ * moved display() method to Twig_Template (generated templates should now use doDisplay() instead)
+
+* 1.0.0 (2011-03-27)
+
+ * fixed output when using mbstring
+ * fixed duplicate call of methods when using the sandbox
+ * made the charset configurable for the escape filter
+
+* 1.0.0-RC2 (2011-02-21)
+
+ * changed the way {% set %} works when capturing (the content is now marked as safe)
+ * added support for macro name in the endmacro tag
+ * make Twig_Error compatible with PHP 5.3.0 >
+ * fixed an infinite loop on some Windows configurations
+ * fixed the "length" filter for numbers
+ * fixed Template::getAttribute() as properties in PHP are case sensitive
+ * removed coupling between Twig_Node and Twig_Template
+ * fixed the ternary operator precedence rule
+
+* 1.0.0-RC1 (2011-01-09)
+
+Backward incompatibilities:
+
+ * the "items" filter, which has been deprecated for quite a long time now, has been removed
+ * the "range" filter has been converted to a function: 0|range(10) -> range(0, 10)
+ * the "constant" filter has been converted to a function: {{ some_date|date('DATE_W3C'|constant) }} -> {{ some_date|date(constant('DATE_W3C')) }}
+ * the "cycle" filter has been converted to a function: {{ ['odd', 'even']|cycle(i) }} -> {{ cycle(['odd', 'even'], i) }}
+ * the "for" tag does not support "joined by" anymore
+ * the "autoescape" first argument is now "true"/"false" (instead of "on"/"off")
+ * the "parent" tag has been replaced by a "parent" function ({{ parent() }} instead of {% parent %})
+ * the "display" tag has been replaced by a "block" function ({{ block('title') }} instead of {% display title %})
+ * removed the grammar and simple token parser (moved to the Twig Extensions repository)
+
+Changes:
+
+ * added "needs_context" option for filters and functions (the context is then passed as a first argument)
+ * added global variables support
+ * made macros return their value instead of echoing directly (fixes calling a macro in sandbox mode)
+ * added the "from" tag to import macros as functions
+ * added support for functions (a function is just syntactic sugar for a getAttribute() call)
+ * made macros callable when sandbox mode is enabled
+ * added an exception when a macro uses a reserved name
+ * the "default" filter now uses the "empty" test instead of just checking for null
+ * added the "empty" test
+
+* 0.9.10 (2010-12-16)
+
+Backward incompatibilities:
+
+ * The Escaper extension is enabled by default, which means that all displayed
+   variables are now automatically escaped. You can revert to the previous
+   behavior by removing the extension via $env->removeExtension('escaper')
+   or just set the 'autoescape' option to 'false'.
+ * removed the "without loop" attribute for the "for" tag (not needed anymore
+   as the Optimizer take care of that for most cases)
+ * arrays and hashes have now a different syntax
+     * arrays keep the same syntax with square brackets: [1, 2]
+     * hashes now use curly braces (["a": "b"] should now be written as {"a": "b"})
+     * support for "arrays with keys" and "hashes without keys" is not supported anymore ([1, "foo": "bar"] or {"foo": "bar", 1})
+ * the i18n extension is now part of the Twig Extensions repository
+
+Changes:
+
+ * added the merge filter
+ * removed 'is_escaper' option for filters (a left over from the previous version) -- you must use 'is_safe' now instead
+ * fixed usage of operators as method names (like is, in, and not)
+ * changed the order of execution for node visitors
+ * fixed default() filter behavior when used with strict_variables set to on
+ * fixed filesystem loader compatibility with PHAR files
+ * enhanced error messages when an unexpected token is parsed in an expression
+ * fixed filename not being added to syntax error messages
+ * added the autoescape option to enable/disable autoescaping
+ * removed the newline after a comment (mimics PHP behavior)
+ * added a syntax error exception when parent block is used on a template that does not extend another one
+ * made the Escaper extension enabled by default
+ * fixed sandbox extension when used with auto output escaping
+ * fixed escaper when wrapping a Twig_Node_Print (the original class must be preserved)
+ * added an Optimizer extension (enabled by default; optimizes "for" loops and "raw" filters)
+ * added priority to node visitors
+
+* 0.9.9 (2010-11-28)
+
+Backward incompatibilities:
+ * the self special variable has been renamed to _self
+ * the odd and even filters are now tests:
+     {{ foo|odd }} must now be written {{ foo is odd }}
+ * the "safe" filter has been renamed to "raw"
+ * in Node classes,
+        sub-nodes are now accessed via getNode() (instead of property access)
+        attributes via getAttribute() (instead of array access)
+ * the urlencode filter had been renamed to url_encode
+ * the include tag now merges the passed variables with the current context by default
+   (the old behavior is still possible by adding the "only" keyword)
+ * moved Exceptions to Twig_Error_* (Twig_SyntaxError/Twig_RuntimeError are now Twig_Error_Syntax/Twig_Error_Runtime)
+ * removed support for {{ 1 < i < 3 }} (use {{ i > 1 and i < 3 }} instead)
+ * the "in" filter has been removed ({{ a|in(b) }} should now be written {{ a in b }})
+
+Changes:
+ * added file and line to Twig_Error_Runtime exceptions thrown from Twig_Template
+ * changed trans tag to accept any variable for the plural count
+ * fixed sandbox mode (__toString() method check was not enforced if called implicitly from complex statements)
+ * added the ** (power) operator
+ * changed the algorithm used for parsing expressions
+ * added the spaceless tag
+ * removed trim_blocks option
+ * added support for is*() methods for attributes (foo.bar now looks for foo->getBar() or foo->isBar())
+ * changed all exceptions to extend Twig_Error
+ * fixed unary expressions ({{ not(1 or 0) }})
+ * fixed child templates (with an extend tag) that uses one or more imports
+ * added support for {{ 1 not in [2, 3] }} (more readable than the current {{ not (1 in [2, 3]) }})
+ * escaping has been rewritten
+ * the implementation of template inheritance has been rewritten
+   (blocks can now be called individually and still work with inheritance)
+ * fixed error handling for if tag when a syntax error occurs within a subparse process
+ * added a way to implement custom logic for resolving token parsers given a tag name
+ * fixed js escaper to be stricter (now uses a whilelist-based js escaper)
+ * added the following filers: "constant", "trans", "replace", "json_encode"
+ * added a "constant" test
+ * fixed objects with __toString() not being autoescaped
+ * fixed subscript expressions when calling __call() (methods now keep the case)
+ * added "test" feature (accessible via the "is" operator)
+ * removed the debug tag (should be done in an extension)
+ * fixed trans tag when no vars are used in plural form
+ * fixed race condition when writing template cache
+ * added the special _charset variable to reference the current charset
+ * added the special _context variable to reference the current context
+ * renamed self to _self (to avoid conflict)
+ * fixed Twig_Template::getAttribute() for protected properties
+
+* 0.9.8 (2010-06-28)
+
+Backward incompatibilities:
+ * the trans tag plural count is now attached to the plural tag:
+    old: `{% trans count %}...{% plural %}...{% endtrans %}`
+    new: `{% trans %}...{% plural count %}...{% endtrans %}`
+
+ * added a way to translate strings coming from a variable ({% trans var %})
+ * fixed trans tag when used with the Escaper extension
+ * fixed default cache umask
+ * removed Twig_Template instances from the debug tag output
+ * fixed objects with __isset() defined
+ * fixed set tag when used with a capture
+ * fixed type hinting for Twig_Environment::addFilter() method
+
+* 0.9.7 (2010-06-12)
+
+Backward incompatibilities:
+ * changed 'as' to '=' for the set tag ({% set title as "Title" %} must now be {% set title = "Title" %})
+ * removed the sandboxed attribute of the include tag (use the new sandbox tag instead)
+ * refactored the Node system (if you have custom nodes, you will have to update them to use the new API)
+
+ * added self as a special variable that refers to the current template (useful for importing macros from the current template)
+ * added Twig_Template instance support to the include tag
+ * added support for dynamic and conditional inheritance ({% extends some_var %} and {% extends standalone ? "minimum" : "base" %})
+ * added a grammar sub-framework to ease the creation of custom tags
+ * fixed the for tag for large arrays (some loop variables are now only available for arrays and objects that implement the Countable interface)
+ * removed the Twig_Resource::resolveMissingFilter() method
+ * fixed the filter tag which did not apply filtering to included files
+ * added a bunch of unit tests
+ * added a bunch of phpdoc
+ * added a sandbox tag in the sandbox extension
+ * changed the date filter to support any date format supported by DateTime
+ * added strict_variable setting to throw an exception when an invalid variable is used in a template (disabled by default)
+ * added the lexer, parser, and compiler as arguments to the Twig_Environment constructor
+ * changed the cache option to only accepts an explicit path to a cache directory or false
+ * added a way to add token parsers, filters, and visitors without creating an extension
+ * added three interfaces: Twig_NodeInterface, Twig_TokenParserInterface, and Twig_FilterInterface
+ * changed the generated code to match the new coding standards
+ * fixed sandbox mode (__toString() method check was not enforced if called implicitly from a simple statement like {{ article }})
+ * added an exception when a child template has a non-empty body (as it is always ignored when rendering)
+
+* 0.9.6 (2010-05-12)
+
+ * fixed variables defined outside a loop and for which the value changes in a for loop
+ * fixed the test suite for PHP 5.2 and older versions of PHPUnit
+ * added support for __call() in expression resolution
+ * fixed node visiting for macros (macros are now visited by visitors as any other node)
+ * fixed nested block definitions with a parent call (rarely useful but nonetheless supported now)
+ * added the cycle filter
+ * fixed the Lexer when mbstring.func_overload is used with an mbstring.internal_encoding different from ASCII
+ * added a long-syntax for the set tag ({% set foo %}...{% endset %})
+ * unit tests are now powered by PHPUnit
+ * added support for gettext via the `i18n` extension
+ * fixed twig_capitalize_string_filter() and fixed twig_length_filter() when used with UTF-8 values
+ * added a more useful exception if an if tag is not closed properly
+ * added support for escaping strategy in the autoescape tag
+ * fixed lexer when a template has a big chunk of text between/in a block
+
+* 0.9.5 (2010-01-20)
+
+As for any new release, don't forget to remove all cached templates after
+upgrading.
+
+If you have defined custom filters, you MUST upgrade them for this release. To
+upgrade, replace "array" with "new Twig_Filter_Function", and replace the
+environment constant by the "needs_environment" option:
+
+  // before
+  'even'   => array('twig_is_even_filter', false),
+  'escape' => array('twig_escape_filter', true),
+
+  // after
+  'even'   => new Twig_Filter_Function('twig_is_even_filter'),
+  'escape' => new Twig_Filter_Function('twig_escape_filter', array('needs_environment' => true)),
+
+If you have created NodeTransformer classes, you will need to upgrade them to
+the new interface (please note that the interface is not yet considered
+stable).
+
+ * fixed list nodes that did not extend the Twig_NodeListInterface
+ * added the "without loop" option to the for tag (it disables the generation of the loop variable)
+ * refactored node transformers to node visitors
+ * fixed automatic-escaping for blocks
+ * added a way to specify variables to pass to an included template
+ * changed the automatic-escaping rules to be more sensible and more configurable in custom filters (the documentation lists all the rules)
+ * improved the filter system to allow object methods to be used as filters
+ * changed the Array and String loaders to actually make use of the cache mechanism
+ * included the default filter function definitions in the extension class files directly (Core, Escaper)
+ * added the // operator (like the floor() PHP function)
+ * added the .. operator (as a syntactic sugar for the range filter when the step is 1)
+ * added the in operator (as a syntactic sugar for the in filter)
+ * added the following filters in the Core extension: in, range
+ * added support for arrays (same behavior as in PHP, a mix between lists and dictionaries, arrays and hashes)
+ * enhanced some error messages to provide better feedback in case of parsing errors
+
+* 0.9.4 (2009-12-02)
+
+If you have custom loaders, you MUST upgrade them for this release: The
+Twig_Loader base class has been removed, and the Twig_LoaderInterface has also
+been changed (see the source code for more information or the documentation).
+
+ * added support for DateTime instances for the date filter
+ * fixed loop.last when the array only has one item
+ * made it possible to insert newlines in tag and variable blocks
+ * fixed a bug when a literal '\n' were present in a template text
+ * fixed bug when the filename of a template contains */
+ * refactored loaders
+
+* 0.9.3 (2009-11-11)
+
+This release is NOT backward compatible with the previous releases.
+
+  The loaders do not take the cache and autoReload arguments anymore. Instead,
+  the Twig_Environment class has two new options: cache and auto_reload.
+  Upgrading your code means changing this kind of code:
+
+      $loader = new Twig_Loader_Filesystem('/path/to/templates', '/path/to/compilation_cache', true);
+      $twig = new Twig_Environment($loader);
+
+  to something like this:
+
+      $loader = new Twig_Loader_Filesystem('/path/to/templates');
+      $twig = new Twig_Environment($loader, array(
+        'cache' => '/path/to/compilation_cache',
+        'auto_reload' => true,
+      ));
+
+ * deprecated the "items" filter as it is not needed anymore
+ * made cache and auto_reload options of Twig_Environment instead of arguments of Twig_Loader
+ * optimized template loading speed
+ * removed output when an error occurs in a template and render() is used
+ * made major speed improvements for loops (up to 300% on even the smallest loops)
+ * added properties as part of the sandbox mode
+ * added public properties support (obj.item can now be the item property on the obj object)
+ * extended set tag to support expression as value ({% set foo as 'foo' ~ 'bar' %} )
+ * fixed bug when \ was used in HTML
+
+* 0.9.2 (2009-10-29)
+
+ * made some speed optimizations
+ * changed the cache extension to .php
+ * added a js escaping strategy
+ * added support for short block tag
+ * changed the filter tag to allow chained filters
+ * made lexer more flexible as you can now change the default delimiters
+ * added set tag
+ * changed default directory permission when cache dir does not exist (more secure)
+ * added macro support
+ * changed filters first optional argument to be a Twig_Environment instance instead of a Twig_Template instance
+ * made Twig_Autoloader::autoload() a static method
+ * avoid writing template file if an error occurs
+ * added $ escaping when outputting raw strings
+ * enhanced some error messages to ease debugging
+ * fixed empty cache files when the template contains an error
+
+* 0.9.1 (2009-10-14)
+
+  * fixed a bug in PHP 5.2.6
+  * fixed numbers with one than one decimal
+  * added support for method calls with arguments ({{ foo.bar('a', 43) }})
+  * made small speed optimizations
+  * made minor tweaks to allow better extensibility and flexibility
+
+* 0.9.0 (2009-10-12)
+
+ * Initial release
diff --git a/core/vendor/twig/twig/LICENSE b/vendor/twig/twig/LICENSE
similarity index 100%
rename from core/vendor/twig/twig/LICENSE
rename to vendor/twig/twig/LICENSE
diff --git a/core/vendor/twig/twig/README.rst b/vendor/twig/twig/README.rst
similarity index 100%
rename from core/vendor/twig/twig/README.rst
rename to vendor/twig/twig/README.rst
diff --git a/core/vendor/twig/twig/composer.json b/vendor/twig/twig/composer.json
similarity index 100%
rename from core/vendor/twig/twig/composer.json
rename to vendor/twig/twig/composer.json
diff --git a/core/vendor/twig/twig/doc/advanced.rst b/vendor/twig/twig/doc/advanced.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/advanced.rst
rename to vendor/twig/twig/doc/advanced.rst
diff --git a/core/vendor/twig/twig/doc/advanced_legacy.rst b/vendor/twig/twig/doc/advanced_legacy.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/advanced_legacy.rst
rename to vendor/twig/twig/doc/advanced_legacy.rst
diff --git a/core/vendor/twig/twig/doc/api.rst b/vendor/twig/twig/doc/api.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/api.rst
rename to vendor/twig/twig/doc/api.rst
diff --git a/core/vendor/twig/twig/doc/coding_standards.rst b/vendor/twig/twig/doc/coding_standards.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/coding_standards.rst
rename to vendor/twig/twig/doc/coding_standards.rst
diff --git a/core/vendor/twig/twig/doc/deprecated.rst b/vendor/twig/twig/doc/deprecated.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/deprecated.rst
rename to vendor/twig/twig/doc/deprecated.rst
diff --git a/core/vendor/twig/twig/doc/filters/abs.rst b/vendor/twig/twig/doc/filters/abs.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/abs.rst
rename to vendor/twig/twig/doc/filters/abs.rst
diff --git a/core/vendor/twig/twig/doc/filters/batch.rst b/vendor/twig/twig/doc/filters/batch.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/batch.rst
rename to vendor/twig/twig/doc/filters/batch.rst
diff --git a/core/vendor/twig/twig/doc/filters/capitalize.rst b/vendor/twig/twig/doc/filters/capitalize.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/capitalize.rst
rename to vendor/twig/twig/doc/filters/capitalize.rst
diff --git a/core/vendor/twig/twig/doc/filters/convert_encoding.rst b/vendor/twig/twig/doc/filters/convert_encoding.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/convert_encoding.rst
rename to vendor/twig/twig/doc/filters/convert_encoding.rst
diff --git a/core/vendor/twig/twig/doc/filters/date.rst b/vendor/twig/twig/doc/filters/date.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/date.rst
rename to vendor/twig/twig/doc/filters/date.rst
diff --git a/core/vendor/twig/twig/doc/filters/date_modify.rst b/vendor/twig/twig/doc/filters/date_modify.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/date_modify.rst
rename to vendor/twig/twig/doc/filters/date_modify.rst
diff --git a/core/vendor/twig/twig/doc/filters/default.rst b/vendor/twig/twig/doc/filters/default.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/default.rst
rename to vendor/twig/twig/doc/filters/default.rst
diff --git a/core/vendor/twig/twig/doc/filters/escape.rst b/vendor/twig/twig/doc/filters/escape.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/escape.rst
rename to vendor/twig/twig/doc/filters/escape.rst
diff --git a/core/vendor/twig/twig/doc/filters/first.rst b/vendor/twig/twig/doc/filters/first.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/first.rst
rename to vendor/twig/twig/doc/filters/first.rst
diff --git a/core/vendor/twig/twig/doc/filters/format.rst b/vendor/twig/twig/doc/filters/format.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/format.rst
rename to vendor/twig/twig/doc/filters/format.rst
diff --git a/core/vendor/twig/twig/doc/filters/index.rst b/vendor/twig/twig/doc/filters/index.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/index.rst
rename to vendor/twig/twig/doc/filters/index.rst
diff --git a/core/vendor/twig/twig/doc/filters/join.rst b/vendor/twig/twig/doc/filters/join.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/join.rst
rename to vendor/twig/twig/doc/filters/join.rst
diff --git a/core/vendor/twig/twig/doc/filters/json_encode.rst b/vendor/twig/twig/doc/filters/json_encode.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/json_encode.rst
rename to vendor/twig/twig/doc/filters/json_encode.rst
diff --git a/core/vendor/twig/twig/doc/filters/keys.rst b/vendor/twig/twig/doc/filters/keys.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/keys.rst
rename to vendor/twig/twig/doc/filters/keys.rst
diff --git a/core/vendor/twig/twig/doc/filters/last.rst b/vendor/twig/twig/doc/filters/last.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/last.rst
rename to vendor/twig/twig/doc/filters/last.rst
diff --git a/core/vendor/twig/twig/doc/filters/length.rst b/vendor/twig/twig/doc/filters/length.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/length.rst
rename to vendor/twig/twig/doc/filters/length.rst
diff --git a/core/vendor/twig/twig/doc/filters/lower.rst b/vendor/twig/twig/doc/filters/lower.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/lower.rst
rename to vendor/twig/twig/doc/filters/lower.rst
diff --git a/core/vendor/twig/twig/doc/filters/merge.rst b/vendor/twig/twig/doc/filters/merge.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/merge.rst
rename to vendor/twig/twig/doc/filters/merge.rst
diff --git a/core/vendor/twig/twig/doc/filters/nl2br.rst b/vendor/twig/twig/doc/filters/nl2br.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/nl2br.rst
rename to vendor/twig/twig/doc/filters/nl2br.rst
diff --git a/core/vendor/twig/twig/doc/filters/number_format.rst b/vendor/twig/twig/doc/filters/number_format.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/number_format.rst
rename to vendor/twig/twig/doc/filters/number_format.rst
diff --git a/core/vendor/twig/twig/doc/filters/raw.rst b/vendor/twig/twig/doc/filters/raw.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/raw.rst
rename to vendor/twig/twig/doc/filters/raw.rst
diff --git a/core/vendor/twig/twig/doc/filters/replace.rst b/vendor/twig/twig/doc/filters/replace.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/replace.rst
rename to vendor/twig/twig/doc/filters/replace.rst
diff --git a/core/vendor/twig/twig/doc/filters/reverse.rst b/vendor/twig/twig/doc/filters/reverse.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/reverse.rst
rename to vendor/twig/twig/doc/filters/reverse.rst
diff --git a/core/vendor/twig/twig/doc/filters/round.rst b/vendor/twig/twig/doc/filters/round.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/round.rst
rename to vendor/twig/twig/doc/filters/round.rst
diff --git a/core/vendor/twig/twig/doc/filters/slice.rst b/vendor/twig/twig/doc/filters/slice.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/slice.rst
rename to vendor/twig/twig/doc/filters/slice.rst
diff --git a/core/vendor/twig/twig/doc/filters/sort.rst b/vendor/twig/twig/doc/filters/sort.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/sort.rst
rename to vendor/twig/twig/doc/filters/sort.rst
diff --git a/core/vendor/twig/twig/doc/filters/split.rst b/vendor/twig/twig/doc/filters/split.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/split.rst
rename to vendor/twig/twig/doc/filters/split.rst
diff --git a/core/vendor/twig/twig/doc/filters/striptags.rst b/vendor/twig/twig/doc/filters/striptags.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/striptags.rst
rename to vendor/twig/twig/doc/filters/striptags.rst
diff --git a/core/vendor/twig/twig/doc/filters/title.rst b/vendor/twig/twig/doc/filters/title.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/title.rst
rename to vendor/twig/twig/doc/filters/title.rst
diff --git a/core/vendor/twig/twig/doc/filters/trim.rst b/vendor/twig/twig/doc/filters/trim.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/trim.rst
rename to vendor/twig/twig/doc/filters/trim.rst
diff --git a/core/vendor/twig/twig/doc/filters/upper.rst b/vendor/twig/twig/doc/filters/upper.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/upper.rst
rename to vendor/twig/twig/doc/filters/upper.rst
diff --git a/core/vendor/twig/twig/doc/filters/url_encode.rst b/vendor/twig/twig/doc/filters/url_encode.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/filters/url_encode.rst
rename to vendor/twig/twig/doc/filters/url_encode.rst
diff --git a/core/vendor/twig/twig/doc/functions/attribute.rst b/vendor/twig/twig/doc/functions/attribute.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/attribute.rst
rename to vendor/twig/twig/doc/functions/attribute.rst
diff --git a/core/vendor/twig/twig/doc/functions/block.rst b/vendor/twig/twig/doc/functions/block.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/block.rst
rename to vendor/twig/twig/doc/functions/block.rst
diff --git a/core/vendor/twig/twig/doc/functions/constant.rst b/vendor/twig/twig/doc/functions/constant.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/constant.rst
rename to vendor/twig/twig/doc/functions/constant.rst
diff --git a/core/vendor/twig/twig/doc/functions/cycle.rst b/vendor/twig/twig/doc/functions/cycle.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/cycle.rst
rename to vendor/twig/twig/doc/functions/cycle.rst
diff --git a/core/vendor/twig/twig/doc/functions/date.rst b/vendor/twig/twig/doc/functions/date.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/date.rst
rename to vendor/twig/twig/doc/functions/date.rst
diff --git a/core/vendor/twig/twig/doc/functions/dump.rst b/vendor/twig/twig/doc/functions/dump.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/dump.rst
rename to vendor/twig/twig/doc/functions/dump.rst
diff --git a/core/vendor/twig/twig/doc/functions/include.rst b/vendor/twig/twig/doc/functions/include.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/include.rst
rename to vendor/twig/twig/doc/functions/include.rst
diff --git a/core/vendor/twig/twig/doc/functions/index.rst b/vendor/twig/twig/doc/functions/index.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/index.rst
rename to vendor/twig/twig/doc/functions/index.rst
diff --git a/core/vendor/twig/twig/doc/functions/max.rst b/vendor/twig/twig/doc/functions/max.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/max.rst
rename to vendor/twig/twig/doc/functions/max.rst
diff --git a/core/vendor/twig/twig/doc/functions/min.rst b/vendor/twig/twig/doc/functions/min.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/min.rst
rename to vendor/twig/twig/doc/functions/min.rst
diff --git a/core/vendor/twig/twig/doc/functions/parent.rst b/vendor/twig/twig/doc/functions/parent.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/parent.rst
rename to vendor/twig/twig/doc/functions/parent.rst
diff --git a/core/vendor/twig/twig/doc/functions/random.rst b/vendor/twig/twig/doc/functions/random.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/random.rst
rename to vendor/twig/twig/doc/functions/random.rst
diff --git a/core/vendor/twig/twig/doc/functions/range.rst b/vendor/twig/twig/doc/functions/range.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/range.rst
rename to vendor/twig/twig/doc/functions/range.rst
diff --git a/core/vendor/twig/twig/doc/functions/source.rst b/vendor/twig/twig/doc/functions/source.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/source.rst
rename to vendor/twig/twig/doc/functions/source.rst
diff --git a/core/vendor/twig/twig/doc/functions/template_from_string.rst b/vendor/twig/twig/doc/functions/template_from_string.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/functions/template_from_string.rst
rename to vendor/twig/twig/doc/functions/template_from_string.rst
diff --git a/core/vendor/twig/twig/doc/index.rst b/vendor/twig/twig/doc/index.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/index.rst
rename to vendor/twig/twig/doc/index.rst
diff --git a/core/vendor/twig/twig/doc/installation.rst b/vendor/twig/twig/doc/installation.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/installation.rst
rename to vendor/twig/twig/doc/installation.rst
diff --git a/core/vendor/twig/twig/doc/internals.rst b/vendor/twig/twig/doc/internals.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/internals.rst
rename to vendor/twig/twig/doc/internals.rst
diff --git a/core/vendor/twig/twig/doc/intro.rst b/vendor/twig/twig/doc/intro.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/intro.rst
rename to vendor/twig/twig/doc/intro.rst
diff --git a/core/vendor/twig/twig/doc/recipes.rst b/vendor/twig/twig/doc/recipes.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/recipes.rst
rename to vendor/twig/twig/doc/recipes.rst
diff --git a/core/vendor/twig/twig/doc/tags/autoescape.rst b/vendor/twig/twig/doc/tags/autoescape.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/autoescape.rst
rename to vendor/twig/twig/doc/tags/autoescape.rst
diff --git a/core/vendor/twig/twig/doc/tags/block.rst b/vendor/twig/twig/doc/tags/block.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/block.rst
rename to vendor/twig/twig/doc/tags/block.rst
diff --git a/core/vendor/twig/twig/doc/tags/do.rst b/vendor/twig/twig/doc/tags/do.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/do.rst
rename to vendor/twig/twig/doc/tags/do.rst
diff --git a/core/vendor/twig/twig/doc/tags/embed.rst b/vendor/twig/twig/doc/tags/embed.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/embed.rst
rename to vendor/twig/twig/doc/tags/embed.rst
diff --git a/core/vendor/twig/twig/doc/tags/extends.rst b/vendor/twig/twig/doc/tags/extends.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/extends.rst
rename to vendor/twig/twig/doc/tags/extends.rst
diff --git a/core/vendor/twig/twig/doc/tags/filter.rst b/vendor/twig/twig/doc/tags/filter.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/filter.rst
rename to vendor/twig/twig/doc/tags/filter.rst
diff --git a/core/vendor/twig/twig/doc/tags/flush.rst b/vendor/twig/twig/doc/tags/flush.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/flush.rst
rename to vendor/twig/twig/doc/tags/flush.rst
diff --git a/core/vendor/twig/twig/doc/tags/for.rst b/vendor/twig/twig/doc/tags/for.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/for.rst
rename to vendor/twig/twig/doc/tags/for.rst
diff --git a/core/vendor/twig/twig/doc/tags/from.rst b/vendor/twig/twig/doc/tags/from.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/from.rst
rename to vendor/twig/twig/doc/tags/from.rst
diff --git a/core/vendor/twig/twig/doc/tags/if.rst b/vendor/twig/twig/doc/tags/if.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/if.rst
rename to vendor/twig/twig/doc/tags/if.rst
diff --git a/core/vendor/twig/twig/doc/tags/import.rst b/vendor/twig/twig/doc/tags/import.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/import.rst
rename to vendor/twig/twig/doc/tags/import.rst
diff --git a/core/vendor/twig/twig/doc/tags/include.rst b/vendor/twig/twig/doc/tags/include.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/include.rst
rename to vendor/twig/twig/doc/tags/include.rst
diff --git a/core/vendor/twig/twig/doc/tags/index.rst b/vendor/twig/twig/doc/tags/index.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/index.rst
rename to vendor/twig/twig/doc/tags/index.rst
diff --git a/core/vendor/twig/twig/doc/tags/macro.rst b/vendor/twig/twig/doc/tags/macro.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/macro.rst
rename to vendor/twig/twig/doc/tags/macro.rst
diff --git a/core/vendor/twig/twig/doc/tags/sandbox.rst b/vendor/twig/twig/doc/tags/sandbox.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/sandbox.rst
rename to vendor/twig/twig/doc/tags/sandbox.rst
diff --git a/core/vendor/twig/twig/doc/tags/set.rst b/vendor/twig/twig/doc/tags/set.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/set.rst
rename to vendor/twig/twig/doc/tags/set.rst
diff --git a/core/vendor/twig/twig/doc/tags/spaceless.rst b/vendor/twig/twig/doc/tags/spaceless.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/spaceless.rst
rename to vendor/twig/twig/doc/tags/spaceless.rst
diff --git a/core/vendor/twig/twig/doc/tags/use.rst b/vendor/twig/twig/doc/tags/use.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/use.rst
rename to vendor/twig/twig/doc/tags/use.rst
diff --git a/core/vendor/twig/twig/doc/tags/verbatim.rst b/vendor/twig/twig/doc/tags/verbatim.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tags/verbatim.rst
rename to vendor/twig/twig/doc/tags/verbatim.rst
diff --git a/core/vendor/twig/twig/doc/templates.rst b/vendor/twig/twig/doc/templates.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/templates.rst
rename to vendor/twig/twig/doc/templates.rst
diff --git a/core/vendor/twig/twig/doc/tests/constant.rst b/vendor/twig/twig/doc/tests/constant.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/constant.rst
rename to vendor/twig/twig/doc/tests/constant.rst
diff --git a/core/vendor/twig/twig/doc/tests/defined.rst b/vendor/twig/twig/doc/tests/defined.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/defined.rst
rename to vendor/twig/twig/doc/tests/defined.rst
diff --git a/core/vendor/twig/twig/doc/tests/divisibleby.rst b/vendor/twig/twig/doc/tests/divisibleby.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/divisibleby.rst
rename to vendor/twig/twig/doc/tests/divisibleby.rst
diff --git a/core/vendor/twig/twig/doc/tests/empty.rst b/vendor/twig/twig/doc/tests/empty.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/empty.rst
rename to vendor/twig/twig/doc/tests/empty.rst
diff --git a/core/vendor/twig/twig/doc/tests/even.rst b/vendor/twig/twig/doc/tests/even.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/even.rst
rename to vendor/twig/twig/doc/tests/even.rst
diff --git a/core/vendor/twig/twig/doc/tests/index.rst b/vendor/twig/twig/doc/tests/index.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/index.rst
rename to vendor/twig/twig/doc/tests/index.rst
diff --git a/core/vendor/twig/twig/doc/tests/iterable.rst b/vendor/twig/twig/doc/tests/iterable.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/iterable.rst
rename to vendor/twig/twig/doc/tests/iterable.rst
diff --git a/core/vendor/twig/twig/doc/tests/null.rst b/vendor/twig/twig/doc/tests/null.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/null.rst
rename to vendor/twig/twig/doc/tests/null.rst
diff --git a/core/vendor/twig/twig/doc/tests/odd.rst b/vendor/twig/twig/doc/tests/odd.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/odd.rst
rename to vendor/twig/twig/doc/tests/odd.rst
diff --git a/core/vendor/twig/twig/doc/tests/sameas.rst b/vendor/twig/twig/doc/tests/sameas.rst
similarity index 100%
rename from core/vendor/twig/twig/doc/tests/sameas.rst
rename to vendor/twig/twig/doc/tests/sameas.rst
diff --git a/core/vendor/twig/twig/ext/twig/.gitignore b/vendor/twig/twig/ext/twig/.gitignore
similarity index 100%
rename from core/vendor/twig/twig/ext/twig/.gitignore
rename to vendor/twig/twig/ext/twig/.gitignore
diff --git a/core/vendor/twig/twig/ext/twig/config.m4 b/vendor/twig/twig/ext/twig/config.m4
similarity index 100%
rename from core/vendor/twig/twig/ext/twig/config.m4
rename to vendor/twig/twig/ext/twig/config.m4
diff --git a/core/vendor/twig/twig/ext/twig/config.w32 b/vendor/twig/twig/ext/twig/config.w32
similarity index 100%
rename from core/vendor/twig/twig/ext/twig/config.w32
rename to vendor/twig/twig/ext/twig/config.w32
diff --git a/vendor/twig/twig/ext/twig/php_twig.h b/vendor/twig/twig/ext/twig/php_twig.h
new file mode 100644
index 0000000..359cd43
--- /dev/null
+++ b/vendor/twig/twig/ext/twig/php_twig.h
@@ -0,0 +1,35 @@
+/*
+   +----------------------------------------------------------------------+
+   | Twig Extension                                                       |
+   +----------------------------------------------------------------------+
+   | Copyright (c) 2011 Derick Rethans                                    |
+   +----------------------------------------------------------------------+
+   | Redistribution and use in source and binary forms, with or without   |
+   | modification, are permitted provided that the conditions mentioned   |
+   | in the accompanying LICENSE file are met (BSD-3-Clause).             |
+   +----------------------------------------------------------------------+
+   | Author: Derick Rethans <derick@derickrethans.nl>                     |
+   +----------------------------------------------------------------------+
+ */
+
+#ifndef PHP_TWIG_H
+#define PHP_TWIG_H
+
+#define PHP_TWIG_VERSION "1.22.2"
+
+#include "php.h"
+
+extern zend_module_entry twig_module_entry;
+#define phpext_twig_ptr &twig_module_entry
+#ifndef PHP_WIN32
+zend_module_entry *get_module(void);
+#endif
+
+#ifdef ZTS
+#include "TSRM.h"
+#endif
+
+PHP_FUNCTION(twig_template_get_attributes);
+PHP_RSHUTDOWN_FUNCTION(twig);
+
+#endif
diff --git a/core/vendor/twig/twig/ext/twig/twig.c b/vendor/twig/twig/ext/twig/twig.c
similarity index 100%
rename from core/vendor/twig/twig/ext/twig/twig.c
rename to vendor/twig/twig/ext/twig/twig.c
diff --git a/core/vendor/twig/twig/lib/Twig/Autoloader.php b/vendor/twig/twig/lib/Twig/Autoloader.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Autoloader.php
rename to vendor/twig/twig/lib/Twig/Autoloader.php
diff --git a/core/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php b/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php
rename to vendor/twig/twig/lib/Twig/BaseNodeVisitor.php
diff --git a/vendor/twig/twig/lib/Twig/Cache/Filesystem.php b/vendor/twig/twig/lib/Twig/Cache/Filesystem.php
new file mode 100644
index 0000000..2e1c0a0
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Cache/Filesystem.php
@@ -0,0 +1,92 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2015 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Implements a cache on the filesystem.
+ *
+ * @author Andrew Tch <andrew@noop.lv>
+ */
+class Twig_Cache_Filesystem implements Twig_CacheInterface
+{
+    const FORCE_BYTECODE_INVALIDATION = 1;
+
+    private $directory;
+    private $options;
+
+    /**
+     * @param $directory string The root cache directory
+     * @param $options   int    A set of options
+     */
+    public function __construct($directory, $options = 0)
+    {
+        $this->directory = $directory;
+        $this->options = $options;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function generateKey($name, $className)
+    {
+        $hash = hash('sha256', $className);
+
+        return $this->directory.'/'.$hash[0].'/'.$hash[1].'/'.$hash.'.php';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function load($key)
+    {
+        @include_once $key;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function write($key, $content)
+    {
+        $dir = dirname($key);
+        if (!is_dir($dir)) {
+            if (false === @mkdir($dir, 0777, true) && !is_dir($dir)) {
+                throw new RuntimeException(sprintf('Unable to create the cache directory (%s).', $dir));
+            }
+        } elseif (!is_writable($dir)) {
+            throw new RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
+        }
+
+        $tmpFile = tempnam($dir, basename($key));
+        if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
+            @chmod($key, 0666 & ~umask());
+
+            if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
+                // Compile cached file into bytecode cache
+                if (function_exists('opcache_invalidate')) {
+                    opcache_invalidate($key, true);
+                } elseif (function_exists('apc_compile_file')) {
+                    apc_compile_file($key);
+                }
+            }
+
+            return;
+        }
+
+        throw new RuntimeException(sprintf('Failed to write cache file "%s".', $key));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTimestamp($key)
+    {
+        return (int) @filemtime($key);
+    }
+}
diff --git a/vendor/twig/twig/lib/Twig/Cache/Null.php b/vendor/twig/twig/lib/Twig/Cache/Null.php
new file mode 100644
index 0000000..fde8c80
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Cache/Null.php
@@ -0,0 +1,48 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2015 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Implements a no-cache strategy.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_Cache_Null implements Twig_CacheInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function generateKey($name, $className)
+    {
+        return '';
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function write($key, $content)
+    {
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function load($key)
+    {
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTimestamp($key)
+    {
+        return 0;
+    }
+}
diff --git a/vendor/twig/twig/lib/Twig/CacheInterface.php b/vendor/twig/twig/lib/Twig/CacheInterface.php
new file mode 100644
index 0000000..9b17e0f
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/CacheInterface.php
@@ -0,0 +1,56 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2015 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Interface implemented by cache classes.
+ *
+ * It is highly recommended to always store templates on the filesystem to
+ * benefit from the PHP opcode cache. This interface is mostly useful if you
+ * need to implement a custom strategy for storing templates on the filesystem.
+ *
+ * @author Andrew Tch <andrew@noop.lv>
+ */
+interface Twig_CacheInterface
+{
+    /**
+     * Generates a cache key for the given template class name.
+     *
+     * @param string $name      The template name
+     * @param string $className The template class name
+     *
+     * @return string
+     */
+    public function generateKey($name, $className);
+
+    /**
+     * Writes the compiled template to cache.
+     *
+     * @param string $key     The cache key
+     * @param string $content The template representation as a PHP class
+     */
+    public function write($key, $content);
+
+    /**
+     * Loads a template from the cache.
+     *
+     * @param string $key The cache key
+     */
+    public function load($key);
+
+    /**
+     * Returns the modification timestamp of a key.
+     *
+     * @param string $key The cache key
+     *
+     * @return int
+     */
+    public function getTimestamp($key);
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Compiler.php b/vendor/twig/twig/lib/Twig/Compiler.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Compiler.php
rename to vendor/twig/twig/lib/Twig/Compiler.php
diff --git a/core/vendor/twig/twig/lib/Twig/CompilerInterface.php b/vendor/twig/twig/lib/Twig/CompilerInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/CompilerInterface.php
rename to vendor/twig/twig/lib/Twig/CompilerInterface.php
diff --git a/vendor/twig/twig/lib/Twig/Environment.php b/vendor/twig/twig/lib/Twig/Environment.php
new file mode 100644
index 0000000..0c32550
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Environment.php
@@ -0,0 +1,1344 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Stores the Twig configuration.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_Environment
+{
+    const VERSION = '1.22.2';
+
+    protected $charset;
+    protected $loader;
+    protected $debug;
+    protected $autoReload;
+    protected $cache;
+    protected $lexer;
+    protected $parser;
+    protected $compiler;
+    protected $baseTemplateClass;
+    protected $extensions;
+    protected $parsers;
+    protected $visitors;
+    protected $filters;
+    protected $tests;
+    protected $functions;
+    protected $globals;
+    protected $runtimeInitialized = false;
+    protected $extensionInitialized = false;
+    protected $loadedTemplates;
+    protected $strictVariables;
+    protected $unaryOperators;
+    protected $binaryOperators;
+    protected $templateClassPrefix = '__TwigTemplate_';
+    protected $functionCallbacks = array();
+    protected $filterCallbacks = array();
+    protected $staging;
+
+    private $originalCache;
+    private $bcWriteCacheFile = false;
+    private $bcGetCacheFilename = false;
+
+    /**
+     * Constructor.
+     *
+     * Available options:
+     *
+     *  * debug: When set to true, it automatically set "auto_reload" to true as
+     *           well (default to false).
+     *
+     *  * charset: The charset used by the templates (default to UTF-8).
+     *
+     *  * base_template_class: The base template class to use for generated
+     *                         templates (default to Twig_Template).
+     *
+     *  * cache: An absolute path where to store the compiled templates,
+     *           a Twig_Cache_Interface implementation,
+     *           or false to disable compilation cache (default).
+     *
+     *  * auto_reload: Whether to reload the template if the original source changed.
+     *                 If you don't provide the auto_reload option, it will be
+     *                 determined automatically based on the debug value.
+     *
+     *  * strict_variables: Whether to ignore invalid variables in templates
+     *                      (default to false).
+     *
+     *  * autoescape: Whether to enable auto-escaping (default to html):
+     *                  * false: disable auto-escaping
+     *                  * true: equivalent to html
+     *                  * html, js: set the autoescaping to one of the supported strategies
+     *                  * filename: set the autoescaping strategy based on the template filename extension
+     *                  * PHP callback: a PHP callback that returns an escaping strategy based on the template "filename"
+     *
+     *  * optimizations: A flag that indicates which optimizations to apply
+     *                   (default to -1 which means that all optimizations are enabled;
+     *                   set it to 0 to disable).
+     *
+     * @param Twig_LoaderInterface $loader  A Twig_LoaderInterface instance
+     * @param array                $options An array of options
+     */
+    public function __construct(Twig_LoaderInterface $loader = null, $options = array())
+    {
+        if (null !== $loader) {
+            $this->setLoader($loader);
+        } else {
+            @trigger_error('Not passing a Twig_LoaderInterface as the first constructor argument of Twig_Environment is deprecated.', E_USER_DEPRECATED);
+        }
+
+        $options = array_merge(array(
+            'debug' => false,
+            'charset' => 'UTF-8',
+            'base_template_class' => 'Twig_Template',
+            'strict_variables' => false,
+            'autoescape' => 'html',
+            'cache' => false,
+            'auto_reload' => null,
+            'optimizations' => -1,
+        ), $options);
+
+        $this->debug = (bool) $options['debug'];
+        $this->charset = strtoupper($options['charset']);
+        $this->baseTemplateClass = $options['base_template_class'];
+        $this->autoReload = null === $options['auto_reload'] ? $this->debug : (bool) $options['auto_reload'];
+        $this->strictVariables = (bool) $options['strict_variables'];
+        $this->setCache($options['cache']);
+
+        $this->addExtension(new Twig_Extension_Core());
+        $this->addExtension(new Twig_Extension_Escaper($options['autoescape']));
+        $this->addExtension(new Twig_Extension_Optimizer($options['optimizations']));
+        $this->staging = new Twig_Extension_Staging();
+
+        // For BC
+        if (is_string($this->originalCache)) {
+            $r = new ReflectionMethod($this, 'writeCacheFile');
+            if ($r->getDeclaringClass()->getName() !== __CLASS__) {
+                @trigger_error('The Twig_Environment::writeCacheFile method is deprecated and will be removed in Twig 2.0.', E_USER_DEPRECATED);
+
+                $this->bcWriteCacheFile = true;
+            }
+
+            $r = new ReflectionMethod($this, 'getCacheFilename');
+            if ($r->getDeclaringClass()->getName() !== __CLASS__) {
+                @trigger_error('The Twig_Environment::getCacheFilename method is deprecated and will be removed in Twig 2.0.', E_USER_DEPRECATED);
+
+                $this->bcGetCacheFilename = true;
+            }
+        }
+    }
+
+    /**
+     * Gets the base template class for compiled templates.
+     *
+     * @return string The base template class name
+     */
+    public function getBaseTemplateClass()
+    {
+        return $this->baseTemplateClass;
+    }
+
+    /**
+     * Sets the base template class for compiled templates.
+     *
+     * @param string $class The base template class name
+     */
+    public function setBaseTemplateClass($class)
+    {
+        $this->baseTemplateClass = $class;
+    }
+
+    /**
+     * Enables debugging mode.
+     */
+    public function enableDebug()
+    {
+        $this->debug = true;
+    }
+
+    /**
+     * Disables debugging mode.
+     */
+    public function disableDebug()
+    {
+        $this->debug = false;
+    }
+
+    /**
+     * Checks if debug mode is enabled.
+     *
+     * @return bool true if debug mode is enabled, false otherwise
+     */
+    public function isDebug()
+    {
+        return $this->debug;
+    }
+
+    /**
+     * Enables the auto_reload option.
+     */
+    public function enableAutoReload()
+    {
+        $this->autoReload = true;
+    }
+
+    /**
+     * Disables the auto_reload option.
+     */
+    public function disableAutoReload()
+    {
+        $this->autoReload = false;
+    }
+
+    /**
+     * Checks if the auto_reload option is enabled.
+     *
+     * @return bool true if auto_reload is enabled, false otherwise
+     */
+    public function isAutoReload()
+    {
+        return $this->autoReload;
+    }
+
+    /**
+     * Enables the strict_variables option.
+     */
+    public function enableStrictVariables()
+    {
+        $this->strictVariables = true;
+    }
+
+    /**
+     * Disables the strict_variables option.
+     */
+    public function disableStrictVariables()
+    {
+        $this->strictVariables = false;
+    }
+
+    /**
+     * Checks if the strict_variables option is enabled.
+     *
+     * @return bool true if strict_variables is enabled, false otherwise
+     */
+    public function isStrictVariables()
+    {
+        return $this->strictVariables;
+    }
+
+    /**
+     * Gets the current cache implementation.
+     *
+     * @param bool $original Whether to return the original cache option or the real cache instance
+     *
+     * @return Twig_CacheInterface|string|false A Twig_CacheInterface implementation,
+     *                                          an absolute path to the compiled templates,
+     *                                          or false to disable cache
+     */
+    public function getCache($original = true)
+    {
+        return $original ? $this->originalCache : $this->cache;
+    }
+
+    /**
+     * Sets the current cache implementation.
+     *
+     * @param Twig_CacheInterface|string|false $cache A Twig_CacheInterface implementation,
+     *                                                an absolute path to the compiled templates,
+     *                                                or false to disable cache
+     */
+    public function setCache($cache)
+    {
+        if (is_string($cache)) {
+            $this->originalCache = $cache;
+            $this->cache = new Twig_Cache_Filesystem($cache);
+        } elseif (false === $cache) {
+            $this->originalCache = $cache;
+            $this->cache = new Twig_Cache_Null();
+        } elseif ($cache instanceof Twig_CacheInterface) {
+            $this->originalCache = $this->cache = $cache;
+        } else {
+            throw new LogicException(sprintf('Cache can only be a string, false, or a Twig_CacheInterface implementation.'));
+        }
+    }
+
+    /**
+     * Gets the cache filename for a given template.
+     *
+     * @param string $name The template name
+     *
+     * @return string|false The cache file name or false when caching is disabled
+     *
+     * @deprecated since 1.22 (to be removed in 2.0)
+     */
+    public function getCacheFilename($name)
+    {
+        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
+
+        $key = $this->cache->generateKey($name, $this->getTemplateClass($name));
+
+        return !$key ? false : $key;
+    }
+
+    /**
+     * Gets the template class associated with the given string.
+     *
+     * @param string $name  The name for which to calculate the template class name
+     * @param int    $index The index if it is an embedded template
+     *
+     * @return string The template class name
+     */
+    public function getTemplateClass($name, $index = null)
+    {
+        $key = $this->getLoader()->getCacheKey($name).'__'.implode('__', array_keys($this->extensions));
+
+        return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '_'.$index);
+    }
+
+    /**
+     * Gets the template class prefix.
+     *
+     * @return string The template class prefix
+     *
+     * @deprecated since 1.22 (to be removed in 2.0)
+     */
+    public function getTemplateClassPrefix()
+    {
+        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
+
+        return $this->templateClassPrefix;
+    }
+
+    /**
+     * Renders a template.
+     *
+     * @param string $name    The template name
+     * @param array  $context An array of parameters to pass to the template
+     *
+     * @return string The rendered template
+     *
+     * @throws Twig_Error_Loader  When the template cannot be found
+     * @throws Twig_Error_Syntax  When an error occurred during compilation
+     * @throws Twig_Error_Runtime When an error occurred during rendering
+     */
+    public function render($name, array $context = array())
+    {
+        return $this->loadTemplate($name)->render($context);
+    }
+
+    /**
+     * Displays a template.
+     *
+     * @param string $name    The template name
+     * @param array  $context An array of parameters to pass to the template
+     *
+     * @throws Twig_Error_Loader  When the template cannot be found
+     * @throws Twig_Error_Syntax  When an error occurred during compilation
+     * @throws Twig_Error_Runtime When an error occurred during rendering
+     */
+    public function display($name, array $context = array())
+    {
+        $this->loadTemplate($name)->display($context);
+    }
+
+    /**
+     * Loads a template by name.
+     *
+     * @param string $name  The template name
+     * @param int    $index The index if it is an embedded template
+     *
+     * @return Twig_TemplateInterface A template instance representing the given template name
+     *
+     * @throws Twig_Error_Loader When the template cannot be found
+     * @throws Twig_Error_Syntax When an error occurred during compilation
+     */
+    public function loadTemplate($name, $index = null)
+    {
+        $cls = $this->getTemplateClass($name, $index);
+
+        if (isset($this->loadedTemplates[$cls])) {
+            return $this->loadedTemplates[$cls];
+        }
+
+        if (!class_exists($cls, false)) {
+            if ($this->bcGetCacheFilename) {
+                $key = $this->getCacheFilename($name);
+            } else {
+                $key = $this->cache->generateKey($name, $cls);
+            }
+
+            if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
+                $this->cache->load($key);
+            }
+
+            if (!class_exists($cls, false)) {
+                $content = $this->compileSource($this->getLoader()->getSource($name), $name);
+                if ($this->bcWriteCacheFile) {
+                    $this->writeCacheFile($key, $content);
+                } else {
+                    $this->cache->write($key, $content);
+                }
+
+                eval('?>'.$content);
+            }
+        }
+
+        if (!$this->runtimeInitialized) {
+            $this->initRuntime();
+        }
+
+        return $this->loadedTemplates[$cls] = new $cls($this);
+    }
+
+    /**
+     * Creates a template from source.
+     *
+     * This method should not be used as a generic way to load templates.
+     *
+     * @param string $template The template name
+     *
+     * @return Twig_Template A template instance representing the given template name
+     *
+     * @throws Twig_Error_Loader When the template cannot be found
+     * @throws Twig_Error_Syntax When an error occurred during compilation
+     */
+    public function createTemplate($template)
+    {
+        $name = sprintf('__string_template__%s', hash('sha256', uniqid(mt_rand(), true), false));
+
+        $loader = new Twig_Loader_Chain(array(
+            new Twig_Loader_Array(array($name => $template)),
+            $current = $this->getLoader(),
+        ));
+
+        $this->setLoader($loader);
+        try {
+            $template = $this->loadTemplate($name);
+        } catch (Exception $e) {
+            $this->setLoader($current);
+
+            throw $e;
+        }
+        $this->setLoader($current);
+
+        return $template;
+    }
+
+    /**
+     * Returns true if the template is still fresh.
+     *
+     * Besides checking the loader for freshness information,
+     * this method also checks if the enabled extensions have
+     * not changed.
+     *
+     * @param string $name The template name
+     * @param int    $time The last modification time of the cached template
+     *
+     * @return bool true if the template is fresh, false otherwise
+     */
+    public function isTemplateFresh($name, $time)
+    {
+        foreach ($this->extensions as $extension) {
+            $r = new ReflectionObject($extension);
+            if (filemtime($r->getFileName()) > $time) {
+                return false;
+            }
+        }
+
+        return $this->getLoader()->isFresh($name, $time);
+    }
+
+    /**
+     * Tries to load a template consecutively from an array.
+     *
+     * Similar to loadTemplate() but it also accepts Twig_TemplateInterface instances and an array
+     * of templates where each is tried to be loaded.
+     *
+     * @param string|Twig_Template|array $names A template or an array of templates to try consecutively
+     *
+     * @return Twig_Template
+     *
+     * @throws Twig_Error_Loader When none of the templates can be found
+     * @throws Twig_Error_Syntax When an error occurred during compilation
+     */
+    public function resolveTemplate($names)
+    {
+        if (!is_array($names)) {
+            $names = array($names);
+        }
+
+        foreach ($names as $name) {
+            if ($name instanceof Twig_Template) {
+                return $name;
+            }
+
+            try {
+                return $this->loadTemplate($name);
+            } catch (Twig_Error_Loader $e) {
+            }
+        }
+
+        if (1 === count($names)) {
+            throw $e;
+        }
+
+        throw new Twig_Error_Loader(sprintf('Unable to find one of the following templates: "%s".', implode('", "', $names)));
+    }
+
+    /**
+     * Clears the internal template cache.
+     *
+     * @deprecated since 1.18.3 (to be removed in 2.0)
+     */
+    public function clearTemplateCache()
+    {
+        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
+
+        $this->loadedTemplates = array();
+    }
+
+    /**
+     * Clears the template cache files on the filesystem.
+     *
+     * @deprecated since 1.22 (to be removed in 2.0)
+     */
+    public function clearCacheFiles()
+    {
+        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
+
+        if (is_string($this->originalCache)) {
+            foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->originalCache), RecursiveIteratorIterator::LEAVES_ONLY) as $file) {
+                if ($file->isFile()) {
+                    @unlink($file->getPathname());
+                }
+            }
+        }
+    }
+
+    /**
+     * Gets the Lexer instance.
+     *
+     * @return Twig_LexerInterface A Twig_LexerInterface instance
+     */
+    public function getLexer()
+    {
+        if (null === $this->lexer) {
+            $this->lexer = new Twig_Lexer($this);
+        }
+
+        return $this->lexer;
+    }
+
+    /**
+     * Sets the Lexer instance.
+     *
+     * @param Twig_LexerInterface $lexer A Twig_LexerInterface instance
+     */
+    public function setLexer(Twig_LexerInterface $lexer)
+    {
+        $this->lexer = $lexer;
+    }
+
+    /**
+     * Tokenizes a source code.
+     *
+     * @param string $source The template source code
+     * @param string $name   The template name
+     *
+     * @return Twig_TokenStream A Twig_TokenStream instance
+     *
+     * @throws Twig_Error_Syntax When the code is syntactically wrong
+     */
+    public function tokenize($source, $name = null)
+    {
+        return $this->getLexer()->tokenize($source, $name);
+    }
+
+    /**
+     * Gets the Parser instance.
+     *
+     * @return Twig_ParserInterface A Twig_ParserInterface instance
+     */
+    public function getParser()
+    {
+        if (null === $this->parser) {
+            $this->parser = new Twig_Parser($this);
+        }
+
+        return $this->parser;
+    }
+
+    /**
+     * Sets the Parser instance.
+     *
+     * @param Twig_ParserInterface $parser A Twig_ParserInterface instance
+     */
+    public function setParser(Twig_ParserInterface $parser)
+    {
+        $this->parser = $parser;
+    }
+
+    /**
+     * Converts a token stream to a node tree.
+     *
+     * @param Twig_TokenStream $stream A token stream instance
+     *
+     * @return Twig_Node_Module A node tree
+     *
+     * @throws Twig_Error_Syntax When the token stream is syntactically or semantically wrong
+     */
+    public function parse(Twig_TokenStream $stream)
+    {
+        return $this->getParser()->parse($stream);
+    }
+
+    /**
+     * Gets the Compiler instance.
+     *
+     * @return Twig_CompilerInterface A Twig_CompilerInterface instance
+     */
+    public function getCompiler()
+    {
+        if (null === $this->compiler) {
+            $this->compiler = new Twig_Compiler($this);
+        }
+
+        return $this->compiler;
+    }
+
+    /**
+     * Sets the Compiler instance.
+     *
+     * @param Twig_CompilerInterface $compiler A Twig_CompilerInterface instance
+     */
+    public function setCompiler(Twig_CompilerInterface $compiler)
+    {
+        $this->compiler = $compiler;
+    }
+
+    /**
+     * Compiles a node and returns the PHP code.
+     *
+     * @param Twig_NodeInterface $node A Twig_NodeInterface instance
+     *
+     * @return string The compiled PHP source code
+     */
+    public function compile(Twig_NodeInterface $node)
+    {
+        return $this->getCompiler()->compile($node)->getSource();
+    }
+
+    /**
+     * Compiles a template source code.
+     *
+     * @param string $source The template source code
+     * @param string $name   The template name
+     *
+     * @return string The compiled PHP source code
+     *
+     * @throws Twig_Error_Syntax When there was an error during tokenizing, parsing or compiling
+     */
+    public function compileSource($source, $name = null)
+    {
+        try {
+            $compiled = $this->compile($this->parse($this->tokenize($source, $name)), $source);
+
+            if (isset($source[0])) {
+                $compiled .= '/* '.str_replace(array('*/', "\r\n", "\r", "\n"), array('*//* ', "\n", "\n", "*/\n/* "), $source)."*/\n";
+            }
+
+            return $compiled;
+        } catch (Twig_Error $e) {
+            $e->setTemplateFile($name);
+            throw $e;
+        } catch (Exception $e) {
+            throw new Twig_Error_Syntax(sprintf('An exception has been thrown during the compilation of a template ("%s").', $e->getMessage()), -1, $name, $e);
+        }
+    }
+
+    /**
+     * Sets the Loader instance.
+     *
+     * @param Twig_LoaderInterface $loader A Twig_LoaderInterface instance
+     */
+    public function setLoader(Twig_LoaderInterface $loader)
+    {
+        $this->loader = $loader;
+    }
+
+    /**
+     * Gets the Loader instance.
+     *
+     * @return Twig_LoaderInterface A Twig_LoaderInterface instance
+     */
+    public function getLoader()
+    {
+        if (null === $this->loader) {
+            throw new LogicException('You must set a loader first.');
+        }
+
+        return $this->loader;
+    }
+
+    /**
+     * Sets the default template charset.
+     *
+     * @param string $charset The default charset
+     */
+    public function setCharset($charset)
+    {
+        $this->charset = strtoupper($charset);
+    }
+
+    /**
+     * Gets the default template charset.
+     *
+     * @return string The default charset
+     */
+    public function getCharset()
+    {
+        return $this->charset;
+    }
+
+    /**
+     * Initializes the runtime environment.
+     */
+    public function initRuntime()
+    {
+        $this->runtimeInitialized = true;
+
+        foreach ($this->getExtensions() as $extension) {
+            $extension->initRuntime($this);
+        }
+    }
+
+    /**
+     * Returns true if the given extension is registered.
+     *
+     * @param string $name The extension name
+     *
+     * @return bool Whether the extension is registered or not
+     */
+    public function hasExtension($name)
+    {
+        return isset($this->extensions[$name]);
+    }
+
+    /**
+     * Gets an extension by name.
+     *
+     * @param string $name The extension name
+     *
+     * @return Twig_ExtensionInterface A Twig_ExtensionInterface instance
+     */
+    public function getExtension($name)
+    {
+        if (!isset($this->extensions[$name])) {
+            throw new Twig_Error_Runtime(sprintf('The "%s" extension is not enabled.', $name));
+        }
+
+        return $this->extensions[$name];
+    }
+
+    /**
+     * Registers an extension.
+     *
+     * @param Twig_ExtensionInterface $extension A Twig_ExtensionInterface instance
+     */
+    public function addExtension(Twig_ExtensionInterface $extension)
+    {
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to register extension "%s" as extensions have already been initialized.', $extension->getName()));
+        }
+
+        $this->extensions[$extension->getName()] = $extension;
+    }
+
+    /**
+     * Removes an extension by name.
+     *
+     * This method is deprecated and you should not use it.
+     *
+     * @param string $name The extension name
+     *
+     * @deprecated since 1.12 (to be removed in 2.0)
+     */
+    public function removeExtension($name)
+    {
+        @trigger_error(sprintf('The %s method is deprecated and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
+
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to remove extension "%s" as extensions have already been initialized.', $name));
+        }
+
+        unset($this->extensions[$name]);
+    }
+
+    /**
+     * Registers an array of extensions.
+     *
+     * @param array $extensions An array of extensions
+     */
+    public function setExtensions(array $extensions)
+    {
+        foreach ($extensions as $extension) {
+            $this->addExtension($extension);
+        }
+    }
+
+    /**
+     * Returns all registered extensions.
+     *
+     * @return array An array of extensions
+     */
+    public function getExtensions()
+    {
+        return $this->extensions;
+    }
+
+    /**
+     * Registers a Token Parser.
+     *
+     * @param Twig_TokenParserInterface $parser A Twig_TokenParserInterface instance
+     */
+    public function addTokenParser(Twig_TokenParserInterface $parser)
+    {
+        if ($this->extensionInitialized) {
+            throw new LogicException('Unable to add a token parser as extensions have already been initialized.');
+        }
+
+        $this->staging->addTokenParser($parser);
+    }
+
+    /**
+     * Gets the registered Token Parsers.
+     *
+     * @return Twig_TokenParserBrokerInterface A broker containing token parsers
+     */
+    public function getTokenParsers()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->parsers;
+    }
+
+    /**
+     * Gets registered tags.
+     *
+     * Be warned that this method cannot return tags defined by Twig_TokenParserBrokerInterface classes.
+     *
+     * @return Twig_TokenParserInterface[] An array of Twig_TokenParserInterface instances
+     */
+    public function getTags()
+    {
+        $tags = array();
+        foreach ($this->getTokenParsers()->getParsers() as $parser) {
+            if ($parser instanceof Twig_TokenParserInterface) {
+                $tags[$parser->getTag()] = $parser;
+            }
+        }
+
+        return $tags;
+    }
+
+    /**
+     * Registers a Node Visitor.
+     *
+     * @param Twig_NodeVisitorInterface $visitor A Twig_NodeVisitorInterface instance
+     */
+    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
+    {
+        if ($this->extensionInitialized) {
+            throw new LogicException('Unable to add a node visitor as extensions have already been initialized.');
+        }
+
+        $this->staging->addNodeVisitor($visitor);
+    }
+
+    /**
+     * Gets the registered Node Visitors.
+     *
+     * @return Twig_NodeVisitorInterface[] An array of Twig_NodeVisitorInterface instances
+     */
+    public function getNodeVisitors()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->visitors;
+    }
+
+    /**
+     * Registers a Filter.
+     *
+     * @param string|Twig_SimpleFilter               $name   The filter name or a Twig_SimpleFilter instance
+     * @param Twig_FilterInterface|Twig_SimpleFilter $filter A Twig_FilterInterface instance or a Twig_SimpleFilter instance
+     */
+    public function addFilter($name, $filter = null)
+    {
+        if (!$name instanceof Twig_SimpleFilter && !($filter instanceof Twig_SimpleFilter || $filter instanceof Twig_FilterInterface)) {
+            throw new LogicException('A filter must be an instance of Twig_FilterInterface or Twig_SimpleFilter');
+        }
+
+        if ($name instanceof Twig_SimpleFilter) {
+            $filter = $name;
+            $name = $filter->getName();
+        } else {
+            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleFilter" instead when defining filter "%s".', __METHOD__, $name), E_USER_DEPRECATED);
+        }
+
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add filter "%s" as extensions have already been initialized.', $name));
+        }
+
+        $this->staging->addFilter($name, $filter);
+    }
+
+    /**
+     * Get a filter by name.
+     *
+     * Subclasses may override this method and load filters differently;
+     * so no list of filters is available.
+     *
+     * @param string $name The filter name
+     *
+     * @return Twig_Filter|false A Twig_Filter instance or false if the filter does not exist
+     */
+    public function getFilter($name)
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        if (isset($this->filters[$name])) {
+            return $this->filters[$name];
+        }
+
+        foreach ($this->filters as $pattern => $filter) {
+            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
+
+            if ($count) {
+                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
+                    array_shift($matches);
+                    $filter->setArguments($matches);
+
+                    return $filter;
+                }
+            }
+        }
+
+        foreach ($this->filterCallbacks as $callback) {
+            if (false !== $filter = call_user_func($callback, $name)) {
+                return $filter;
+            }
+        }
+
+        return false;
+    }
+
+    public function registerUndefinedFilterCallback($callable)
+    {
+        $this->filterCallbacks[] = $callable;
+    }
+
+    /**
+     * Gets the registered Filters.
+     *
+     * Be warned that this method cannot return filters defined with registerUndefinedFunctionCallback.
+     *
+     * @return Twig_FilterInterface[] An array of Twig_FilterInterface instances
+     *
+     * @see registerUndefinedFilterCallback
+     */
+    public function getFilters()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->filters;
+    }
+
+    /**
+     * Registers a Test.
+     *
+     * @param string|Twig_SimpleTest             $name The test name or a Twig_SimpleTest instance
+     * @param Twig_TestInterface|Twig_SimpleTest $test A Twig_TestInterface instance or a Twig_SimpleTest instance
+     */
+    public function addTest($name, $test = null)
+    {
+        if (!$name instanceof Twig_SimpleTest && !($test instanceof Twig_SimpleTest || $test instanceof Twig_TestInterface)) {
+            throw new LogicException('A test must be an instance of Twig_TestInterface or Twig_SimpleTest');
+        }
+
+        if ($name instanceof Twig_SimpleTest) {
+            $test = $name;
+            $name = $test->getName();
+        } else {
+            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleTest" instead when defining test "%s".', __METHOD__, $name), E_USER_DEPRECATED);
+        }
+
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add test "%s" as extensions have already been initialized.', $name));
+        }
+
+        $this->staging->addTest($name, $test);
+    }
+
+    /**
+     * Gets the registered Tests.
+     *
+     * @return Twig_TestInterface[] An array of Twig_TestInterface instances
+     */
+    public function getTests()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->tests;
+    }
+
+    /**
+     * Gets a test by name.
+     *
+     * @param string $name The test name
+     *
+     * @return Twig_Test|false A Twig_Test instance or false if the test does not exist
+     */
+    public function getTest($name)
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        if (isset($this->tests[$name])) {
+            return $this->tests[$name];
+        }
+
+        return false;
+    }
+
+    /**
+     * Registers a Function.
+     *
+     * @param string|Twig_SimpleFunction                 $name     The function name or a Twig_SimpleFunction instance
+     * @param Twig_FunctionInterface|Twig_SimpleFunction $function A Twig_FunctionInterface instance or a Twig_SimpleFunction instance
+     */
+    public function addFunction($name, $function = null)
+    {
+        if (!$name instanceof Twig_SimpleFunction && !($function instanceof Twig_SimpleFunction || $function instanceof Twig_FunctionInterface)) {
+            throw new LogicException('A function must be an instance of Twig_FunctionInterface or Twig_SimpleFunction');
+        }
+
+        if ($name instanceof Twig_SimpleFunction) {
+            $function = $name;
+            $name = $function->getName();
+        } else {
+            @trigger_error(sprintf('Passing a name as a first argument to the %s method is deprecated. Pass an instance of "Twig_SimpleFunction" instead when defining function "%s".', __METHOD__, $name), E_USER_DEPRECATED);
+        }
+
+        if ($this->extensionInitialized) {
+            throw new LogicException(sprintf('Unable to add function "%s" as extensions have already been initialized.', $name));
+        }
+
+        $this->staging->addFunction($name, $function);
+    }
+
+    /**
+     * Get a function by name.
+     *
+     * Subclasses may override this method and load functions differently;
+     * so no list of functions is available.
+     *
+     * @param string $name function name
+     *
+     * @return Twig_Function|false A Twig_Function instance or false if the function does not exist
+     */
+    public function getFunction($name)
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        if (isset($this->functions[$name])) {
+            return $this->functions[$name];
+        }
+
+        foreach ($this->functions as $pattern => $function) {
+            $pattern = str_replace('\\*', '(.*?)', preg_quote($pattern, '#'), $count);
+
+            if ($count) {
+                if (preg_match('#^'.$pattern.'$#', $name, $matches)) {
+                    array_shift($matches);
+                    $function->setArguments($matches);
+
+                    return $function;
+                }
+            }
+        }
+
+        foreach ($this->functionCallbacks as $callback) {
+            if (false !== $function = call_user_func($callback, $name)) {
+                return $function;
+            }
+        }
+
+        return false;
+    }
+
+    public function registerUndefinedFunctionCallback($callable)
+    {
+        $this->functionCallbacks[] = $callable;
+    }
+
+    /**
+     * Gets registered functions.
+     *
+     * Be warned that this method cannot return functions defined with registerUndefinedFunctionCallback.
+     *
+     * @return Twig_FunctionInterface[] An array of Twig_FunctionInterface instances
+     *
+     * @see registerUndefinedFunctionCallback
+     */
+    public function getFunctions()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->functions;
+    }
+
+    /**
+     * Registers a Global.
+     *
+     * New globals can be added before compiling or rendering a template;
+     * but after, you can only update existing globals.
+     *
+     * @param string $name  The global name
+     * @param mixed  $value The global value
+     */
+    public function addGlobal($name, $value)
+    {
+        if ($this->extensionInitialized || $this->runtimeInitialized) {
+            if (null === $this->globals) {
+                $this->globals = $this->initGlobals();
+            }
+
+            if (!array_key_exists($name, $this->globals)) {
+                // The deprecation notice must be turned into the following exception in Twig 2.0
+                @trigger_error(sprintf('Registering global variable "%s" at runtime or when the extensions have already been initialized is deprecated.', $name), E_USER_DEPRECATED);
+                //throw new LogicException(sprintf('Unable to add global "%s" as the runtime or the extensions have already been initialized.', $name));
+            }
+        }
+
+        if ($this->extensionInitialized || $this->runtimeInitialized) {
+            // update the value
+            $this->globals[$name] = $value;
+        } else {
+            $this->staging->addGlobal($name, $value);
+        }
+    }
+
+    /**
+     * Gets the registered Globals.
+     *
+     * @return array An array of globals
+     */
+    public function getGlobals()
+    {
+        if (!$this->runtimeInitialized && !$this->extensionInitialized) {
+            return $this->initGlobals();
+        }
+
+        if (null === $this->globals) {
+            $this->globals = $this->initGlobals();
+        }
+
+        return $this->globals;
+    }
+
+    /**
+     * Merges a context with the defined globals.
+     *
+     * @param array $context An array representing the context
+     *
+     * @return array The context merged with the globals
+     */
+    public function mergeGlobals(array $context)
+    {
+        // we don't use array_merge as the context being generally
+        // bigger than globals, this code is faster.
+        foreach ($this->getGlobals() as $key => $value) {
+            if (!array_key_exists($key, $context)) {
+                $context[$key] = $value;
+            }
+        }
+
+        return $context;
+    }
+
+    /**
+     * Gets the registered unary Operators.
+     *
+     * @return array An array of unary operators
+     */
+    public function getUnaryOperators()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->unaryOperators;
+    }
+
+    /**
+     * Gets the registered binary Operators.
+     *
+     * @return array An array of binary operators
+     */
+    public function getBinaryOperators()
+    {
+        if (!$this->extensionInitialized) {
+            $this->initExtensions();
+        }
+
+        return $this->binaryOperators;
+    }
+
+    public function computeAlternatives($name, $items)
+    {
+        $alternatives = array();
+        foreach ($items as $item) {
+            $lev = levenshtein($name, $item);
+            if ($lev <= strlen($name) / 3 || false !== strpos($item, $name)) {
+                $alternatives[$item] = $lev;
+            }
+        }
+        asort($alternatives);
+
+        return array_keys($alternatives);
+    }
+
+    protected function initGlobals()
+    {
+        $globals = array();
+        foreach ($this->extensions as $extension) {
+            $extGlob = $extension->getGlobals();
+            if (!is_array($extGlob)) {
+                throw new UnexpectedValueException(sprintf('"%s::getGlobals()" must return an array of globals.', get_class($extension)));
+            }
+
+            $globals[] = $extGlob;
+        }
+
+        $globals[] = $this->staging->getGlobals();
+
+        return call_user_func_array('array_merge', $globals);
+    }
+
+    protected function initExtensions()
+    {
+        if ($this->extensionInitialized) {
+            return;
+        }
+
+        $this->extensionInitialized = true;
+        $this->parsers = new Twig_TokenParserBroker(array(), array(), false);
+        $this->filters = array();
+        $this->functions = array();
+        $this->tests = array();
+        $this->visitors = array();
+        $this->unaryOperators = array();
+        $this->binaryOperators = array();
+
+        foreach ($this->extensions as $extension) {
+            $this->initExtension($extension);
+        }
+        $this->initExtension($this->staging);
+    }
+
+    protected function initExtension(Twig_ExtensionInterface $extension)
+    {
+        // filters
+        foreach ($extension->getFilters() as $name => $filter) {
+            if ($filter instanceof Twig_SimpleFilter) {
+                $name = $filter->getName();
+            } else {
+                @trigger_error(sprintf('Using an instance of "%s" for filter "%s" is deprecated. Use Twig_SimpleFilter instead.', get_class($filter), $name), E_USER_DEPRECATED);
+            }
+
+            $this->filters[$name] = $filter;
+        }
+
+        // functions
+        foreach ($extension->getFunctions() as $name => $function) {
+            if ($function instanceof Twig_SimpleFunction) {
+                $name = $function->getName();
+            } else {
+                @trigger_error(sprintf('Using an instance of "%s" for function "%s" is deprecated. Use Twig_SimpleFunction instead.', get_class($function), $name), E_USER_DEPRECATED);
+            }
+
+            $this->functions[$name] = $function;
+        }
+
+        // tests
+        foreach ($extension->getTests() as $name => $test) {
+            if ($test instanceof Twig_SimpleTest) {
+                $name = $test->getName();
+            } else {
+                @trigger_error(sprintf('Using an instance of "%s" for test "%s" is deprecated. Use Twig_SimpleTest instead.', get_class($test), $name), E_USER_DEPRECATED);
+            }
+
+            $this->tests[$name] = $test;
+        }
+
+        // token parsers
+        foreach ($extension->getTokenParsers() as $parser) {
+            if ($parser instanceof Twig_TokenParserInterface) {
+                $this->parsers->addTokenParser($parser);
+            } elseif ($parser instanceof Twig_TokenParserBrokerInterface) {
+                @trigger_error('Registering a Twig_TokenParserBrokerInterface instance is deprecated.', E_USER_DEPRECATED);
+
+                $this->parsers->addTokenParserBroker($parser);
+            } else {
+                throw new LogicException('getTokenParsers() must return an array of Twig_TokenParserInterface or Twig_TokenParserBrokerInterface instances');
+            }
+        }
+
+        // node visitors
+        foreach ($extension->getNodeVisitors() as $visitor) {
+            $this->visitors[] = $visitor;
+        }
+
+        // operators
+        if ($operators = $extension->getOperators()) {
+            if (2 !== count($operators)) {
+                throw new InvalidArgumentException(sprintf('"%s::getOperators()" does not return a valid operators array.', get_class($extension)));
+            }
+
+            $this->unaryOperators = array_merge($this->unaryOperators, $operators[0]);
+            $this->binaryOperators = array_merge($this->binaryOperators, $operators[1]);
+        }
+    }
+
+    /**
+     * @deprecated since 1.22 (to be removed in 2.0)
+     */
+    protected function writeCacheFile($file, $content)
+    {
+        $this->cache->write($file, $content);
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Error.php b/vendor/twig/twig/lib/Twig/Error.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Error.php
rename to vendor/twig/twig/lib/Twig/Error.php
diff --git a/core/vendor/twig/twig/lib/Twig/Error/Loader.php b/vendor/twig/twig/lib/Twig/Error/Loader.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Error/Loader.php
rename to vendor/twig/twig/lib/Twig/Error/Loader.php
diff --git a/core/vendor/twig/twig/lib/Twig/Error/Runtime.php b/vendor/twig/twig/lib/Twig/Error/Runtime.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Error/Runtime.php
rename to vendor/twig/twig/lib/Twig/Error/Runtime.php
diff --git a/core/vendor/twig/twig/lib/Twig/Error/Syntax.php b/vendor/twig/twig/lib/Twig/Error/Syntax.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Error/Syntax.php
rename to vendor/twig/twig/lib/Twig/Error/Syntax.php
diff --git a/core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php b/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
rename to vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/ExpressionParser.php b/vendor/twig/twig/lib/Twig/ExpressionParser.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/ExpressionParser.php
rename to vendor/twig/twig/lib/Twig/ExpressionParser.php
diff --git a/core/vendor/twig/twig/lib/Twig/Extension.php b/vendor/twig/twig/lib/Twig/Extension.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension.php
rename to vendor/twig/twig/lib/Twig/Extension.php
diff --git a/vendor/twig/twig/lib/Twig/Extension/Core.php b/vendor/twig/twig/lib/Twig/Extension/Core.php
new file mode 100644
index 0000000..f9ec2a4
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Extension/Core.php
@@ -0,0 +1,1574 @@
+<?php
+
+if (!defined('ENT_SUBSTITUTE')) {
+    // use 0 as hhvm does not support several flags yet
+    define('ENT_SUBSTITUTE', 0);
+}
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+class Twig_Extension_Core extends Twig_Extension
+{
+    protected $dateFormats = array('F j, Y H:i', '%d days');
+    protected $numberFormat = array(0, '.', ',');
+    protected $timezone = null;
+    protected $escapers = array();
+
+    /**
+     * Defines a new escaper to be used via the escape filter.
+     *
+     * @param string   $strategy The strategy name that should be used as a strategy in the escape call
+     * @param callable $callable A valid PHP callable
+     */
+    public function setEscaper($strategy, $callable)
+    {
+        $this->escapers[$strategy] = $callable;
+    }
+
+    /**
+     * Gets all defined escapers.
+     *
+     * @return array An array of escapers
+     */
+    public function getEscapers()
+    {
+        return $this->escapers;
+    }
+
+    /**
+     * Sets the default format to be used by the date filter.
+     *
+     * @param string $format             The default date format string
+     * @param string $dateIntervalFormat The default date interval format string
+     */
+    public function setDateFormat($format = null, $dateIntervalFormat = null)
+    {
+        if (null !== $format) {
+            $this->dateFormats[0] = $format;
+        }
+
+        if (null !== $dateIntervalFormat) {
+            $this->dateFormats[1] = $dateIntervalFormat;
+        }
+    }
+
+    /**
+     * Gets the default format to be used by the date filter.
+     *
+     * @return array The default date format string and the default date interval format string
+     */
+    public function getDateFormat()
+    {
+        return $this->dateFormats;
+    }
+
+    /**
+     * Sets the default timezone to be used by the date filter.
+     *
+     * @param DateTimeZone|string $timezone The default timezone string or a DateTimeZone object
+     */
+    public function setTimezone($timezone)
+    {
+        $this->timezone = $timezone instanceof DateTimeZone ? $timezone : new DateTimeZone($timezone);
+    }
+
+    /**
+     * Gets the default timezone to be used by the date filter.
+     *
+     * @return DateTimeZone The default timezone currently in use
+     */
+    public function getTimezone()
+    {
+        if (null === $this->timezone) {
+            $this->timezone = new DateTimeZone(date_default_timezone_get());
+        }
+
+        return $this->timezone;
+    }
+
+    /**
+     * Sets the default format to be used by the number_format filter.
+     *
+     * @param int    $decimal      The number of decimal places to use.
+     * @param string $decimalPoint The character(s) to use for the decimal point.
+     * @param string $thousandSep  The character(s) to use for the thousands separator.
+     */
+    public function setNumberFormat($decimal, $decimalPoint, $thousandSep)
+    {
+        $this->numberFormat = array($decimal, $decimalPoint, $thousandSep);
+    }
+
+    /**
+     * Get the default format used by the number_format filter.
+     *
+     * @return array The arguments for number_format()
+     */
+    public function getNumberFormat()
+    {
+        return $this->numberFormat;
+    }
+
+    /**
+     * Returns the token parser instance to add to the existing list.
+     *
+     * @return Twig_TokenParser[] An array of Twig_TokenParser instances
+     */
+    public function getTokenParsers()
+    {
+        return array(
+            new Twig_TokenParser_For(),
+            new Twig_TokenParser_If(),
+            new Twig_TokenParser_Extends(),
+            new Twig_TokenParser_Include(),
+            new Twig_TokenParser_Block(),
+            new Twig_TokenParser_Use(),
+            new Twig_TokenParser_Filter(),
+            new Twig_TokenParser_Macro(),
+            new Twig_TokenParser_Import(),
+            new Twig_TokenParser_From(),
+            new Twig_TokenParser_Set(),
+            new Twig_TokenParser_Spaceless(),
+            new Twig_TokenParser_Flush(),
+            new Twig_TokenParser_Do(),
+            new Twig_TokenParser_Embed(),
+        );
+    }
+
+    /**
+     * Returns a list of filters to add to the existing list.
+     *
+     * @return array An array of filters
+     */
+    public function getFilters()
+    {
+        $filters = array(
+            // formatting filters
+            new Twig_SimpleFilter('date', 'twig_date_format_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('date_modify', 'twig_date_modify_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('format', 'sprintf'),
+            new Twig_SimpleFilter('replace', 'twig_replace_filter'),
+            new Twig_SimpleFilter('number_format', 'twig_number_format_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('abs', 'abs'),
+            new Twig_SimpleFilter('round', 'twig_round'),
+
+            // encoding
+            new Twig_SimpleFilter('url_encode', 'twig_urlencode_filter'),
+            new Twig_SimpleFilter('json_encode', 'twig_jsonencode_filter'),
+            new Twig_SimpleFilter('convert_encoding', 'twig_convert_encoding'),
+
+            // string filters
+            new Twig_SimpleFilter('title', 'twig_title_string_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('capitalize', 'twig_capitalize_string_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('upper', 'strtoupper'),
+            new Twig_SimpleFilter('lower', 'strtolower'),
+            new Twig_SimpleFilter('striptags', 'strip_tags'),
+            new Twig_SimpleFilter('trim', 'trim'),
+            new Twig_SimpleFilter('nl2br', 'nl2br', array('pre_escape' => 'html', 'is_safe' => array('html'))),
+
+            // array helpers
+            new Twig_SimpleFilter('join', 'twig_join_filter'),
+            new Twig_SimpleFilter('split', 'twig_split_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('sort', 'twig_sort_filter'),
+            new Twig_SimpleFilter('merge', 'twig_array_merge'),
+            new Twig_SimpleFilter('batch', 'twig_array_batch'),
+
+            // string/array filters
+            new Twig_SimpleFilter('reverse', 'twig_reverse_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('length', 'twig_length_filter', array('needs_environment' => true)),
+            new Twig_SimpleFilter('slice', 'twig_slice', array('needs_environment' => true)),
+            new Twig_SimpleFilter('first', 'twig_first', array('needs_environment' => true)),
+            new Twig_SimpleFilter('last', 'twig_last', array('needs_environment' => true)),
+
+            // iteration and runtime
+            new Twig_SimpleFilter('default', '_twig_default_filter', array('node_class' => 'Twig_Node_Expression_Filter_Default')),
+            new Twig_SimpleFilter('keys', 'twig_get_array_keys_filter'),
+
+            // escaping
+            new Twig_SimpleFilter('escape', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
+            new Twig_SimpleFilter('e', 'twig_escape_filter', array('needs_environment' => true, 'is_safe_callback' => 'twig_escape_filter_is_safe')),
+        );
+
+        if (function_exists('mb_get_info')) {
+            $filters[] = new Twig_SimpleFilter('upper', 'twig_upper_filter', array('needs_environment' => true));
+            $filters[] = new Twig_SimpleFilter('lower', 'twig_lower_filter', array('needs_environment' => true));
+        }
+
+        return $filters;
+    }
+
+    /**
+     * Returns a list of global functions to add to the existing list.
+     *
+     * @return array An array of global functions
+     */
+    public function getFunctions()
+    {
+        return array(
+            new Twig_SimpleFunction('max', 'max'),
+            new Twig_SimpleFunction('min', 'min'),
+            new Twig_SimpleFunction('range', 'range'),
+            new Twig_SimpleFunction('constant', 'twig_constant'),
+            new Twig_SimpleFunction('cycle', 'twig_cycle'),
+            new Twig_SimpleFunction('random', 'twig_random', array('needs_environment' => true)),
+            new Twig_SimpleFunction('date', 'twig_date_converter', array('needs_environment' => true)),
+            new Twig_SimpleFunction('include', 'twig_include', array('needs_environment' => true, 'needs_context' => true, 'is_safe' => array('all'))),
+            new Twig_SimpleFunction('source', 'twig_source', array('needs_environment' => true, 'is_safe' => array('all'))),
+        );
+    }
+
+    /**
+     * Returns a list of tests to add to the existing list.
+     *
+     * @return array An array of tests
+     */
+    public function getTests()
+    {
+        return array(
+            new Twig_SimpleTest('even', null, array('node_class' => 'Twig_Node_Expression_Test_Even')),
+            new Twig_SimpleTest('odd', null, array('node_class' => 'Twig_Node_Expression_Test_Odd')),
+            new Twig_SimpleTest('defined', null, array('node_class' => 'Twig_Node_Expression_Test_Defined')),
+            new Twig_SimpleTest('sameas', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas', 'deprecated' => true, 'alternative' => 'same as')),
+            new Twig_SimpleTest('same as', null, array('node_class' => 'Twig_Node_Expression_Test_Sameas')),
+            new Twig_SimpleTest('none', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
+            new Twig_SimpleTest('null', null, array('node_class' => 'Twig_Node_Expression_Test_Null')),
+            new Twig_SimpleTest('divisibleby', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby', 'deprecated' => true, 'alternative' => 'divisible by')),
+            new Twig_SimpleTest('divisible by', null, array('node_class' => 'Twig_Node_Expression_Test_Divisibleby')),
+            new Twig_SimpleTest('constant', null, array('node_class' => 'Twig_Node_Expression_Test_Constant')),
+            new Twig_SimpleTest('empty', 'twig_test_empty'),
+            new Twig_SimpleTest('iterable', 'twig_test_iterable'),
+        );
+    }
+
+    /**
+     * Returns a list of operators to add to the existing list.
+     *
+     * @return array An array of operators
+     */
+    public function getOperators()
+    {
+        return array(
+            array(
+                'not' => array('precedence' => 50, 'class' => 'Twig_Node_Expression_Unary_Not'),
+                '-' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Neg'),
+                '+' => array('precedence' => 500, 'class' => 'Twig_Node_Expression_Unary_Pos'),
+            ),
+            array(
+                'or' => array('precedence' => 10, 'class' => 'Twig_Node_Expression_Binary_Or', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'and' => array('precedence' => 15, 'class' => 'Twig_Node_Expression_Binary_And', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'b-or' => array('precedence' => 16, 'class' => 'Twig_Node_Expression_Binary_BitwiseOr', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'b-xor' => array('precedence' => 17, 'class' => 'Twig_Node_Expression_Binary_BitwiseXor', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'b-and' => array('precedence' => 18, 'class' => 'Twig_Node_Expression_Binary_BitwiseAnd', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '==' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Equal', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '!=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '<' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Less', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '>' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Greater', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '>=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_GreaterEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '<=' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_LessEqual', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'not in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_NotIn', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'in' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_In', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'matches' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_Matches', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'starts with' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_StartsWith', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'ends with' => array('precedence' => 20, 'class' => 'Twig_Node_Expression_Binary_EndsWith', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '..' => array('precedence' => 25, 'class' => 'Twig_Node_Expression_Binary_Range', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '+' => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Add', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '-' => array('precedence' => 30, 'class' => 'Twig_Node_Expression_Binary_Sub', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '~' => array('precedence' => 40, 'class' => 'Twig_Node_Expression_Binary_Concat', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '*' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mul', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '/' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Div', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '//' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_FloorDiv', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '%' => array('precedence' => 60, 'class' => 'Twig_Node_Expression_Binary_Mod', 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'is' => array('precedence' => 100, 'callable' => array($this, 'parseTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                'is not' => array('precedence' => 100, 'callable' => array($this, 'parseNotTestExpression'), 'associativity' => Twig_ExpressionParser::OPERATOR_LEFT),
+                '**' => array('precedence' => 200, 'class' => 'Twig_Node_Expression_Binary_Power', 'associativity' => Twig_ExpressionParser::OPERATOR_RIGHT),
+            ),
+        );
+    }
+
+    public function parseNotTestExpression(Twig_Parser $parser, Twig_NodeInterface $node)
+    {
+        return new Twig_Node_Expression_Unary_Not($this->parseTestExpression($parser, $node), $parser->getCurrentToken()->getLine());
+    }
+
+    public function parseTestExpression(Twig_Parser $parser, Twig_NodeInterface $node)
+    {
+        $stream = $parser->getStream();
+        list($name, $test) = $this->getTest($parser, $node->getLine());
+
+        if ($test instanceof Twig_SimpleTest && $test->isDeprecated()) {
+            $message = sprintf('Twig Test "%s" is deprecated', $name);
+            if ($test->getAlternative()) {
+                $message .= sprintf('. Use "%s" instead', $test->getAlternative());
+            }
+            $message .= sprintf(' in %s at line %d.', $stream->getFilename(), $stream->getCurrent()->getLine());
+
+            @trigger_error($message, E_USER_DEPRECATED);
+        }
+
+        $class = $this->getTestNodeClass($parser, $test);
+        $arguments = null;
+        if ($stream->test(Twig_Token::PUNCTUATION_TYPE, '(')) {
+            $arguments = $parser->getExpressionParser()->parseArguments(true);
+        }
+
+        return new $class($node, $name, $arguments, $parser->getCurrentToken()->getLine());
+    }
+
+    protected function getTest(Twig_Parser $parser, $line)
+    {
+        $stream = $parser->getStream();
+        $name = $stream->expect(Twig_Token::NAME_TYPE)->getValue();
+        $env = $parser->getEnvironment();
+
+        if ($test = $env->getTest($name)) {
+            return array($name, $test);
+        }
+
+        if ($stream->test(Twig_Token::NAME_TYPE)) {
+            // try 2-words tests
+            $name = $name.' '.$parser->getCurrentToken()->getValue();
+
+            if ($test = $env->getTest($name)) {
+                $parser->getStream()->next();
+
+                return array($name, $test);
+            }
+        }
+
+        $message = sprintf('The test "%s" does not exist', $name);
+        if ($alternatives = $env->computeAlternatives($name, array_keys($env->getTests()))) {
+            $message = sprintf('%s. Did you mean "%s"', $message, implode('", "', $alternatives));
+        }
+
+        throw new Twig_Error_Syntax($message, $line, $parser->getFilename());
+    }
+
+    protected function getTestNodeClass(Twig_Parser $parser, $test)
+    {
+        if ($test instanceof Twig_SimpleTest) {
+            return $test->getNodeClass();
+        }
+
+        return $test instanceof Twig_Test_Node ? $test->getClass() : 'Twig_Node_Expression_Test';
+    }
+
+    /**
+     * Returns the name of the extension.
+     *
+     * @return string The extension name
+     */
+    public function getName()
+    {
+        return 'core';
+    }
+}
+
+/**
+ * Cycles over a value.
+ *
+ * @param ArrayAccess|array $values   An array or an ArrayAccess instance
+ * @param int               $position The cycle position
+ *
+ * @return string The next value in the cycle
+ */
+function twig_cycle($values, $position)
+{
+    if (!is_array($values) && !$values instanceof ArrayAccess) {
+        return $values;
+    }
+
+    return $values[$position % count($values)];
+}
+
+/**
+ * Returns a random value depending on the supplied parameter type:
+ * - a random item from a Traversable or array
+ * - a random character from a string
+ * - a random integer between 0 and the integer parameter.
+ *
+ * @param Twig_Environment             $env    A Twig_Environment instance
+ * @param Traversable|array|int|string $values The values to pick a random item from
+ *
+ * @throws Twig_Error_Runtime When $values is an empty array (does not apply to an empty string which is returned as is).
+ *
+ * @return mixed A random value from the given sequence
+ */
+function twig_random(Twig_Environment $env, $values = null)
+{
+    if (null === $values) {
+        return mt_rand();
+    }
+
+    if (is_int($values) || is_float($values)) {
+        return $values < 0 ? mt_rand($values, 0) : mt_rand(0, $values);
+    }
+
+    if ($values instanceof Traversable) {
+        $values = iterator_to_array($values);
+    } elseif (is_string($values)) {
+        if ('' === $values) {
+            return '';
+        }
+        if (null !== $charset = $env->getCharset()) {
+            if ('UTF-8' != $charset) {
+                $values = twig_convert_encoding($values, 'UTF-8', $charset);
+            }
+
+            // unicode version of str_split()
+            // split at all positions, but not after the start and not before the end
+            $values = preg_split('/(?<!^)(?!$)/u', $values);
+
+            if ('UTF-8' != $charset) {
+                foreach ($values as $i => $value) {
+                    $values[$i] = twig_convert_encoding($value, $charset, 'UTF-8');
+                }
+            }
+        } else {
+            return $values[mt_rand(0, strlen($values) - 1)];
+        }
+    }
+
+    if (!is_array($values)) {
+        return $values;
+    }
+
+    if (0 === count($values)) {
+        throw new Twig_Error_Runtime('The random function cannot pick from an empty array.');
+    }
+
+    return $values[array_rand($values, 1)];
+}
+
+/**
+ * Converts a date to the given format.
+ *
+ * <pre>
+ *   {{ post.published_at|date("m/d/Y") }}
+ * </pre>
+ *
+ * @param Twig_Environment                               $env      A Twig_Environment instance
+ * @param DateTime|DateTimeInterface|DateInterval|string $date     A date
+ * @param string|null                                    $format   The target format, null to use the default
+ * @param DateTimeZone|string|null|false                 $timezone The target timezone, null to use the default, false to leave unchanged
+ *
+ * @return string The formatted date
+ */
+function twig_date_format_filter(Twig_Environment $env, $date, $format = null, $timezone = null)
+{
+    if (null === $format) {
+        $formats = $env->getExtension('core')->getDateFormat();
+        $format = $date instanceof DateInterval ? $formats[1] : $formats[0];
+    }
+
+    if ($date instanceof DateInterval) {
+        return $date->format($format);
+    }
+
+    return twig_date_converter($env, $date, $timezone)->format($format);
+}
+
+/**
+ * Returns a new date object modified.
+ *
+ * <pre>
+ *   {{ post.published_at|date_modify("-1day")|date("m/d/Y") }}
+ * </pre>
+ *
+ * @param Twig_Environment $env      A Twig_Environment instance
+ * @param DateTime|string  $date     A date
+ * @param string           $modifier A modifier string
+ *
+ * @return DateTime A new date object
+ */
+function twig_date_modify_filter(Twig_Environment $env, $date, $modifier)
+{
+    $date = twig_date_converter($env, $date, false);
+    $resultDate = $date->modify($modifier);
+
+    // This is a hack to ensure PHP 5.2 support and support for DateTimeImmutable
+    // DateTime::modify does not return the modified DateTime object < 5.3.0
+    // and DateTimeImmutable does not modify $date.
+    return null === $resultDate ? $date : $resultDate;
+}
+
+/**
+ * Converts an input to a DateTime instance.
+ *
+ * <pre>
+ *    {% if date(user.created_at) < date('+2days') %}
+ *      {# do something #}
+ *    {% endif %}
+ * </pre>
+ *
+ * @param Twig_Environment                       $env      A Twig_Environment instance
+ * @param DateTime|DateTimeInterface|string|null $date     A date
+ * @param DateTimeZone|string|null|false         $timezone The target timezone, null to use the default, false to leave unchanged
+ *
+ * @return DateTime A DateTime instance
+ */
+function twig_date_converter(Twig_Environment $env, $date = null, $timezone = null)
+{
+    // determine the timezone
+    if (false !== $timezone) {
+        if (null === $timezone) {
+            $timezone = $env->getExtension('core')->getTimezone();
+        } elseif (!$timezone instanceof DateTimeZone) {
+            $timezone = new DateTimeZone($timezone);
+        }
+    }
+
+    // immutable dates
+    if ($date instanceof DateTimeImmutable) {
+        return false !== $timezone ? $date->setTimezone($timezone) : $date;
+    }
+
+    if ($date instanceof DateTime || $date instanceof DateTimeInterface) {
+        $date = clone $date;
+        if (false !== $timezone) {
+            $date->setTimezone($timezone);
+        }
+
+        return $date;
+    }
+
+    if (null === $date || 'now' === $date) {
+        return new DateTime($date, false !== $timezone ? $timezone : $env->getExtension('core')->getTimezone());
+    }
+
+    $asString = (string) $date;
+    if (ctype_digit($asString) || (!empty($asString) && '-' === $asString[0] && ctype_digit(substr($asString, 1)))) {
+        $date = new DateTime('@'.$date);
+    } else {
+        $date = new DateTime($date, $env->getExtension('core')->getTimezone());
+    }
+
+    if (false !== $timezone) {
+        $date->setTimezone($timezone);
+    }
+
+    return $date;
+}
+
+/**
+ * Replaces strings within a string.
+ *
+ * @param string            $str  String to replace in
+ * @param array|Traversable $from Replace values
+ * @param string|null       $to   Replace to, deprecated (@see http://php.net/manual/en/function.strtr.php)
+ *
+ * @return string
+ */
+function twig_replace_filter($str, $from, $to = null)
+{
+    if ($from instanceof Traversable) {
+        $from = iterator_to_array($from);
+    } elseif (is_string($from) && is_string($to)) {
+        @trigger_error('Using "replace" with character by character replacement is deprecated and will be removed in Twig 2.0', E_USER_DEPRECATED);
+
+        return strtr($str, $from, $to);
+    } elseif (!is_array($from)) {
+        throw new Twig_Error_Runtime(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);
+}
+
+/**
+ * Rounds a number.
+ *
+ * @param int|float $value     The value to round
+ * @param int|float $precision The rounding precision
+ * @param string    $method    The method to use for rounding
+ *
+ * @return int|float The rounded number
+ */
+function twig_round($value, $precision = 0, $method = 'common')
+{
+    if ('common' == $method) {
+        return round($value, $precision);
+    }
+
+    if ('ceil' != $method && 'floor' != $method) {
+        throw new Twig_Error_Runtime('The round filter only supports the "common", "ceil", and "floor" methods.');
+    }
+
+    return $method($value * pow(10, $precision)) / pow(10, $precision);
+}
+
+/**
+ * Number format filter.
+ *
+ * All of the formatting options can be left null, in that case the defaults will
+ * be used.  Supplying any of the parameters will override the defaults set in the
+ * environment object.
+ *
+ * @param Twig_Environment $env          A Twig_Environment instance
+ * @param mixed            $number       A float/int/string of the number to format
+ * @param int              $decimal      The number of decimal points to display.
+ * @param string           $decimalPoint The character(s) to use for the decimal point.
+ * @param string           $thousandSep  The character(s) to use for the thousands separator.
+ *
+ * @return string The formatted number
+ */
+function twig_number_format_filter(Twig_Environment $env, $number, $decimal = null, $decimalPoint = null, $thousandSep = null)
+{
+    $defaults = $env->getExtension('core')->getNumberFormat();
+    if (null === $decimal) {
+        $decimal = $defaults[0];
+    }
+
+    if (null === $decimalPoint) {
+        $decimalPoint = $defaults[1];
+    }
+
+    if (null === $thousandSep) {
+        $thousandSep = $defaults[2];
+    }
+
+    return number_format((float) $number, $decimal, $decimalPoint, $thousandSep);
+}
+
+/**
+ * URL encodes (RFC 3986) a string as a path segment or an array as a query string.
+ *
+ * @param string|array $url A URL or an array of query parameters
+ *
+ * @return string The URL encoded value
+ */
+function twig_urlencode_filter($url)
+{
+    if (is_array($url)) {
+        if (defined('PHP_QUERY_RFC3986')) {
+            return http_build_query($url, '', '&', PHP_QUERY_RFC3986);
+        }
+
+        return http_build_query($url, '', '&');
+    }
+
+    return rawurlencode($url);
+}
+
+if (PHP_VERSION_ID < 50300) {
+    /**
+     * JSON encodes a variable.
+     *
+     * @param mixed $value   The value to encode.
+     * @param int   $options Not used on PHP 5.2.x
+     *
+     * @return mixed The JSON encoded value
+     */
+    function twig_jsonencode_filter($value, $options = 0)
+    {
+        if ($value instanceof Twig_Markup) {
+            $value = (string) $value;
+        } elseif (is_array($value)) {
+            array_walk_recursive($value, '_twig_markup2string');
+        }
+
+        return json_encode($value);
+    }
+} else {
+    /**
+     * JSON encodes a variable.
+     *
+     * @param mixed $value   The value to encode.
+     * @param int   $options Bitmask consisting of JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT
+     *
+     * @return mixed The JSON encoded value
+     */
+    function twig_jsonencode_filter($value, $options = 0)
+    {
+        if ($value instanceof Twig_Markup) {
+            $value = (string) $value;
+        } elseif (is_array($value)) {
+            array_walk_recursive($value, '_twig_markup2string');
+        }
+
+        return json_encode($value, $options);
+    }
+}
+
+function _twig_markup2string(&$value)
+{
+    if ($value instanceof Twig_Markup) {
+        $value = (string) $value;
+    }
+}
+
+/**
+ * Merges an array with another one.
+ *
+ * <pre>
+ *  {% set items = { 'apple': 'fruit', 'orange': 'fruit' } %}
+ *
+ *  {% set items = items|merge({ 'peugeot': 'car' }) %}
+ *
+ *  {# items now contains { 'apple': 'fruit', 'orange': 'fruit', 'peugeot': 'car' } #}
+ * </pre>
+ *
+ * @param array|Traversable $arr1 An array
+ * @param array|Traversable $arr2 An array
+ *
+ * @return array The merged array
+ */
+function twig_array_merge($arr1, $arr2)
+{
+    if ($arr1 instanceof Traversable) {
+        $arr1 = iterator_to_array($arr1);
+    } elseif (!is_array($arr1)) {
+        throw new Twig_Error_Runtime(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)) {
+        throw new Twig_Error_Runtime(sprintf('The merge filter only works with arrays or "Traversable", got "%s" as second argument.', gettype($arr2)));
+    }
+
+    return array_merge($arr1, $arr2);
+}
+
+/**
+ * Slices a variable.
+ *
+ * @param Twig_Environment $env          A Twig_Environment instance
+ * @param mixed            $item         A variable
+ * @param int              $start        Start of the slice
+ * @param int              $length       Size of the slice
+ * @param bool             $preserveKeys Whether to preserve key or not (when the input is an array)
+ *
+ * @return mixed The sliced variable
+ */
+function twig_slice(Twig_Environment $env, $item, $start, $length = null, $preserveKeys = false)
+{
+    if ($item instanceof Traversable) {
+        if ($item instanceof IteratorAggregate) {
+            $item = $item->getIterator();
+        }
+
+        if ($start >= 0 && $length >= 0 && $item instanceof Iterator) {
+            try {
+                return iterator_to_array(new LimitIterator($item, $start, $length === null ? -1 : $length), $preserveKeys);
+            } catch (OutOfBoundsException $exception) {
+                return array();
+            }
+        }
+
+        $item = iterator_to_array($item, $preserveKeys);
+    }
+
+    if (is_array($item)) {
+        return array_slice($item, $start, $length, $preserveKeys);
+    }
+
+    $item = (string) $item;
+
+    if (function_exists('mb_get_info') && null !== $charset = $env->getCharset()) {
+        return (string) mb_substr($item, $start, null === $length ? mb_strlen($item, $charset) - $start : $length, $charset);
+    }
+
+    return (string) (null === $length ? substr($item, $start) : substr($item, $start, $length));
+}
+
+/**
+ * Returns the first element of the item.
+ *
+ * @param Twig_Environment $env  A Twig_Environment instance
+ * @param mixed            $item A variable
+ *
+ * @return mixed The first element of the item
+ */
+function twig_first(Twig_Environment $env, $item)
+{
+    $elements = twig_slice($env, $item, 0, 1, false);
+
+    return is_string($elements) ? $elements : current($elements);
+}
+
+/**
+ * Returns the last element of the item.
+ *
+ * @param Twig_Environment $env  A Twig_Environment instance
+ * @param mixed            $item A variable
+ *
+ * @return mixed The last element of the item
+ */
+function twig_last(Twig_Environment $env, $item)
+{
+    $elements = twig_slice($env, $item, -1, 1, false);
+
+    return is_string($elements) ? $elements : current($elements);
+}
+
+/**
+ * Joins the values to a string.
+ *
+ * The separator between elements is an empty string per default, you can define it with the optional parameter.
+ *
+ * <pre>
+ *  {{ [1, 2, 3]|join('|') }}
+ *  {# returns 1|2|3 #}
+ *
+ *  {{ [1, 2, 3]|join }}
+ *  {# returns 123 #}
+ * </pre>
+ *
+ * @param array  $value An array
+ * @param string $glue  The separator
+ *
+ * @return string The concatenated string
+ */
+function twig_join_filter($value, $glue = '')
+{
+    if ($value instanceof Traversable) {
+        $value = iterator_to_array($value, false);
+    }
+
+    return implode($glue, (array) $value);
+}
+
+/**
+ * Splits the string into an array.
+ *
+ * <pre>
+ *  {{ "one,two,three"|split(',') }}
+ *  {# returns [one, two, three] #}
+ *
+ *  {{ "one,two,three,four,five"|split(',', 3) }}
+ *  {# returns [one, two, "three,four,five"] #}
+ *
+ *  {{ "123"|split('') }}
+ *  {# returns [1, 2, 3] #}
+ *
+ *  {{ "aabbcc"|split('', 2) }}
+ *  {# returns [aa, bb, cc] #}
+ * </pre>
+ *
+ * @param string $value     A string
+ * @param string $delimiter The delimiter
+ * @param int    $limit     The limit
+ *
+ * @return array The split string as an array
+ */
+function twig_split_filter(Twig_Environment $env, $value, $delimiter, $limit = null)
+{
+    if (!empty($delimiter)) {
+        return null === $limit ? explode($delimiter, $value) : explode($delimiter, $value, $limit);
+    }
+
+    if (!function_exists('mb_get_info') || null === $charset = $env->getCharset()) {
+        return str_split($value, null === $limit ? 1 : $limit);
+    }
+
+    if ($limit <= 1) {
+        return preg_split('/(?<!^)(?!$)/u', $value);
+    }
+
+    $length = mb_strlen($value, $charset);
+    if ($length < $limit) {
+        return array($value);
+    }
+
+    $r = array();
+    for ($i = 0; $i < $length; $i += $limit) {
+        $r[] = mb_substr($value, $i, $limit, $charset);
+    }
+
+    return $r;
+}
+
+// The '_default' filter is used internally to avoid using the ternary operator
+// which costs a lot for big contexts (before PHP 5.4). So, on average,
+// a function call is cheaper.
+/**
+ * @internal
+ */
+function _twig_default_filter($value, $default = '')
+{
+    if (twig_test_empty($value)) {
+        return $default;
+    }
+
+    return $value;
+}
+
+/**
+ * Returns the keys for the given array.
+ *
+ * It is useful when you want to iterate over the keys of an array:
+ *
+ * <pre>
+ *  {% for key in array|keys %}
+ *      {# ... #}
+ *  {% endfor %}
+ * </pre>
+ *
+ * @param array $array An array
+ *
+ * @return array The keys
+ */
+function twig_get_array_keys_filter($array)
+{
+    if ($array instanceof Traversable) {
+        return array_keys(iterator_to_array($array));
+    }
+
+    if (!is_array($array)) {
+        return array();
+    }
+
+    return array_keys($array);
+}
+
+/**
+ * Reverses a variable.
+ *
+ * @param Twig_Environment         $env          A Twig_Environment instance
+ * @param array|Traversable|string $item         An array, a Traversable instance, or a string
+ * @param bool                     $preserveKeys Whether to preserve key or not
+ *
+ * @return mixed The reversed input
+ */
+function twig_reverse_filter(Twig_Environment $env, $item, $preserveKeys = false)
+{
+    if ($item instanceof Traversable) {
+        return array_reverse(iterator_to_array($item), $preserveKeys);
+    }
+
+    if (is_array($item)) {
+        return array_reverse($item, $preserveKeys);
+    }
+
+    if (null !== $charset = $env->getCharset()) {
+        $string = (string) $item;
+
+        if ('UTF-8' != $charset) {
+            $item = twig_convert_encoding($string, 'UTF-8', $charset);
+        }
+
+        preg_match_all('/./us', $item, $matches);
+
+        $string = implode('', array_reverse($matches[0]));
+
+        if ('UTF-8' != $charset) {
+            $string = twig_convert_encoding($string, $charset, 'UTF-8');
+        }
+
+        return $string;
+    }
+
+    return strrev((string) $item);
+}
+
+/**
+ * Sorts an array.
+ *
+ * @param array|Traversable $array
+ *
+ * @return array
+ */
+function twig_sort_filter($array)
+{
+    if ($array instanceof Traversable) {
+        $array = iterator_to_array($array);
+    } elseif (!is_array($array)) {
+        throw new Twig_Error_Runtime(sprintf('The sort filter only works with arrays or "Traversable", got "%s".', gettype($array)));
+    }
+
+    asort($array);
+
+    return $array;
+}
+
+/**
+ * @internal
+ */
+function twig_in_filter($value, $compare)
+{
+    if (is_array($compare)) {
+        return in_array($value, $compare, is_object($value) || is_resource($value));
+    } elseif (is_string($compare) && (is_string($value) || is_int($value) || is_float($value))) {
+        return '' === $value || false !== strpos($compare, (string) $value);
+    } elseif ($compare instanceof Traversable) {
+        return in_array($value, iterator_to_array($compare, false), is_object($value) || is_resource($value));
+    }
+
+    return false;
+}
+
+/**
+ * Escapes a string.
+ *
+ * @param Twig_Environment $env        A Twig_Environment instance
+ * @param string           $string     The value to be escaped
+ * @param string           $strategy   The escaping strategy
+ * @param string           $charset    The charset
+ * @param bool             $autoescape Whether the function is called by the auto-escaping feature (true) or by the developer (false)
+ *
+ * @return string
+ */
+function twig_escape_filter(Twig_Environment $env, $string, $strategy = 'html', $charset = null, $autoescape = false)
+{
+    if ($autoescape && $string instanceof Twig_Markup) {
+        return $string;
+    }
+
+    if (!is_string($string)) {
+        if (is_object($string) && method_exists($string, '__toString')) {
+            $string = (string) $string;
+        } else {
+            return $string;
+        }
+    }
+
+    if (null === $charset) {
+        $charset = $env->getCharset();
+    }
+
+    switch ($strategy) {
+        case 'html':
+            // see http://php.net/htmlspecialchars
+
+            // Using a static variable to avoid initializing the array
+            // each time the function is called. Moving the declaration on the
+            // top of the function slow downs other escaping strategies.
+            static $htmlspecialcharsCharsets;
+
+            if (null === $htmlspecialcharsCharsets) {
+                if (defined('HHVM_VERSION')) {
+                    $htmlspecialcharsCharsets = array('utf-8' => true, 'UTF-8' => true);
+                } else {
+                    $htmlspecialcharsCharsets = array(
+                        'ISO-8859-1' => true, 'ISO8859-1' => true,
+                        'ISO-8859-15' => true, 'ISO8859-15' => true,
+                        'utf-8' => true, 'UTF-8' => true,
+                        'CP866' => true, 'IBM866' => true, '866' => true,
+                        'CP1251' => true, 'WINDOWS-1251' => true, 'WIN-1251' => true,
+                        '1251' => true,
+                        'CP1252' => true, 'WINDOWS-1252' => true, '1252' => true,
+                        'KOI8-R' => true, 'KOI8-RU' => true, 'KOI8R' => true,
+                        'BIG5' => true, '950' => true,
+                        'GB2312' => true, '936' => true,
+                        'BIG5-HKSCS' => true,
+                        'SHIFT_JIS' => true, 'SJIS' => true, '932' => true,
+                        'EUC-JP' => true, 'EUCJP' => true,
+                        'ISO8859-5' => true, 'ISO-8859-5' => true, 'MACROMAN' => true,
+                    );
+                }
+            }
+
+            if (isset($htmlspecialcharsCharsets[$charset])) {
+                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
+            }
+
+            if (isset($htmlspecialcharsCharsets[strtoupper($charset)])) {
+                // cache the lowercase variant for future iterations
+                $htmlspecialcharsCharsets[$charset] = true;
+
+                return htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, $charset);
+            }
+
+            $string = twig_convert_encoding($string, 'UTF-8', $charset);
+            $string = htmlspecialchars($string, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
+
+            return twig_convert_encoding($string, $charset, 'UTF-8');
+
+        case 'js':
+            // escape all non-alphanumeric characters
+            // into their \xHH or \uHHHH representations
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, 'UTF-8', $charset);
+            }
+
+            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
+                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
+            }
+
+            $string = preg_replace_callback('#[^a-zA-Z0-9,\._]#Su', '_twig_escape_js_callback', $string);
+
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, $charset, 'UTF-8');
+            }
+
+            return $string;
+
+        case 'css':
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, 'UTF-8', $charset);
+            }
+
+            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
+                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
+            }
+
+            $string = preg_replace_callback('#[^a-zA-Z0-9]#Su', '_twig_escape_css_callback', $string);
+
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, $charset, 'UTF-8');
+            }
+
+            return $string;
+
+        case 'html_attr':
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, 'UTF-8', $charset);
+            }
+
+            if (0 == strlen($string) ? false : (1 == preg_match('/^./su', $string) ? false : true)) {
+                throw new Twig_Error_Runtime('The string to escape is not a valid UTF-8 string.');
+            }
+
+            $string = preg_replace_callback('#[^a-zA-Z0-9,\.\-_]#Su', '_twig_escape_html_attr_callback', $string);
+
+            if ('UTF-8' != $charset) {
+                $string = twig_convert_encoding($string, $charset, 'UTF-8');
+            }
+
+            return $string;
+
+        case 'url':
+            if (PHP_VERSION_ID < 50300) {
+                return str_replace('%7E', '~', rawurlencode($string));
+            }
+
+            return rawurlencode($string);
+
+        default:
+            static $escapers;
+
+            if (null === $escapers) {
+                $escapers = $env->getExtension('core')->getEscapers();
+            }
+
+            if (isset($escapers[$strategy])) {
+                return call_user_func($escapers[$strategy], $env, $string, $charset);
+            }
+
+            $validStrategies = implode(', ', array_merge(array('html', 'js', 'url', 'css', 'html_attr'), array_keys($escapers)));
+
+            throw new Twig_Error_Runtime(sprintf('Invalid escaping strategy "%s" (valid ones: %s).', $strategy, $validStrategies));
+    }
+}
+
+/**
+ * @internal
+ */
+function twig_escape_filter_is_safe(Twig_Node $filterArgs)
+{
+    foreach ($filterArgs as $arg) {
+        if ($arg instanceof Twig_Node_Expression_Constant) {
+            return array($arg->getAttribute('value'));
+        }
+
+        return array();
+    }
+
+    return array('html');
+}
+
+if (function_exists('mb_convert_encoding')) {
+    function twig_convert_encoding($string, $to, $from)
+    {
+        return mb_convert_encoding($string, $to, $from);
+    }
+} elseif (function_exists('iconv')) {
+    function twig_convert_encoding($string, $to, $from)
+    {
+        return iconv($from, $to, $string);
+    }
+} else {
+    function twig_convert_encoding($string, $to, $from)
+    {
+        throw new Twig_Error_Runtime('No suitable convert encoding function (use UTF-8 as your encoding or install the iconv or mbstring extension).');
+    }
+}
+
+function _twig_escape_js_callback($matches)
+{
+    $char = $matches[0];
+
+    // \xHH
+    if (!isset($char[1])) {
+        return '\\x'.strtoupper(substr('00'.bin2hex($char), -2));
+    }
+
+    // \uHHHH
+    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
+
+    return '\\u'.strtoupper(substr('0000'.bin2hex($char), -4));
+}
+
+function _twig_escape_css_callback($matches)
+{
+    $char = $matches[0];
+
+    // \xHH
+    if (!isset($char[1])) {
+        $hex = ltrim(strtoupper(bin2hex($char)), '0');
+        if (0 === strlen($hex)) {
+            $hex = '0';
+        }
+
+        return '\\'.$hex.' ';
+    }
+
+    // \uHHHH
+    $char = twig_convert_encoding($char, 'UTF-16BE', 'UTF-8');
+
+    return '\\'.ltrim(strtoupper(bin2hex($char)), '0').' ';
+}
+
+/**
+ * This function is adapted from code coming from Zend Framework.
+ *
+ * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+function _twig_escape_html_attr_callback($matches)
+{
+    /*
+     * While HTML supports far more named entities, the lowest common denominator
+     * has become HTML5's XML Serialisation which is restricted to the those named
+     * entities that XML supports. Using HTML entities would result in this error:
+     *     XML Parsing Error: undefined entity
+     */
+    static $entityMap = array(
+        34 => 'quot', /* quotation mark */
+        38 => 'amp',  /* ampersand */
+        60 => 'lt',   /* less-than sign */
+        62 => 'gt',   /* greater-than sign */
+    );
+
+    $chr = $matches[0];
+    $ord = ord($chr);
+
+    /*
+     * The following replaces characters undefined in HTML with the
+     * hex entity for the Unicode replacement character.
+     */
+    if (($ord <= 0x1f && $chr != "\t" && $chr != "\n" && $chr != "\r") || ($ord >= 0x7f && $ord <= 0x9f)) {
+        return '&#xFFFD;';
+    }
+
+    /*
+     * Check if the current character to escape has a name entity we should
+     * replace it with while grabbing the hex value of the character.
+     */
+    if (strlen($chr) == 1) {
+        $hex = strtoupper(substr('00'.bin2hex($chr), -2));
+    } else {
+        $chr = twig_convert_encoding($chr, 'UTF-16BE', 'UTF-8');
+        $hex = strtoupper(substr('0000'.bin2hex($chr), -4));
+    }
+
+    $int = hexdec($hex);
+    if (array_key_exists($int, $entityMap)) {
+        return sprintf('&%s;', $entityMap[$int]);
+    }
+
+    /*
+     * Per OWASP recommendations, we'll use hex entities for any other
+     * characters where a named entity does not exist.
+     */
+    return sprintf('&#x%s;', $hex);
+}
+
+// add multibyte extensions if possible
+if (function_exists('mb_get_info')) {
+    /**
+     * Returns the length of a variable.
+     *
+     * @param Twig_Environment $env   A Twig_Environment instance
+     * @param mixed            $thing A variable
+     *
+     * @return int The length of the value
+     */
+    function twig_length_filter(Twig_Environment $env, $thing)
+    {
+        return is_scalar($thing) ? mb_strlen($thing, $env->getCharset()) : count($thing);
+    }
+
+    /**
+     * Converts a string to uppercase.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The uppercased string
+     */
+    function twig_upper_filter(Twig_Environment $env, $string)
+    {
+        if (null !== ($charset = $env->getCharset())) {
+            return mb_strtoupper($string, $charset);
+        }
+
+        return strtoupper($string);
+    }
+
+    /**
+     * Converts a string to lowercase.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The lowercased string
+     */
+    function twig_lower_filter(Twig_Environment $env, $string)
+    {
+        if (null !== ($charset = $env->getCharset())) {
+            return mb_strtolower($string, $charset);
+        }
+
+        return strtolower($string);
+    }
+
+    /**
+     * Returns a titlecased string.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The titlecased string
+     */
+    function twig_title_string_filter(Twig_Environment $env, $string)
+    {
+        if (null !== ($charset = $env->getCharset())) {
+            return mb_convert_case($string, MB_CASE_TITLE, $charset);
+        }
+
+        return ucwords(strtolower($string));
+    }
+
+    /**
+     * Returns a capitalized string.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The capitalized string
+     */
+    function twig_capitalize_string_filter(Twig_Environment $env, $string)
+    {
+        if (null !== $charset = $env->getCharset()) {
+            return mb_strtoupper(mb_substr($string, 0, 1, $charset), $charset).mb_strtolower(mb_substr($string, 1, mb_strlen($string, $charset), $charset), $charset);
+        }
+
+        return ucfirst(strtolower($string));
+    }
+}
+// and byte fallback
+else {
+    /**
+     * Returns the length of a variable.
+     *
+     * @param Twig_Environment $env   A Twig_Environment instance
+     * @param mixed            $thing A variable
+     *
+     * @return int The length of the value
+     */
+    function twig_length_filter(Twig_Environment $env, $thing)
+    {
+        return is_scalar($thing) ? strlen($thing) : count($thing);
+    }
+
+    /**
+     * Returns a titlecased string.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The titlecased string
+     */
+    function twig_title_string_filter(Twig_Environment $env, $string)
+    {
+        return ucwords(strtolower($string));
+    }
+
+    /**
+     * Returns a capitalized string.
+     *
+     * @param Twig_Environment $env    A Twig_Environment instance
+     * @param string           $string A string
+     *
+     * @return string The capitalized string
+     */
+    function twig_capitalize_string_filter(Twig_Environment $env, $string)
+    {
+        return ucfirst(strtolower($string));
+    }
+}
+
+/**
+ * @internal
+ */
+function twig_ensure_traversable($seq)
+{
+    if ($seq instanceof Traversable || is_array($seq)) {
+        return $seq;
+    }
+
+    return array();
+}
+
+/**
+ * Checks if a variable is empty.
+ *
+ * <pre>
+ * {# evaluates to true if the foo variable is null, false, or the empty string #}
+ * {% if foo is empty %}
+ *     {# ... #}
+ * {% endif %}
+ * </pre>
+ *
+ * @param mixed $value A variable
+ *
+ * @return bool true if the value is empty, false otherwise
+ */
+function twig_test_empty($value)
+{
+    if ($value instanceof Countable) {
+        return 0 == count($value);
+    }
+
+    return '' === $value || false === $value || null === $value || array() === $value;
+}
+
+/**
+ * Checks if a variable is traversable.
+ *
+ * <pre>
+ * {# evaluates to true if the foo variable is an array or a traversable object #}
+ * {% if foo is traversable %}
+ *     {# ... #}
+ * {% endif %}
+ * </pre>
+ *
+ * @param mixed $value A variable
+ *
+ * @return bool true if the value is traversable
+ */
+function twig_test_iterable($value)
+{
+    return $value instanceof Traversable || is_array($value);
+}
+
+/**
+ * Renders a template.
+ *
+ * @param Twig_Environment $env
+ * @param array            $context
+ * @param string|array     $template      The template to render or an array of templates to try consecutively
+ * @param array            $variables     The variables to pass to the template
+ * @param bool             $withContext
+ * @param bool             $ignoreMissing Whether to ignore missing templates or not
+ * @param bool             $sandboxed     Whether to sandbox the template or not
+ *
+ * @return string The rendered template
+ */
+function twig_include(Twig_Environment $env, $context, $template, $variables = array(), $withContext = true, $ignoreMissing = false, $sandboxed = false)
+{
+    $alreadySandboxed = false;
+    $sandbox = null;
+    if ($withContext) {
+        $variables = array_merge($context, $variables);
+    }
+
+    if ($isSandboxed = $sandboxed && $env->hasExtension('sandbox')) {
+        $sandbox = $env->getExtension('sandbox');
+        if (!$alreadySandboxed = $sandbox->isSandboxed()) {
+            $sandbox->enableSandbox();
+        }
+    }
+
+    $result = null;
+    try {
+        $result = $env->resolveTemplate($template)->render($variables);
+    } catch (Twig_Error_Loader $e) {
+        if (!$ignoreMissing) {
+            if ($isSandboxed && !$alreadySandboxed) {
+                $sandbox->disableSandbox();
+            }
+
+            throw $e;
+        }
+    }
+
+    if ($isSandboxed && !$alreadySandboxed) {
+        $sandbox->disableSandbox();
+    }
+
+    return $result;
+}
+
+/**
+ * Returns a template content without rendering it.
+ *
+ * @param string $name          The template name
+ * @param bool   $ignoreMissing Whether to ignore missing templates or not
+ *
+ * @return string The template source
+ */
+function twig_source(Twig_Environment $env, $name, $ignoreMissing = false)
+{
+    try {
+        return $env->getLoader()->getSource($name);
+    } catch (Twig_Error_Loader $e) {
+        if (!$ignoreMissing) {
+            throw $e;
+        }
+    }
+}
+
+/**
+ * Provides the ability to get constants from instances as well as class/global constants.
+ *
+ * @param string      $constant The name of the constant
+ * @param null|object $object   The object to get the constant from
+ *
+ * @return string
+ */
+function twig_constant($constant, $object = null)
+{
+    if (null !== $object) {
+        $constant = get_class($object).'::'.$constant;
+    }
+
+    return constant($constant);
+}
+
+/**
+ * Batches item.
+ *
+ * @param array $items An array of items
+ * @param int   $size  The size of the batch
+ * @param mixed $fill  A value used to fill missing items
+ *
+ * @return array
+ */
+function twig_array_batch($items, $size, $fill = null)
+{
+    if ($items instanceof Traversable) {
+        $items = iterator_to_array($items, false);
+    }
+
+    $size = ceil($size);
+
+    $result = array_chunk($items, $size, true);
+
+    if (null !== $fill && !empty($result)) {
+        $last = count($result) - 1;
+        if ($fillCount = $size - count($result[$last])) {
+            $result[$last] = array_merge(
+                $result[$last],
+                array_fill(0, $fillCount, $fill)
+            );
+        }
+    }
+
+    return $result;
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Debug.php b/vendor/twig/twig/lib/Twig/Extension/Debug.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/Debug.php
rename to vendor/twig/twig/lib/Twig/Extension/Debug.php
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Escaper.php b/vendor/twig/twig/lib/Twig/Extension/Escaper.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/Escaper.php
rename to vendor/twig/twig/lib/Twig/Extension/Escaper.php
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Optimizer.php b/vendor/twig/twig/lib/Twig/Extension/Optimizer.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/Optimizer.php
rename to vendor/twig/twig/lib/Twig/Extension/Optimizer.php
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Profiler.php b/vendor/twig/twig/lib/Twig/Extension/Profiler.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/Profiler.php
rename to vendor/twig/twig/lib/Twig/Extension/Profiler.php
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/Sandbox.php b/vendor/twig/twig/lib/Twig/Extension/Sandbox.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/Sandbox.php
rename to vendor/twig/twig/lib/Twig/Extension/Sandbox.php
diff --git a/vendor/twig/twig/lib/Twig/Extension/Staging.php b/vendor/twig/twig/lib/Twig/Extension/Staging.php
new file mode 100644
index 0000000..583e6a9
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Extension/Staging.php
@@ -0,0 +1,115 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2012 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Internal class.
+ *
+ * This class is used by Twig_Environment as a staging area and must not be used directly.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ *
+ * @internal
+ */
+class Twig_Extension_Staging extends Twig_Extension
+{
+    protected $functions = array();
+    protected $filters = array();
+    protected $visitors = array();
+    protected $tokenParsers = array();
+    protected $globals = array();
+    protected $tests = array();
+
+    public function addFunction($name, $function)
+    {
+        $this->functions[$name] = $function;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFunctions()
+    {
+        return $this->functions;
+    }
+
+    public function addFilter($name, $filter)
+    {
+        $this->filters[$name] = $filter;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getFilters()
+    {
+        return $this->filters;
+    }
+
+    public function addNodeVisitor(Twig_NodeVisitorInterface $visitor)
+    {
+        $this->visitors[] = $visitor;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getNodeVisitors()
+    {
+        return $this->visitors;
+    }
+
+    public function addTokenParser(Twig_TokenParserInterface $parser)
+    {
+        $this->tokenParsers[] = $parser;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTokenParsers()
+    {
+        return $this->tokenParsers;
+    }
+
+    public function addGlobal($name, $value)
+    {
+        $this->globals[$name] = $value;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getGlobals()
+    {
+        return $this->globals;
+    }
+
+    public function addTest($name, $test)
+    {
+        $this->tests[$name] = $test;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getTests()
+    {
+        return $this->tests;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getName()
+    {
+        return 'staging';
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php b/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Extension/StringLoader.php
rename to vendor/twig/twig/lib/Twig/Extension/StringLoader.php
diff --git a/core/vendor/twig/twig/lib/Twig/ExtensionInterface.php b/vendor/twig/twig/lib/Twig/ExtensionInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/ExtensionInterface.php
rename to vendor/twig/twig/lib/Twig/ExtensionInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php b/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php
rename to vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php
diff --git a/core/vendor/twig/twig/lib/Twig/Filter.php b/vendor/twig/twig/lib/Twig/Filter.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Filter.php
rename to vendor/twig/twig/lib/Twig/Filter.php
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Function.php b/vendor/twig/twig/lib/Twig/Filter/Function.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Filter/Function.php
rename to vendor/twig/twig/lib/Twig/Filter/Function.php
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Method.php b/vendor/twig/twig/lib/Twig/Filter/Method.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Filter/Method.php
rename to vendor/twig/twig/lib/Twig/Filter/Method.php
diff --git a/core/vendor/twig/twig/lib/Twig/Filter/Node.php b/vendor/twig/twig/lib/Twig/Filter/Node.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Filter/Node.php
rename to vendor/twig/twig/lib/Twig/Filter/Node.php
diff --git a/core/vendor/twig/twig/lib/Twig/FilterCallableInterface.php b/vendor/twig/twig/lib/Twig/FilterCallableInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/FilterCallableInterface.php
rename to vendor/twig/twig/lib/Twig/FilterCallableInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/FilterInterface.php b/vendor/twig/twig/lib/Twig/FilterInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/FilterInterface.php
rename to vendor/twig/twig/lib/Twig/FilterInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Function.php b/vendor/twig/twig/lib/Twig/Function.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Function.php
rename to vendor/twig/twig/lib/Twig/Function.php
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Function.php b/vendor/twig/twig/lib/Twig/Function/Function.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Function/Function.php
rename to vendor/twig/twig/lib/Twig/Function/Function.php
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Method.php b/vendor/twig/twig/lib/Twig/Function/Method.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Function/Method.php
rename to vendor/twig/twig/lib/Twig/Function/Method.php
diff --git a/core/vendor/twig/twig/lib/Twig/Function/Node.php b/vendor/twig/twig/lib/Twig/Function/Node.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Function/Node.php
rename to vendor/twig/twig/lib/Twig/Function/Node.php
diff --git a/core/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php b/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php
rename to vendor/twig/twig/lib/Twig/FunctionCallableInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/FunctionInterface.php b/vendor/twig/twig/lib/Twig/FunctionInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/FunctionInterface.php
rename to vendor/twig/twig/lib/Twig/FunctionInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Lexer.php b/vendor/twig/twig/lib/Twig/Lexer.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Lexer.php
rename to vendor/twig/twig/lib/Twig/Lexer.php
diff --git a/core/vendor/twig/twig/lib/Twig/LexerInterface.php b/vendor/twig/twig/lib/Twig/LexerInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/LexerInterface.php
rename to vendor/twig/twig/lib/Twig/LexerInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Loader/Array.php b/vendor/twig/twig/lib/Twig/Loader/Array.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Loader/Array.php
rename to vendor/twig/twig/lib/Twig/Loader/Array.php
diff --git a/core/vendor/twig/twig/lib/Twig/Loader/Chain.php b/vendor/twig/twig/lib/Twig/Loader/Chain.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Loader/Chain.php
rename to vendor/twig/twig/lib/Twig/Loader/Chain.php
diff --git a/core/vendor/twig/twig/lib/Twig/Loader/Filesystem.php b/vendor/twig/twig/lib/Twig/Loader/Filesystem.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Loader/Filesystem.php
rename to vendor/twig/twig/lib/Twig/Loader/Filesystem.php
diff --git a/vendor/twig/twig/lib/Twig/Loader/String.php b/vendor/twig/twig/lib/Twig/Loader/String.php
new file mode 100644
index 0000000..00f507a
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Loader/String.php
@@ -0,0 +1,63 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009 Fabien Potencier
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+@trigger_error('The Twig_Loader_String class is deprecated since version 1.18.1 and will be removed in 2.0. Use Twig_Loader_Array instead or Twig_Environment::createTemplate().', E_USER_DEPRECATED);
+
+/**
+ * Loads a template from a string.
+ *
+ * This loader should NEVER be used. It only exists for Twig internal purposes.
+ *
+ * When using this loader with a cache mechanism, you should know that a new cache
+ * key is generated each time a template content "changes" (the cache key being the
+ * source code of the template). If you don't want to see your cache grows out of
+ * control, you need to take care of clearing the old cache file by yourself.
+ *
+ * @deprecated since 1.18.1 (to be removed in 2.0)
+ *
+ * @internal
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+class Twig_Loader_String implements Twig_LoaderInterface, Twig_ExistsLoaderInterface
+{
+    /**
+     * {@inheritdoc}
+     */
+    public function getSource($name)
+    {
+        return $name;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function exists($name)
+    {
+        return true;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function getCacheKey($name)
+    {
+        return $name;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function isFresh($name, $time)
+    {
+        return true;
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/LoaderInterface.php b/vendor/twig/twig/lib/Twig/LoaderInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/LoaderInterface.php
rename to vendor/twig/twig/lib/Twig/LoaderInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Markup.php b/vendor/twig/twig/lib/Twig/Markup.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Markup.php
rename to vendor/twig/twig/lib/Twig/Markup.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node.php b/vendor/twig/twig/lib/Twig/Node.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node.php
rename to vendor/twig/twig/lib/Twig/Node.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/AutoEscape.php b/vendor/twig/twig/lib/Twig/Node/AutoEscape.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/AutoEscape.php
rename to vendor/twig/twig/lib/Twig/Node/AutoEscape.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Block.php b/vendor/twig/twig/lib/Twig/Node/Block.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Block.php
rename to vendor/twig/twig/lib/Twig/Node/Block.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/BlockReference.php b/vendor/twig/twig/lib/Twig/Node/BlockReference.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/BlockReference.php
rename to vendor/twig/twig/lib/Twig/Node/BlockReference.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Body.php b/vendor/twig/twig/lib/Twig/Node/Body.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Body.php
rename to vendor/twig/twig/lib/Twig/Node/Body.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php b/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php
rename to vendor/twig/twig/lib/Twig/Node/CheckSecurity.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Do.php b/vendor/twig/twig/lib/Twig/Node/Do.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Do.php
rename to vendor/twig/twig/lib/Twig/Node/Do.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Embed.php b/vendor/twig/twig/lib/Twig/Node/Embed.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Embed.php
rename to vendor/twig/twig/lib/Twig/Node/Embed.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression.php b/vendor/twig/twig/lib/Twig/Node/Expression.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression.php
rename to vendor/twig/twig/lib/Twig/Node/Expression.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Array.php b/vendor/twig/twig/lib/Twig/Node/Expression/Array.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Array.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Array.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php b/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php b/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php b/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Call.php b/vendor/twig/twig/lib/Twig/Node/Expression/Call.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Call.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Call.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php b/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php b/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Constant.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php b/vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php b/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php b/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php b/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Function.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Function.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php b/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php b/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Name.php b/vendor/twig/twig/lib/Twig/Node/Expression/Name.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Name.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Name.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php b/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Parent.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php b/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/TempName.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php b/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php b/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Unary.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php b/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php b/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php b/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php
rename to vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Flush.php b/vendor/twig/twig/lib/Twig/Node/Flush.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Flush.php
rename to vendor/twig/twig/lib/Twig/Node/Flush.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/For.php b/vendor/twig/twig/lib/Twig/Node/For.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/For.php
rename to vendor/twig/twig/lib/Twig/Node/For.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/ForLoop.php b/vendor/twig/twig/lib/Twig/Node/ForLoop.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/ForLoop.php
rename to vendor/twig/twig/lib/Twig/Node/ForLoop.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/If.php b/vendor/twig/twig/lib/Twig/Node/If.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/If.php
rename to vendor/twig/twig/lib/Twig/Node/If.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Import.php b/vendor/twig/twig/lib/Twig/Node/Import.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Import.php
rename to vendor/twig/twig/lib/Twig/Node/Import.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Include.php b/vendor/twig/twig/lib/Twig/Node/Include.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Include.php
rename to vendor/twig/twig/lib/Twig/Node/Include.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Macro.php b/vendor/twig/twig/lib/Twig/Node/Macro.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Macro.php
rename to vendor/twig/twig/lib/Twig/Node/Macro.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Module.php b/vendor/twig/twig/lib/Twig/Node/Module.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Module.php
rename to vendor/twig/twig/lib/Twig/Node/Module.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Print.php b/vendor/twig/twig/lib/Twig/Node/Print.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Print.php
rename to vendor/twig/twig/lib/Twig/Node/Print.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Sandbox.php b/vendor/twig/twig/lib/Twig/Node/Sandbox.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Sandbox.php
rename to vendor/twig/twig/lib/Twig/Node/Sandbox.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php b/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php
rename to vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Set.php b/vendor/twig/twig/lib/Twig/Node/Set.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Set.php
rename to vendor/twig/twig/lib/Twig/Node/Set.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/SetTemp.php b/vendor/twig/twig/lib/Twig/Node/SetTemp.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/SetTemp.php
rename to vendor/twig/twig/lib/Twig/Node/SetTemp.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Spaceless.php b/vendor/twig/twig/lib/Twig/Node/Spaceless.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Spaceless.php
rename to vendor/twig/twig/lib/Twig/Node/Spaceless.php
diff --git a/core/vendor/twig/twig/lib/Twig/Node/Text.php b/vendor/twig/twig/lib/Twig/Node/Text.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Node/Text.php
rename to vendor/twig/twig/lib/Twig/Node/Text.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeInterface.php b/vendor/twig/twig/lib/Twig/NodeInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeInterface.php
rename to vendor/twig/twig/lib/Twig/NodeInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeOutputInterface.php b/vendor/twig/twig/lib/Twig/NodeOutputInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeOutputInterface.php
rename to vendor/twig/twig/lib/Twig/NodeOutputInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeTraverser.php b/vendor/twig/twig/lib/Twig/NodeTraverser.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeTraverser.php
rename to vendor/twig/twig/lib/Twig/NodeTraverser.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php b/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
rename to vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php b/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php
rename to vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php b/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php
rename to vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php b/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php
rename to vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php
diff --git a/core/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php b/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php
rename to vendor/twig/twig/lib/Twig/NodeVisitorInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Parser.php b/vendor/twig/twig/lib/Twig/Parser.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Parser.php
rename to vendor/twig/twig/lib/Twig/Parser.php
diff --git a/core/vendor/twig/twig/lib/Twig/ParserInterface.php b/vendor/twig/twig/lib/Twig/ParserInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/ParserInterface.php
rename to vendor/twig/twig/lib/Twig/ParserInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php b/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php
rename to vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php b/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php
rename to vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php b/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php
rename to vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php b/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php
rename to vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php b/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php
rename to vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php b/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php
rename to vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php
diff --git a/core/vendor/twig/twig/lib/Twig/Profiler/Profile.php b/vendor/twig/twig/lib/Twig/Profiler/Profile.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Profiler/Profile.php
rename to vendor/twig/twig/lib/Twig/Profiler/Profile.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php
diff --git a/core/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php b/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php
rename to vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleFilter.php b/vendor/twig/twig/lib/Twig/SimpleFilter.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/SimpleFilter.php
rename to vendor/twig/twig/lib/Twig/SimpleFilter.php
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleFunction.php b/vendor/twig/twig/lib/Twig/SimpleFunction.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/SimpleFunction.php
rename to vendor/twig/twig/lib/Twig/SimpleFunction.php
diff --git a/core/vendor/twig/twig/lib/Twig/SimpleTest.php b/vendor/twig/twig/lib/Twig/SimpleTest.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/SimpleTest.php
rename to vendor/twig/twig/lib/Twig/SimpleTest.php
diff --git a/vendor/twig/twig/lib/Twig/Template.php b/vendor/twig/twig/lib/Twig/Template.php
new file mode 100644
index 0000000..a816022
--- /dev/null
+++ b/vendor/twig/twig/lib/Twig/Template.php
@@ -0,0 +1,614 @@
+<?php
+
+/*
+ * This file is part of Twig.
+ *
+ * (c) 2009 Fabien Potencier
+ * (c) 2009 Armin Ronacher
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Default base class for compiled templates.
+ *
+ * @author Fabien Potencier <fabien@symfony.com>
+ */
+abstract class Twig_Template implements Twig_TemplateInterface
+{
+    protected static $cache = array();
+
+    protected $parent;
+    protected $parents = array();
+    protected $env;
+    protected $blocks = array();
+    protected $traits = array();
+
+    /**
+     * Constructor.
+     *
+     * @param Twig_Environment $env A Twig_Environment instance
+     */
+    public function __construct(Twig_Environment $env)
+    {
+        $this->env = $env;
+    }
+
+    /**
+     * Returns the template name.
+     *
+     * @return string The template name
+     */
+    abstract public function getTemplateName();
+
+    /**
+     * @deprecated since 1.20 (to be removed in 2.0)
+     */
+    public function getEnvironment()
+    {
+        @trigger_error('The '.__METHOD__.' method is deprecated since version 1.20 and will be removed in 2.0.', E_USER_DEPRECATED);
+
+        return $this->env;
+    }
+
+    /**
+     * Returns the parent template.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @param array $context
+     *
+     * @return Twig_TemplateInterface|false The parent template or false if there is no parent
+     *
+     * @internal
+     */
+    public function getParent(array $context)
+    {
+        if (null !== $this->parent) {
+            return $this->parent;
+        }
+
+        try {
+            $parent = $this->doGetParent($context);
+
+            if (false === $parent) {
+                return false;
+            }
+
+            if ($parent instanceof self) {
+                return $this->parents[$parent->getTemplateName()] = $parent;
+            }
+
+            if (!isset($this->parents[$parent])) {
+                $this->parents[$parent] = $this->loadTemplate($parent);
+            }
+        } catch (Twig_Error_Loader $e) {
+            $e->setTemplateFile(null);
+            $e->guess();
+
+            throw $e;
+        }
+
+        return $this->parents[$parent];
+    }
+
+    protected function doGetParent(array $context)
+    {
+        return false;
+    }
+
+    public function isTraitable()
+    {
+        return true;
+    }
+
+    /**
+     * Displays a parent block.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @param string $name    The block name to display from the parent
+     * @param array  $context The context
+     * @param array  $blocks  The current set of blocks
+     *
+     * @internal
+     */
+    public function displayParentBlock($name, array $context, array $blocks = array())
+    {
+        $name = (string) $name;
+
+        if (isset($this->traits[$name])) {
+            $this->traits[$name][0]->displayBlock($name, $context, $blocks, false);
+        } elseif (false !== $parent = $this->getParent($context)) {
+            $parent->displayBlock($name, $context, $blocks, false);
+        } else {
+            throw new Twig_Error_Runtime(sprintf('The template has no parent and no traits defining the "%s" block', $name), -1, $this->getTemplateName());
+        }
+    }
+
+    /**
+     * Displays a block.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @param string $name      The block name to display
+     * @param array  $context   The context
+     * @param array  $blocks    The current set of blocks
+     * @param bool   $useBlocks Whether to use the current set of blocks
+     *
+     * @internal
+     */
+    public function displayBlock($name, array $context, array $blocks = array(), $useBlocks = true)
+    {
+        $name = (string) $name;
+
+        if ($useBlocks && isset($blocks[$name])) {
+            $template = $blocks[$name][0];
+            $block = $blocks[$name][1];
+        } elseif (isset($this->blocks[$name])) {
+            $template = $this->blocks[$name][0];
+            $block = $this->blocks[$name][1];
+        } else {
+            $template = null;
+            $block = null;
+        }
+
+        if (null !== $template) {
+            // avoid RCEs when sandbox is enabled
+            if (!$template instanceof self) {
+                throw new LogicException('A block must be a method on a Twig_Template instance.');
+            }
+
+            try {
+                $template->$block($context, $blocks);
+            } catch (Twig_Error $e) {
+                if (!$e->getTemplateFile()) {
+                    $e->setTemplateFile($template->getTemplateName());
+                }
+
+                // this is mostly useful for Twig_Error_Loader exceptions
+                // see Twig_Error_Loader
+                if (false === $e->getTemplateLine()) {
+                    $e->setTemplateLine(-1);
+                    $e->guess();
+                }
+
+                throw $e;
+            } catch (Exception $e) {
+                throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getTemplateName(), $e);
+            }
+        } elseif (false !== $parent = $this->getParent($context)) {
+            $parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
+        }
+    }
+
+    /**
+     * Renders a parent block.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @param string $name    The block name to render from the parent
+     * @param array  $context The context
+     * @param array  $blocks  The current set of blocks
+     *
+     * @return string The rendered block
+     *
+     * @internal
+     */
+    public function renderParentBlock($name, array $context, array $blocks = array())
+    {
+        ob_start();
+        $this->displayParentBlock($name, $context, $blocks);
+
+        return ob_get_clean();
+    }
+
+    /**
+     * Renders a block.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @param string $name      The block name to render
+     * @param array  $context   The context
+     * @param array  $blocks    The current set of blocks
+     * @param bool   $useBlocks Whether to use the current set of blocks
+     *
+     * @return string The rendered block
+     *
+     * @internal
+     */
+    public function renderBlock($name, array $context, array $blocks = array(), $useBlocks = true)
+    {
+        ob_start();
+        $this->displayBlock($name, $context, $blocks, $useBlocks);
+
+        return ob_get_clean();
+    }
+
+    /**
+     * Returns whether a block exists or not.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * This method does only return blocks defined in the current template
+     * or defined in "used" traits.
+     *
+     * It does not return blocks from parent templates as the parent
+     * template name can be dynamic, which is only known based on the
+     * current context.
+     *
+     * @param string $name The block name
+     *
+     * @return bool true if the block exists, false otherwise
+     *
+     * @internal
+     */
+    public function hasBlock($name)
+    {
+        return isset($this->blocks[(string) $name]);
+    }
+
+    /**
+     * Returns all block names.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @return array An array of block names
+     *
+     * @see hasBlock
+     *
+     * @internal
+     */
+    public function getBlockNames()
+    {
+        return array_keys($this->blocks);
+    }
+
+    protected function loadTemplate($template, $templateName = null, $line = null, $index = null)
+    {
+        try {
+            if (is_array($template)) {
+                return $this->env->resolveTemplate($template);
+            }
+
+            if ($template instanceof self) {
+                return $template;
+            }
+
+            return $this->env->loadTemplate($template, $index);
+        } catch (Twig_Error $e) {
+            if (!$e->getTemplateFile()) {
+                $e->setTemplateFile($templateName ? $templateName : $this->getTemplateName());
+            }
+
+            if ($e->getTemplateLine()) {
+                throw $e;
+            }
+
+            if (!$line) {
+                $e->guess();
+            } else {
+                $e->setTemplateLine($line);
+            }
+
+            throw $e;
+        }
+    }
+
+    /**
+     * Returns all blocks.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * @return array An array of blocks
+     *
+     * @see hasBlock
+     *
+     * @internal
+     */
+    public function getBlocks()
+    {
+        return $this->blocks;
+    }
+
+    /**
+     * Returns the template source code.
+     *
+     * @return string|null The template source code or null if it is not available
+     */
+    public function getSource()
+    {
+        $reflector = new ReflectionClass($this);
+        $file = $reflector->getFileName();
+
+        if (!file_exists($file)) {
+            return;
+        }
+
+        $source = file($file, FILE_IGNORE_NEW_LINES);
+        array_splice($source, 0, $reflector->getEndLine());
+
+        $i = 0;
+        while (isset($source[$i]) && '/* */' === substr_replace($source[$i], '', 3, -2)) {
+            $source[$i] = str_replace('*//* ', '*/', substr($source[$i], 3, -2));
+            ++$i;
+        }
+        array_splice($source, $i);
+
+        return implode("\n", $source);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function display(array $context, array $blocks = array())
+    {
+        $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function render(array $context)
+    {
+        $level = ob_get_level();
+        ob_start();
+        try {
+            $this->display($context);
+        } catch (Exception $e) {
+            while (ob_get_level() > $level) {
+                ob_end_clean();
+            }
+
+            throw $e;
+        }
+
+        return ob_get_clean();
+    }
+
+    protected function displayWithErrorHandling(array $context, array $blocks = array())
+    {
+        try {
+            $this->doDisplay($context, $blocks);
+        } catch (Twig_Error $e) {
+            if (!$e->getTemplateFile()) {
+                $e->setTemplateFile($this->getTemplateName());
+            }
+
+            // this is mostly useful for Twig_Error_Loader exceptions
+            // see Twig_Error_Loader
+            if (false === $e->getTemplateLine()) {
+                $e->setTemplateLine(-1);
+                $e->guess();
+            }
+
+            throw $e;
+        } catch (Exception $e) {
+            throw new Twig_Error_Runtime(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getTemplateName(), $e);
+        }
+    }
+
+    /**
+     * Auto-generated method to display the template with the given context.
+     *
+     * @param array $context An array of parameters to pass to the template
+     * @param array $blocks  An array of blocks to pass to the template
+     */
+    abstract protected function doDisplay(array $context, array $blocks = array());
+
+    /**
+     * Returns a variable from the context.
+     *
+     * This method is for internal use only and should never be called
+     * directly.
+     *
+     * This method should not be overridden in a sub-class as this is an
+     * implementation detail that has been introduced to optimize variable
+     * access for versions of PHP before 5.4. This is not a way to override
+     * the way to get a variable value.
+     *
+     * @param array  $context           The context
+     * @param string $item              The variable to return from the context
+     * @param bool   $ignoreStrictCheck Whether to ignore the strict variable check or not
+     *
+     * @return mixed The content of the context variable
+     *
+     * @throws Twig_Error_Runtime if the variable does not exist and Twig is running in strict mode
+     *
+     * @internal
+     */
+    final protected function getContext($context, $item, $ignoreStrictCheck = false)
+    {
+        if (!array_key_exists($item, $context)) {
+            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
+                return;
+            }
+
+            throw new Twig_Error_Runtime(sprintf('Variable "%s" does not exist', $item), -1, $this->getTemplateName());
+        }
+
+        return $context[$item];
+    }
+
+    /**
+     * Returns the attribute value for a given array/object.
+     *
+     * @param mixed  $object            The object or array from where to get the item
+     * @param mixed  $item              The item to get from the array or object
+     * @param array  $arguments         An array of arguments to pass if the item is an object method
+     * @param string $type              The type of attribute (@see Twig_Template constants)
+     * @param bool   $isDefinedTest     Whether this is only a defined check
+     * @param bool   $ignoreStrictCheck Whether to ignore the strict attribute check or not
+     *
+     * @return mixed The attribute value, or a Boolean when $isDefinedTest is true, or null when the attribute is not set and $ignoreStrictCheck is true
+     *
+     * @throws Twig_Error_Runtime if the attribute does not exist and Twig is running in strict mode and $isDefinedTest is false
+     */
+    protected function getAttribute($object, $item, array $arguments = array(), $type = self::ANY_CALL, $isDefinedTest = false, $ignoreStrictCheck = false)
+    {
+        // array
+        if (self::METHOD_CALL !== $type) {
+            $arrayItem = is_bool($item) || is_float($item) ? (int) $item : $item;
+
+            if ((is_array($object) && array_key_exists($arrayItem, $object))
+                || ($object instanceof ArrayAccess && isset($object[$arrayItem]))
+            ) {
+                if ($isDefinedTest) {
+                    return true;
+                }
+
+                return $object[$arrayItem];
+            }
+
+            if (self::ARRAY_CALL === $type || !is_object($object)) {
+                if ($isDefinedTest) {
+                    return false;
+                }
+
+                if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
+                    return;
+                }
+
+                if ($object instanceof ArrayAccess) {
+                    $message = sprintf('Key "%s" in object with ArrayAccess of class "%s" does not exist', $arrayItem, get_class($object));
+                } elseif (is_object($object)) {
+                    $message = sprintf('Impossible to access a key "%s" on an object of class "%s" that does not implement ArrayAccess interface', $item, get_class($object));
+                } elseif (is_array($object)) {
+                    if (empty($object)) {
+                        $message = sprintf('Key "%s" does not exist as the array is empty', $arrayItem);
+                    } else {
+                        $message = sprintf('Key "%s" for array with keys "%s" does not exist', $arrayItem, implode(', ', array_keys($object)));
+                    }
+                } elseif (self::ARRAY_CALL === $type) {
+                    if (null === $object) {
+                        $message = sprintf('Impossible to access a key ("%s") on a null variable', $item);
+                    } else {
+                        $message = sprintf('Impossible to access a key ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
+                    }
+                } elseif (null === $object) {
+                    $message = sprintf('Impossible to access an attribute ("%s") on a null variable', $item);
+                } else {
+                    $message = sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
+                }
+
+                throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
+            }
+        }
+
+        if (!is_object($object)) {
+            if ($isDefinedTest) {
+                return false;
+            }
+
+            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
+                return;
+            }
+
+            if (null === $object) {
+                $message = sprintf('Impossible to invoke a method ("%s") on a null variable', $item);
+            } else {
+                $message = sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s")', $item, gettype($object), $object);
+            }
+
+            throw new Twig_Error_Runtime($message, -1, $this->getTemplateName());
+        }
+
+        // object property
+        if (self::METHOD_CALL !== $type && !$object instanceof self) { // Twig_Template does not have public properties, and we don't want to allow access to internal ones
+            if (isset($object->$item) || array_key_exists((string) $item, $object)) {
+                if ($isDefinedTest) {
+                    return true;
+                }
+
+                if ($this->env->hasExtension('sandbox')) {
+                    $this->env->getExtension('sandbox')->checkPropertyAllowed($object, $item);
+                }
+
+                return $object->$item;
+            }
+        }
+
+        $class = get_class($object);
+
+        // object method
+        if (!isset(self::$cache[$class]['methods'])) {
+            // get_class_methods returns all methods accessible in the scope, but we only want public ones to be accessible in templates
+            if ($object instanceof self) {
+                $ref = new ReflectionClass($class);
+                $methods = array();
+
+                foreach ($ref->getMethods(ReflectionMethod::IS_PUBLIC) as $refMethod) {
+                    $methodName = strtolower($refMethod->name);
+
+                    // Accessing the environment from templates is forbidden to prevent untrusted changes to the environment
+                    if ('getenvironment' !== $methodName) {
+                        $methods[$methodName] = true;
+                    }
+                }
+
+                self::$cache[$class]['methods'] = $methods;
+            } else {
+                self::$cache[$class]['methods'] = array_change_key_case(array_flip(get_class_methods($object)));
+            }
+        }
+
+        $call = false;
+        $lcItem = strtolower($item);
+        if (isset(self::$cache[$class]['methods'][$lcItem])) {
+            $method = (string) $item;
+        } elseif (isset(self::$cache[$class]['methods']['get'.$lcItem])) {
+            $method = 'get'.$item;
+        } elseif (isset(self::$cache[$class]['methods']['is'.$lcItem])) {
+            $method = 'is'.$item;
+        } elseif (isset(self::$cache[$class]['methods']['__call'])) {
+            $method = (string) $item;
+            $call = true;
+        } else {
+            if ($isDefinedTest) {
+                return false;
+            }
+
+            if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
+                return;
+            }
+
+            throw new Twig_Error_Runtime(sprintf('Method "%s" for object "%s" does not exist', $item, get_class($object)), -1, $this->getTemplateName());
+        }
+
+        if ($isDefinedTest) {
+            return true;
+        }
+
+        if ($this->env->hasExtension('sandbox')) {
+            $this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
+        }
+
+        // Some objects throw exceptions when they have __call, and the method we try
+        // to call is not supported. If ignoreStrictCheck is true, we should return null.
+        try {
+            $ret = call_user_func_array(array($object, $method), $arguments);
+        } catch (BadMethodCallException $e) {
+            if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
+                return;
+            }
+            throw $e;
+        }
+
+        // useful when calling a template method from a template
+        // this is not supported but unfortunately heavily used in the Symfony profiler
+        if ($object instanceof Twig_TemplateInterface) {
+            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
+        }
+
+        return $ret;
+    }
+}
diff --git a/core/vendor/twig/twig/lib/Twig/TemplateInterface.php b/vendor/twig/twig/lib/Twig/TemplateInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TemplateInterface.php
rename to vendor/twig/twig/lib/Twig/TemplateInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test.php b/vendor/twig/twig/lib/Twig/Test.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test.php
rename to vendor/twig/twig/lib/Twig/Test.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Function.php b/vendor/twig/twig/lib/Twig/Test/Function.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test/Function.php
rename to vendor/twig/twig/lib/Twig/Test/Function.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php b/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php
rename to vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Method.php b/vendor/twig/twig/lib/Twig/Test/Method.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test/Method.php
rename to vendor/twig/twig/lib/Twig/Test/Method.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test/Node.php b/vendor/twig/twig/lib/Twig/Test/Node.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test/Node.php
rename to vendor/twig/twig/lib/Twig/Test/Node.php
diff --git a/core/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php b/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php
rename to vendor/twig/twig/lib/Twig/Test/NodeTestCase.php
diff --git a/core/vendor/twig/twig/lib/Twig/TestCallableInterface.php b/vendor/twig/twig/lib/Twig/TestCallableInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TestCallableInterface.php
rename to vendor/twig/twig/lib/Twig/TestCallableInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/TestInterface.php b/vendor/twig/twig/lib/Twig/TestInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TestInterface.php
rename to vendor/twig/twig/lib/Twig/TestInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/Token.php b/vendor/twig/twig/lib/Twig/Token.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Token.php
rename to vendor/twig/twig/lib/Twig/Token.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser.php b/vendor/twig/twig/lib/Twig/TokenParser.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser.php
rename to vendor/twig/twig/lib/Twig/TokenParser.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php b/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php
rename to vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Block.php b/vendor/twig/twig/lib/Twig/TokenParser/Block.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Block.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Block.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Do.php b/vendor/twig/twig/lib/Twig/TokenParser/Do.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Do.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Do.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Embed.php b/vendor/twig/twig/lib/Twig/TokenParser/Embed.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Embed.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Embed.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Extends.php b/vendor/twig/twig/lib/Twig/TokenParser/Extends.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Extends.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Extends.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Filter.php b/vendor/twig/twig/lib/Twig/TokenParser/Filter.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Filter.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Filter.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Flush.php b/vendor/twig/twig/lib/Twig/TokenParser/Flush.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Flush.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Flush.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/For.php b/vendor/twig/twig/lib/Twig/TokenParser/For.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/For.php
rename to vendor/twig/twig/lib/Twig/TokenParser/For.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/From.php b/vendor/twig/twig/lib/Twig/TokenParser/From.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/From.php
rename to vendor/twig/twig/lib/Twig/TokenParser/From.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/If.php b/vendor/twig/twig/lib/Twig/TokenParser/If.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/If.php
rename to vendor/twig/twig/lib/Twig/TokenParser/If.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Import.php b/vendor/twig/twig/lib/Twig/TokenParser/Import.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Import.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Import.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Include.php b/vendor/twig/twig/lib/Twig/TokenParser/Include.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Include.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Include.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php b/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Macro.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Macro.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php b/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Set.php b/vendor/twig/twig/lib/Twig/TokenParser/Set.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Set.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Set.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php b/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParser/Use.php b/vendor/twig/twig/lib/Twig/TokenParser/Use.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParser/Use.php
rename to vendor/twig/twig/lib/Twig/TokenParser/Use.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParserBroker.php b/vendor/twig/twig/lib/Twig/TokenParserBroker.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParserBroker.php
rename to vendor/twig/twig/lib/Twig/TokenParserBroker.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php b/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
rename to vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenParserInterface.php b/vendor/twig/twig/lib/Twig/TokenParserInterface.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenParserInterface.php
rename to vendor/twig/twig/lib/Twig/TokenParserInterface.php
diff --git a/core/vendor/twig/twig/lib/Twig/TokenStream.php b/vendor/twig/twig/lib/Twig/TokenStream.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/TokenStream.php
rename to vendor/twig/twig/lib/Twig/TokenStream.php
diff --git a/core/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php b/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php
rename to vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php
diff --git a/core/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php b/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php
similarity index 100%
rename from core/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php
rename to vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php
diff --git a/core/vendor/twig/twig/phpunit.xml.dist b/vendor/twig/twig/phpunit.xml.dist
similarity index 100%
rename from core/vendor/twig/twig/phpunit.xml.dist
rename to vendor/twig/twig/phpunit.xml.dist
diff --git a/core/vendor/twig/twig/test/Twig/Tests/AutoloaderTest.php b/vendor/twig/twig/test/Twig/Tests/AutoloaderTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/AutoloaderTest.php
rename to vendor/twig/twig/test/Twig/Tests/AutoloaderTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/CompilerTest.php b/vendor/twig/twig/test/Twig/Tests/CompilerTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/CompilerTest.php
rename to vendor/twig/twig/test/Twig/Tests/CompilerTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php b/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
rename to vendor/twig/twig/test/Twig/Tests/EnvironmentTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/ErrorTest.php b/vendor/twig/twig/test/Twig/Tests/ErrorTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/ErrorTest.php
rename to vendor/twig/twig/test/Twig/Tests/ErrorTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php b/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
rename to vendor/twig/twig/test/Twig/Tests/ExpressionParserTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Extension/CoreTest.php b/vendor/twig/twig/test/Twig/Tests/Extension/CoreTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Extension/CoreTest.php
rename to vendor/twig/twig/test/Twig/Tests/Extension/CoreTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php b/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
rename to vendor/twig/twig/test/Twig/Tests/Extension/SandboxTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php b/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
rename to vendor/twig/twig/test/Twig/Tests/FileCachingTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/FileExtensionEscapingStrategyTest.php b/vendor/twig/twig/test/Twig/Tests/FileExtensionEscapingStrategyTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/FileExtensionEscapingStrategyTest.php
rename to vendor/twig/twig/test/Twig/Tests/FileExtensionEscapingStrategyTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape/filename.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape/filename.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape/filename.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/autoescape/filename.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html b/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/errors/base.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/index.html b/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/errors/index.html
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/errors/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable_again.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable_again.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable_again.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_array_with_undefined_variable_again.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_undefined_variable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_undefined_variable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_undefined_variable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_undefined_variable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_unknown_argument.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_unknown_argument.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_unknown_argument.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_function_with_unknown_argument.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_tag_with_undefined_variable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_tag_with_undefined_variable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_tag_with_undefined_variable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/multiline_tag_with_undefined_variable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/syntax_error_in_reused_template.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/syntax_error_in_reused_template.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/syntax_error_in_reused_template.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/syntax_error_in_reused_template.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/unclosed_tag.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/unclosed_tag.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/unclosed_tag.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/unclosed_tag.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_parent.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_template_in_child_template.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_template_in_child_template.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_template_in_child_template.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_template_in_child_template.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_trait.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_trait.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_trait.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/exceptions/undefined_trait.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array_call.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array_call.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array_call.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/array_call.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/binary.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/binary.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/binary.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/binary.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/bitwise.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/bitwise.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/bitwise.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/bitwise.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/comparison.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/comparison.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/comparison.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/comparison.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/divisibleby.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/divisibleby.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/divisibleby.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/divisibleby.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/dotdot.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/dotdot.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/dotdot.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/dotdot.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ends_with.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ends_with.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ends_with.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ends_with.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/grouping.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/grouping.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/grouping.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/grouping.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/literals.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/literals.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/literals.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/literals.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/magic_call.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/magic_call.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/magic_call.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/magic_call.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/matches.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/matches.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/matches.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/matches.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/method_call.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/method_call.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/method_call.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/method_call.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/negative_numbers.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/negative_numbers.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/negative_numbers.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/negative_numbers.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/operators_as_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/operators_as_variables.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/operators_as_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/operators_as_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/postfix.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/postfix.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/postfix.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/postfix.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/sameas.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/sameas.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/sameas.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/sameas.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/starts_with.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/starts_with.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/starts_with.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/starts_with.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/strings.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/strings.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/strings.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/strings.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_noelse.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/ternary_operator_nothen.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/two_word_operators_as_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/two_word_operators_as_variables.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/two_word_operators_as_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/two_word_operators_as_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_macro_arguments.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_macro_arguments.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_macro_arguments.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_macro_arguments.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_precedence.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_precedence.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_precedence.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/expressions/unary_precedence.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/abs.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/abs.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/abs.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/abs.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_float.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_float.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_float.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_float.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_empty_fill.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_empty_fill.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_empty_fill.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_empty_fill.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_exact_elements.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_exact_elements.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_exact_elements.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_exact_elements.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_fill.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_fill.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_fill.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_fill.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_keys.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_keys.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_keys.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_keys.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_zero_elements.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_zero_elements.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_zero_elements.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/batch_with_zero_elements.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/convert_encoding.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/convert_encoding.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/convert_encoding.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/convert_encoding.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format_interval.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format_interval.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format_interval.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_default_format_interval.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_immutable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_immutable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_immutable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_immutable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_interval.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_interval.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_interval.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_interval.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_modify.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_modify.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_modify.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_modify.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/date_namedargs.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/default.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/default.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/default.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/default.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/dynamic_filter.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/dynamic_filter.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/dynamic_filter.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/dynamic_filter.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_html_attr.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_html_attr.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_html_attr.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_html_attr.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_non_supported_charset.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_non_supported_charset.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_non_supported_charset.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/escape_non_supported_charset.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/first.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/first.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/first.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/first.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/force_escape.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/force_escape.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/force_escape.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/force_escape.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/format.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/format.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/format.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/format.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/join.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/join.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/join.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/join.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/json_encode.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/json_encode.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/json_encode.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/json_encode.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/last.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/last.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/last.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/last.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length_utf8.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length_utf8.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length_utf8.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/length_utf8.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/merge.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/merge.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/merge.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/merge.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/nl2br.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/nl2br.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/nl2br.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/nl2br.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format_default.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format_default.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format_default.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/number_format_default.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace_invalid_arg.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace_invalid_arg.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace_invalid_arg.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/replace_invalid_arg.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/reverse.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/round.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/round.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/round.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/round.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/slice.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/sort.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/sort.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/sort.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/sort.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/special_chars.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/special_chars.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/special_chars.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/special_chars.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split_utf8.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split_utf8.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split_utf8.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/split_utf8.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/trim.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/trim.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/trim.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/trim.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/filters/urlencode_deprecated.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/attribute.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/attribute.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/attribute.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/attribute.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/block.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/block.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/block.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/block.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/constant.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/cycle.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/cycle.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/cycle.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/cycle.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/date_namedargs.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump_array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump_array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump_array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dump_array.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dynamic_function.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dynamic_function.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dynamic_function.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/dynamic_function.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/assignment.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/assignment.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/assignment.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/assignment.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/autoescaping.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/autoescaping.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/autoescaping.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/autoescaping.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/expression.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/ignore_missing.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/missing_nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling_ignore_missing.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling_ignore_missing.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling_ignore_missing.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/sandbox_disabling_ignore_missing.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/template_instance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/templates_as_array.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_context.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/include/with_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/max.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/max.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/max.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/max.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/min.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/min.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/min.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/min.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/range.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/recursive_block_with_inheritance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/recursive_block_with_inheritance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/recursive_block_with_inheritance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/recursive_block_with_inheritance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/source.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/source.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/source.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/source.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/special_chars.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/special_chars.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/special_chars.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/special_chars.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/functions/template_from_string.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/default_values.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/nested_calls.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/nested_calls.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/nested_calls.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/nested_calls.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/reserved_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/reserved_variables.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/reserved_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/reserved_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/simple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/simple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/simple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/simple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs_argument.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs_argument.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs_argument.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/varargs_argument.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/with_filters.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/with_filters.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/macros/with_filters.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/macros/with_filters.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/combined_debug_info.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/combined_debug_info.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/combined_debug_info.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/combined_debug_info.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/empty_token.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/empty_token.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/empty_token.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/empty_token.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/issue_1143.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/issue_1143.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/issue_1143.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/issue_1143.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/multi_word_tests.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/multi_word_tests.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/multi_word_tests.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/multi_word_tests.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/simple_xml_element.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/simple_xml_element.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/simple_xml_element.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/simple_xml_element.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/strings_like_numbers.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/strings_like_numbers.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/regression/strings_like_numbers.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/regression/strings_like_numbers.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/blocks.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/blocks.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/blocks.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/blocks.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/double_escaping.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/double_escaping.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/double_escaping.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/double_escaping.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/functions.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/functions.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/functions.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/functions.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/literal.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/objects.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/objects.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/objects.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/objects.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/raw.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/raw.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/raw.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/raw.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.legacy.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.legacy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.legacy.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.legacy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/strategy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/type.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/type.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/type.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/type.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters_arguments.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters_arguments.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters_arguments.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_filters_arguments.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_pre_escape_filters.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_pre_escape_filters.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_pre_escape_filters.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_pre_escape_filters.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_preserves_safety_filters.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_preserves_safety_filters.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_preserves_safety_filters.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/autoescape/with_preserves_safety_filters.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/block_unique_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/block_unique_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/block_unique_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/block_unique_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/special_chars.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/special_chars.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/special_chars.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/block/special_chars.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/error_line.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/error_line.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/error_line.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/error_line.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/multiple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/multiple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/multiple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/multiple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/with_extends.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/with_extends.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/with_extends.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/embed/with_extends.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/json_encode.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/json_encode.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/json_encode.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/json_encode.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/multiple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/multiple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/multiple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/multiple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_for_tag.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_for_tag.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_for_tag.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_for_tag.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_if_tag.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_if_tag.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_if_tag.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/filter/with_if_tag.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/condition.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/context.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/context.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/context.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/context.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/else.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/else.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/else.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/else.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/inner_variables.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/inner_variables.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/inner_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/inner_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys_and_values.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys_and_values.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys_and_values.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/keys_and_values.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context_local.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context_local.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context_local.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_context_local.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/loop_not_defined_cond.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/nested_else.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/nested_else.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/nested_else.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/nested_else.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects_countable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects_countable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects_countable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/objects_countable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/recursive.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/recursive.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/recursive.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/recursive.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/values.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/values.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/values.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/for/values.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/from.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/from.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/from.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/from.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/expression.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/expression.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/expression.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/if/expression.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/expression.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/expression.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/expression.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/expression.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/ignore_missing.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing_nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing_nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing_nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/missing_nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/only.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/template_instance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/template_instance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/template_instance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/template_instance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/templates_as_array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/templates_as_array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/templates_as_array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/templates_as_array.test
diff --git a/core/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
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/include/with_variables.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr2.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr2.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr2.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/block_expr2.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/conditional.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/conditional.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/conditional.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/conditional.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/dynamic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/dynamic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/dynamic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/dynamic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/empty.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/empty.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/empty.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/empty.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_empty_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_empty_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_empty_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_empty_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_null_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_null_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_null_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/extends_as_array_with_null_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple_dynamic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple_dynamic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple_dynamic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/multiple_dynamic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks_parent_only.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks_parent_only.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks_parent_only.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_blocks_parent_only.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_inheritance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_inheritance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_inheritance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/nested_inheritance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_change.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_change.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_change.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_change.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_in_a_block.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_in_a_block.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_in_a_block.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_in_a_block.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_isolation.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_isolation.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_isolation.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_isolation.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_nested.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_nested.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_nested.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_nested.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends_but_traits.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends_but_traits.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends_but_traits.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/parent_without_extends_but_traits.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/template_instance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/template_instance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/template_instance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/template_instance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/use.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/use.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/use.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/inheritance/use.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/endmacro_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/endmacro_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/endmacro_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/endmacro_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/external.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/external.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/external.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/external.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from_with_reserved_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from_with_reserved_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from_with_reserved_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/from_with_reserved_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/global.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/global.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/global.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/global.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/import_with_reserved_nam.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/import_with_reserved_nam.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/import_with_reserved_nam.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/import_with_reserved_nam.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/reserved_name.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/reserved_name.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/reserved_name.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/reserved_name.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/self_import.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/self_import.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/self_import.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/self_import.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/special_chars.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/special_chars.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/special_chars.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/special_chars.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/super_globals.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/super_globals.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/super_globals.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/macro/super_globals.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/basic.legacy.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/basic.legacy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/basic.legacy.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/basic.legacy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.legacy.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.legacy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.legacy.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/mixed_usage_with_raw.legacy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/whitespace_control.legacy.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/whitespace_control.legacy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/whitespace_control.legacy.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/raw/whitespace_control.legacy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid1.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid1.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid1.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid1.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid2.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid2.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid2.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/not_valid2.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/simple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/simple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/simple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/sandbox/simple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture-empty.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture-empty.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture-empty.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture-empty.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/capture.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/expression.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/expression.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/expression.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/set/expression.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless/simple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless/simple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless/simple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/spaceless/simple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/special_chars.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/special_chars.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/special_chars.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/special_chars.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/trim_block.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/aliases.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/aliases.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/aliases.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/aliases.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep_empty.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep_empty.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep_empty.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/deep_empty.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance2.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance2.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance2.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/inheritance2.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple_aliases.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple_aliases.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple_aliases.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/multiple_aliases.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block2.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block2.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block2.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block2.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block3.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block3.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block3.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/use/parent_block3.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/basic.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/mixed_usage_with_raw.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tags/verbatim/whitespace_control.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/array.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/array.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/array.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/array.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/constant.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/constant.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/constant.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/constant.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/defined.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/empty.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/empty.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/empty.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/empty.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/even.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/even.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/even.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/even.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in_with_objects.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in_with_objects.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in_with_objects.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/in_with_objects.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/iterable.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/iterable.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/iterable.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/iterable.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/odd.test b/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/odd.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Fixtures/tests/odd.test
rename to vendor/twig/twig/test/Twig/Tests/Fixtures/tests/odd.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php b/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
rename to vendor/twig/twig/test/Twig/Tests/IntegrationTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/LegacyFixtures/test.legacy.test b/vendor/twig/twig/test/Twig/Tests/LegacyFixtures/test.legacy.test
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/LegacyFixtures/test.legacy.test
rename to vendor/twig/twig/test/Twig/Tests/LegacyFixtures/test.legacy.test
diff --git a/core/vendor/twig/twig/test/Twig/Tests/LegacyIntegrationTest.php b/vendor/twig/twig/test/Twig/Tests/LegacyIntegrationTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/LegacyIntegrationTest.php
rename to vendor/twig/twig/test/Twig/Tests/LegacyIntegrationTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/LexerTest.php b/vendor/twig/twig/test/Twig/Tests/LexerTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/LexerTest.php
rename to vendor/twig/twig/test/Twig/Tests/LexerTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/ArrayTest.php b/vendor/twig/twig/test/Twig/Tests/Loader/ArrayTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/ArrayTest.php
rename to vendor/twig/twig/test/Twig/Tests/Loader/ArrayTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/ChainTest.php b/vendor/twig/twig/test/Twig/Tests/Loader/ChainTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/ChainTest.php
rename to vendor/twig/twig/test/Twig/Tests/Loader/ChainTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/FilesystemTest.php b/vendor/twig/twig/test/Twig/Tests/Loader/FilesystemTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/FilesystemTest.php
rename to vendor/twig/twig/test/Twig/Tests/Loader/FilesystemTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_empty_parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_empty_parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_empty_parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_empty_parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_nonexistent_parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_nonexistent_parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_nonexistent_parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_nonexistent_parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_null_parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_null_parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_null_parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_null_parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_valid_parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_valid_parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_valid_parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/array_inheritance_valid_parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/inheritance/spare_parent.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_bis/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_final/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_quater/named_absolute.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/named_ter/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_bis/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_final/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/normal_ter/index.html
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1/blocks.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1/blocks.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1/blocks.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme1/blocks.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2/blocks.html.twig b/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2/blocks.html.twig
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2/blocks.html.twig
rename to vendor/twig/twig/test/Twig/Tests/Loader/Fixtures/themes/theme2/blocks.html.twig
diff --git a/core/vendor/twig/twig/test/Twig/Tests/NativeExtensionTest.php b/vendor/twig/twig/test/Twig/Tests/NativeExtensionTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/NativeExtensionTest.php
rename to vendor/twig/twig/test/Twig/Tests/NativeExtensionTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/AutoEscapeTest.php b/vendor/twig/twig/test/Twig/Tests/Node/AutoEscapeTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/AutoEscapeTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/AutoEscapeTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/BlockReferenceTest.php b/vendor/twig/twig/test/Twig/Tests/Node/BlockReferenceTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/BlockReferenceTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/BlockReferenceTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/BlockTest.php b/vendor/twig/twig/test/Twig/Tests/Node/BlockTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/BlockTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/BlockTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/DoTest.php b/vendor/twig/twig/test/Twig/Tests/Node/DoTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/DoTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/DoTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ArrayTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/ArrayTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ArrayTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/ArrayTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/AssignNameTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/AssignNameTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/AssignNameTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/AssignNameTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AddTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AddTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AddTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AddTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AndTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AndTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AndTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/AndTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ConcatTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ConcatTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ConcatTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ConcatTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/DivTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/DivTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/DivTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/DivTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/FloorDivTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ModTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ModTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ModTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/ModTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/MulTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/MulTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/MulTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/MulTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/OrTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/OrTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/OrTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/OrTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/SubTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/SubTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/SubTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Binary/SubTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/CallTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/CallTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/CallTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/CallTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConditionalTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConditionalTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConditionalTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/ConditionalTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConstantTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConstantTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ConstantTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/ConstantTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/FilterTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/FunctionTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/GetAttrTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/GetAttrTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/GetAttrTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/GetAttrTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/NameTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/NameTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/NameTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/NameTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FilterInclude.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/FunctionInclude.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/PHP53/TestInclude.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ParentTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/ParentTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/ParentTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/ParentTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/TestTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NegTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NegTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NegTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NegTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NotTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NotTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NotTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/NotTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/PosTest.php b/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/PosTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/PosTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/Expression/Unary/PosTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/ForTest.php b/vendor/twig/twig/test/Twig/Tests/Node/ForTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/ForTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/ForTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/IfTest.php b/vendor/twig/twig/test/Twig/Tests/Node/IfTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/IfTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/IfTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/ImportTest.php b/vendor/twig/twig/test/Twig/Tests/Node/ImportTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/ImportTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/ImportTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php b/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/IncludeTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php b/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/MacroTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php b/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/ModuleTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/PrintTest.php b/vendor/twig/twig/test/Twig/Tests/Node/PrintTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/PrintTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/PrintTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/SandboxTest.php b/vendor/twig/twig/test/Twig/Tests/Node/SandboxTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/SandboxTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/SandboxTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/SandboxedPrintTest.php b/vendor/twig/twig/test/Twig/Tests/Node/SandboxedPrintTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/SandboxedPrintTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/SandboxedPrintTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php b/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/SetTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/SetTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/SpacelessTest.php b/vendor/twig/twig/test/Twig/Tests/Node/SpacelessTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/SpacelessTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/SpacelessTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Node/TextTest.php b/vendor/twig/twig/test/Twig/Tests/Node/TextTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Node/TextTest.php
rename to vendor/twig/twig/test/Twig/Tests/Node/TextTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php b/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
rename to vendor/twig/twig/test/Twig/Tests/NodeVisitor/OptimizerTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/ParserTest.php b/vendor/twig/twig/test/Twig/Tests/ParserTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/ParserTest.php
rename to vendor/twig/twig/test/Twig/Tests/ParserTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/AbstractTest.php b/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/AbstractTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/AbstractTest.php
rename to vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/AbstractTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/BlackfireTest.php b/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/BlackfireTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/BlackfireTest.php
rename to vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/BlackfireTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/HtmlTest.php b/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/HtmlTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/HtmlTest.php
rename to vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/HtmlTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/TextTest.php b/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/TextTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/TextTest.php
rename to vendor/twig/twig/test/Twig/Tests/Profiler/Dumper/TextTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/Profiler/ProfileTest.php b/vendor/twig/twig/test/Twig/Tests/Profiler/ProfileTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/Profiler/ProfileTest.php
rename to vendor/twig/twig/test/Twig/Tests/Profiler/ProfileTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php b/vendor/twig/twig/test/Twig/Tests/TemplateTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/TemplateTest.php
rename to vendor/twig/twig/test/Twig/Tests/TemplateTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php b/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
rename to vendor/twig/twig/test/Twig/Tests/TokenStreamTest.php
diff --git a/core/vendor/twig/twig/test/Twig/Tests/escapingTest.php b/vendor/twig/twig/test/Twig/Tests/escapingTest.php
similarity index 100%
rename from core/vendor/twig/twig/test/Twig/Tests/escapingTest.php
rename to vendor/twig/twig/test/Twig/Tests/escapingTest.php
diff --git a/core/vendor/twig/twig/test/bootstrap.php b/vendor/twig/twig/test/bootstrap.php
similarity index 100%
rename from core/vendor/twig/twig/test/bootstrap.php
rename to vendor/twig/twig/test/bootstrap.php
diff --git a/vendor/wikimedia/composer-merge-plugin/LICENSE b/vendor/wikimedia/composer-merge-plugin/LICENSE
new file mode 100644
index 0000000..3c9804a
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2015 Bryan Davis, Wikimedia Foundation, and contributors
+
+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/wikimedia/composer-merge-plugin/README.md b/vendor/wikimedia/composer-merge-plugin/README.md
new file mode 100644
index 0000000..7f54bee
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/README.md
@@ -0,0 +1,131 @@
+[![Latest Stable Version](https://img.shields.io/packagist/v/wikimedia/composer-merge-plugin.svg?style=flat)](https://packagist.org/packages/wikimedia/composer-merge-plugin) [![License](https://img.shields.io/packagist/l/wikimedia/composer-merge-plugin.svg?style=flat)](https://github.com/wikimedia/composer-merge-plugin/blob/master/LICENSE)
+[![Build Status](https://img.shields.io/travis/wikimedia/composer-merge-plugin.svg?style=flat)](https://travis-ci.org/wikimedia/composer-merge-plugin)
+[![Code Coverage](https://img.shields.io/scrutinizer/coverage/g/wikimedia/composer-merge-plugin/master.svg?style=flat)](https://scrutinizer-ci.com/g/wikimedia/composer-merge-plugin/?branch=master)
+
+Composer Merge Plugin
+=====================
+
+Merge one or more additional composer.json files at [Composer] runtime.
+
+Composer Merge Plugin is intended to allow easier dependency management for
+applications which ship a composer.json file and expect some deployments to
+install additional Composer managed libraries. It does this by allowing the
+application's top level `composer.json` file to provide a list of optional
+additional configuration files. When Composer is run it will parse these files
+and merge their configuration into the base configuration. This combined
+configuration will allow downloading additional libraries and generating the
+autoloader. It was specifically created to help with installation of
+[MediaWiki] which has core Composer managed library requirements and optional
+libraries and extensions which may also be managed via Composer.
+
+
+Installation
+------------
+```
+$ composer require wikimedia/composer-merge-plugin
+```
+
+
+Usage
+-----
+
+```
+{
+    "require": {
+        "wikimedia/composer-merge-plugin": "dev-master"
+    },
+    "extra": {
+        "merge-plugin": {
+            "include": [
+                "composer.local.json",
+                "extensions/*/composer.json"
+            ],
+            "recurse": false,
+            "replace": false,
+            "merge-extra": false
+        }
+    }
+}
+```
+
+The `include` key can specify either a single value or an array of values.
+Each value is treated as a `glob()` pattern identifying additional
+composer.json style configuration files to merge into the configuration for
+the current Composer execution. By default the merge plugin is recursive, if
+an included file also has a "merge-plugin" section it will also be processed.
+This functionality can be disabled by setting `"recurse": false` inside the
+"merge-plugin" section.
+
+These sections of the found configuration files will be merged into the root
+package configuration as though they were directly included in the top-level
+composer.json file:
+
+* [autoload](https://getcomposer.org/doc/04-schema.md#autoload)
+* [autoload-dev](https://getcomposer.org/doc/04-schema.md#autoload-dev)
+* [conflict](https://getcomposer.org/doc/04-schema.md#conflict)
+* [provide](https://getcomposer.org/doc/04-schema.md#provide)
+* [replace](https://getcomposer.org/doc/04-schema.md#replace)
+* [repositories](https://getcomposer.org/doc/04-schema.md#repositories)
+* [require](https://getcomposer.org/doc/04-schema.md#require)
+* [require-dev](https://getcomposer.org/doc/04-schema.md#require-dev)
+* [suggest](https://getcomposer.org/doc/04-schema.md#suggest)
+
+A `"merge-extra": true` setting enables the merging of the "extra" section of
+included files as well. The normal merge mode for the extra section is to
+accept the first version of any key found (e.g. a key in the master config
+wins over the version found in an imported config). If `replace` mode is
+active (see below) then this behavior changes and the last found key will win
+(the key in the master config is replaced by the key in the imported config).
+Note that the `merge-plugin` key itself is excluded from this merge process.
+Your mileage with merging the extra section will vary depending on the plugins
+being used and the order in which they are processed by Composer.
+
+By default, Composer's normal conflict resolution engine is used to determine
+which version of a package should be installed if multiple files specify the
+same package. A `"replace": true` setting can be provided inside the
+"merge-plugin" section to change to a "last version specified wins" conflict
+resolution strategy. In this mode, duplicate package declarations in merged
+files will overwrite the declarations made in earlier files. Files are loaded
+in the order specified in the `include` section with globbed files being
+loaded in alphabetical order.
+
+
+Running tests
+-------------
+```
+$ composer install
+$ composer test
+```
+
+
+Contributing
+------------
+Bug, feature requests and other issues should be reported to the [GitHub
+project]. We accept code and documentation contributions via Pull Requests on
+GitHub as well.
+
+- [PSR-2 Coding Standard][] is used by the project. The included test
+  configuration uses [PHP Code Sniffer][] to validate the conventions.
+- Tests are encouraged. Our test coverage isn't perfect but we'd like it to
+  get better rather than worse, so please try to include tests with your
+  changes.
+- Keep the documentation up to date. Make sure `README.md` and other
+  relevant documentation is kept up to date with your changes.
+- One pull request per feature. Try to keep your changes focused on solving
+  a single problem. This will make it easier for us to review the change and
+  easier for you to make sure you have updated the necessary tests and
+  documentation.
+
+
+License
+-------
+Composer Merge plugin is licensed under the MIT license. See the `LICENSE`
+file for more details.
+
+
+---
+[Composer]: https://getcomposer.org/
+[MediaWiki]: https://www.mediawiki.org/wiki/MediaWiki
+[GitHub project]: https://github.com/wikimedia/composer-merge-plugin
+[PSR-2 Coding Standard]: https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md
+[PHP Code Sniffer]: http://pear.php.net/package/PHP_CodeSniffer
diff --git a/vendor/wikimedia/composer-merge-plugin/composer.json b/vendor/wikimedia/composer-merge-plugin/composer.json
new file mode 100644
index 0000000..02d7d56
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/composer.json
@@ -0,0 +1,47 @@
+{
+    "name": "wikimedia/composer-merge-plugin",
+    "description": "Composer plugin to merge multiple composer.json files",
+    "type": "composer-plugin",
+    "license": "MIT",
+    "authors": [
+        {
+            "name": "Bryan Davis",
+            "email": "bd808@wikimedia.org"
+        }
+    ],
+    "minimum-stability": "dev",
+    "prefer-stable": true,
+    "require": {
+        "composer-plugin-api": "^1.0",
+        "php": ">=5.3.2"
+    },
+    "require-dev": {
+        "composer/composer": "1.0.*@dev",
+        "jakub-onderka/php-parallel-lint": "~0.8",
+        "phpspec/prophecy-phpunit": "~1.0",
+        "phpunit/phpunit": "~4.0",
+        "squizlabs/php_codesniffer": "~2.1.0"
+    },
+    "autoload": {
+        "psr-4": {
+            "Wikimedia\\Composer\\": "src/"
+        }
+    },
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.3.x-dev"
+        },
+        "class": "Wikimedia\\Composer\\MergePlugin"
+    },
+    "config": {
+        "optimize-autoloader": true
+    },
+    "scripts": {
+        "test": [
+            "composer validate --no-interaction",
+            "parallel-lint src tests",
+            "phpunit --log-junit=reports/unitreport.xml --coverage-text --coverage-html=reports/coverage --coverage-clover=reports/coverage.xml",
+            "phpcs --encoding=utf-8 --standard=PSR2 --report-checkstyle=reports/checkstyle-phpcs.xml --report-full --extensions=php src/* tests/phpunit/*"
+        ]
+    }
+}
diff --git a/vendor/wikimedia/composer-merge-plugin/src/Logger.php b/vendor/wikimedia/composer-merge-plugin/src/Logger.php
new file mode 100644
index 0000000..b0c695c
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/src/Logger.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * This file is part of the Composer Merge plugin.
+ *
+ * Copyright (C) 2015 Bryan Davis, Wikimedia Foundation, and contributors
+ *
+ * This software may be modified and distributed under the terms of the MIT
+ * license. See the LICENSE file for details.
+ */
+
+namespace Wikimedia\Composer;
+
+use Composer\IO\IOInterface;
+
+/**
+ * Simple logging wrapper for Composer\IO\IOInterface
+ *
+ * @author Bryan Davis <bd808@bd808.com>
+ */
+class Logger
+{
+    /**
+     * @var string $name
+     */
+    protected $name;
+
+    /**
+     * @var IOInterface $inputOutput
+     */
+    protected $inputOutput;
+
+    /**
+     * @param string $name
+     * @param IOInterface $io
+     */
+    public function __construct($name, IOInterface $io)
+    {
+        $this->name = $name;
+        $this->inputOutput = $io;
+    }
+
+    /**
+     * Log a debug message
+     *
+     * Messages will be output at the "verbose" logging level (eg `-v` needed
+     * on the Composer command).
+     *
+     * @param string $message
+     */
+    public function debug($message)
+    {
+        if ($this->inputOutput->isVerbose()) {
+            $message = "  <info>[{$this->name}]</info> {$message}";
+
+            if (method_exists($this->inputOutput, 'writeError')) {
+                $this->inputOutput->writeError($message);
+            } else {
+                // @codeCoverageIgnoreStart
+                // Backwards compatiblity for Composer before cb336a5
+                $this->inputOutput->write($message);
+                // @codeCoverageIgnoreEnd
+            }
+        }
+    }
+}
+// vim:sw=4:ts=4:sts=4:et:
diff --git a/vendor/wikimedia/composer-merge-plugin/src/Merge/ExtraPackage.php b/vendor/wikimedia/composer-merge-plugin/src/Merge/ExtraPackage.php
new file mode 100644
index 0000000..476fdc9
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/src/Merge/ExtraPackage.php
@@ -0,0 +1,437 @@
+<?php
+/**
+ * This file is part of the Composer Merge plugin.
+ *
+ * Copyright (C) 2015 Bryan Davis, Wikimedia Foundation, and contributors
+ *
+ * This software may be modified and distributed under the terms of the MIT
+ * license. See the LICENSE file for details.
+ */
+
+namespace Wikimedia\Composer\Merge;
+
+use Wikimedia\Composer\Logger;
+
+use Composer\Composer;
+use Composer\Json\JsonFile;
+use Composer\Package\BasePackage;
+use Composer\Package\CompletePackage;
+use Composer\Package\Loader\ArrayLoader;
+use Composer\Package\RootPackage;
+use Composer\Package\Version\VersionParser;
+use UnexpectedValueException;
+
+/**
+ * Processing for a composer.json file that will be merged into a RootPackage
+ *
+ * @author Bryan Davis <bd808@bd808.com>
+ */
+class ExtraPackage
+{
+
+    /**
+     * @var Composer $composer
+     */
+    protected $composer;
+
+    /**
+     * @var Logger $logger
+     */
+    protected $logger;
+
+    /**
+     * @var string $path
+     */
+    protected $path;
+
+    /**
+     * @var array $json
+     */
+    protected $json;
+
+    /**
+     * @var CompletePackage $package
+     */
+    protected $package;
+
+    /**
+     * @param string $path Path to composer.json file
+     * @param Composer $composer
+     * @param Logger $logger
+     */
+    public function __construct($path, Composer $composer, Logger $logger)
+    {
+        $this->path = $path;
+        $this->composer = $composer;
+        $this->logger = $logger;
+        $this->json = $this->readPackageJson($path);
+        $this->package = $this->loadPackage($this->json);
+    }
+
+    /**
+     * Get list of additional packages to include if precessing recursively.
+     *
+     * @return array
+     */
+    public function getIncludes()
+    {
+        return isset($this->json['extra']['merge-plugin']['include']) ?
+            $this->json['extra']['merge-plugin']['include'] : array();
+    }
+
+    /**
+     * Read the contents of a composer.json style file into an array.
+     *
+     * The package contents are fixed up to be usable to create a Package
+     * object by providing dummy "name" and "version" values if they have not
+     * been provided in the file. This is consistent with the default root
+     * package loading behavior of Composer.
+     *
+     * @param string $path
+     * @return array
+     */
+    protected function readPackageJson($path)
+    {
+        $file = new JsonFile($path);
+        $json = $file->read();
+        if (!isset($json['name'])) {
+            $json['name'] = 'merge-plugin/' .
+                strtr($path, DIRECTORY_SEPARATOR, '-');
+        }
+        if (!isset($json['version'])) {
+            $json['version'] = '1.0.0';
+        }
+        return $json;
+    }
+
+    /**
+     * @return CompletePackage
+     */
+    protected function loadPackage($json)
+    {
+        $loader = new ArrayLoader();
+        $package = $loader->load($json);
+        // @codeCoverageIgnoreStart
+        if (!$package instanceof CompletePackage) {
+            throw new UnexpectedValueException(
+                'Expected instance of CompletePackage, got ' .
+                get_class($package)
+            );
+        }
+        // @codeCoverageIgnoreEnd
+        return $package;
+    }
+
+    /**
+     * Merge this package into a RootPackage
+     *
+     * @param RootPackage $root
+     * @param PluginState $state
+     */
+    public function mergeInto(RootPackage $root, PluginState $state)
+    {
+        $this->addRepositories($root);
+
+        $this->mergeRequires($root, $state);
+        $this->mergeDevRequires($root, $state);
+
+        $this->mergeConflicts($root);
+        $this->mergeReplaces($root);
+        $this->mergeProvides($root);
+        $this->mergeSuggests($root);
+
+        $this->mergeAutoload($root);
+        $this->mergeDevAutoload($root);
+
+        $this->mergeExtra($root, $state);
+    }
+
+    /**
+     * Add a collection of repositories described by the given configuration
+     * to the given package and the global repository manager.
+     *
+     * @param RootPackage $root
+     */
+    protected function addRepositories(RootPackage $root)
+    {
+        if (!isset($this->json['repositories'])) {
+            return;
+        }
+        $repoManager = $this->composer->getRepositoryManager();
+        $newRepos = array();
+
+        foreach ($this->json['repositories'] as $repoJson) {
+            if (!isset($repoJson['type'])) {
+                continue;
+            }
+            $this->logger->debug("Adding {$repoJson['type']} repository");
+            $repo = $repoManager->createRepository(
+                $repoJson['type'],
+                $repoJson
+            );
+            $repoManager->addRepository($repo);
+            $newRepos[] = $repo;
+        }
+
+        $root->setRepositories(array_merge(
+            $newRepos,
+            $root->getRepositories()
+        ));
+    }
+
+    /**
+     * Merge require into a RootPackage
+     *
+     * @param RootPackage $root
+     * @param PluginState $state
+     */
+    protected function mergeRequires(RootPackage $root, PluginState $state)
+    {
+        $requires = $this->package->getRequires();
+        if (empty($requires)) {
+            return;
+        }
+
+        $this->mergeStabilityFlags($root, $requires);
+
+        $dups = array();
+        $root->setRequires($this->mergeLinks(
+            $root->getRequires(),
+            $requires,
+            $state->replaceDuplicateLinks(),
+            $dups
+        ));
+        $state->addDuplicateLinks('require', $dups);
+    }
+
+    /**
+     * Merge require-dev into RootPackage
+     *
+     * @param RootPackage $root
+     * @param PluginState $state
+     */
+    protected function mergeDevRequires(RootPackage $root, PluginState $state)
+    {
+        $requires = $this->package->getDevRequires();
+        if (empty($requires)) {
+            return;
+        }
+
+        $this->mergeStabilityFlags($root, $requires);
+
+        $dups = array();
+        $root->setDevRequires($this->mergeLinks(
+            $root->getDevRequires(),
+            $requires,
+            $state->replaceDuplicateLinks(),
+            $dups
+        ));
+        $state->addDuplicateLinks('require-dev', $dups);
+    }
+
+    /**
+     * Merge two collections of package links and collect duplicates for
+     * subsequent processing.
+     *
+     * @param array $origin Primary collection
+     * @param array $merge Additional collection
+     * @param bool $replace Replace exising links?
+     * @param array &dups Duplicate storage
+     * @return array Merged collection
+     */
+    protected function mergeLinks(
+        array $origin,
+        array $merge,
+        $replace,
+        array &$dups
+    ) {
+        foreach ($merge as $name => $link) {
+            if (!isset($origin[$name]) || $replace) {
+                $this->logger->debug("Merging <comment>{$name}</comment>");
+                $origin[$name] = $link;
+            } else {
+                // Defer to solver.
+                $this->logger->debug(
+                    "Deferring duplicate <comment>{$name}</comment>"
+                );
+                $dups[] = $link;
+            }
+        }
+        return $origin;
+    }
+
+    /**
+     * Merge autoload into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeAutoload(RootPackage $root)
+    {
+        $autoload = $this->package->getAutoload();
+        if (empty($autoload)) {
+            return;
+        }
+
+        $root->setAutoload(array_merge_recursive(
+            $root->getAutoload(),
+            $this->fixRelativePaths($autoload)
+        ));
+    }
+
+    /**
+     * Merge autoload-dev into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeDevAutoload(RootPackage $root)
+    {
+        $autoload = $this->package->getDevAutoload();
+        if (empty($autoload)) {
+            return;
+        }
+
+        $root->setDevAutoload(array_merge_recursive(
+            $root->getDevAutoload(),
+            $this->fixRelativePaths($autoload)
+        ));
+    }
+
+    /**
+     * Fix a collection of paths that are relative to this package to be
+     * relative to the base package.
+     *
+     * @param array $paths
+     * @return array
+     */
+    protected function fixRelativePaths(array $paths)
+    {
+        $base = dirname($this->path);
+        $base = ($base === '.') ? '' : "{$base}/";
+
+        array_walk_recursive(
+            $paths,
+            function (&$path) use ($base) {
+                $path = "{$base}{$path}";
+            }
+        );
+        return $paths;
+    }
+
+    /**
+     * Extract and merge stability flags from the given collection of
+     * requires and merge them into a RootPackage
+     *
+     * @param RootPackage $root
+     * @param array $requires
+     */
+    protected function mergeStabilityFlags(
+        RootPackage $root,
+        array $requires
+    ) {
+        $flags = $root->getStabilityFlags();
+        foreach ($requires as $name => $link) {
+            $name = strtolower($name);
+            $version = $link->getPrettyConstraint();
+            $stability = VersionParser::parseStability($version);
+            $flags[$name] = BasePackage::$stabilities[$stability];
+        }
+        $root->setStabilityFlags($flags);
+    }
+
+    /**
+     * Merge conflicting packages into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeConflicts(RootPackage $root)
+    {
+        $conflicts = $this->package->getConflicts();
+        if (!empty($conflicts)) {
+            $root->setconflicts(array_merge(
+                $root->getConflicts(),
+                $conflicts
+            ));
+        }
+    }
+
+    /**
+     * Merge replaced packages into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeReplaces(RootPackage $root)
+    {
+        $replaces = $this->package->getReplaces();
+        if (!empty($replaces)) {
+            $root->setReplaces(array_merge(
+                $root->getReplaces(),
+                $replaces
+            ));
+        }
+    }
+
+    /**
+     * Merge provided virtual packages into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeProvides(RootPackage $root)
+    {
+        $provides = $this->package->getProvides();
+        if (!empty($provides)) {
+            $root->setProvides(array_merge(
+                $root->getProvides(),
+                $provides
+            ));
+        }
+    }
+
+    /**
+     * Merge suggested packages into a RootPackage
+     *
+     * @param RootPackage $root
+     */
+    protected function mergeSuggests(RootPackage $root)
+    {
+        $suggests = $this->package->getSuggests();
+        if (!empty($suggests)) {
+            $root->setSuggests(array_merge(
+                $root->getSuggests(),
+                $suggests
+            ));
+        }
+    }
+
+    /**
+     * Merge extra config into a RootPackage
+     *
+     * @param RootPackage $root
+     * @param PluginState $state
+     */
+    public function mergeExtra(RootPackage $root, PluginState $state)
+    {
+        $extra = $this->package->getExtra();
+        unset($extra['merge-plugin']);
+        if (!$state->shouldMergeExtra() || empty($extra)) {
+            return;
+        }
+
+        $rootExtra = $root->getExtra();
+
+        if ($state->replaceDuplicateLinks()) {
+            $root->setExtra(array_merge($rootExtra, $extra));
+
+        } else {
+            foreach ($extra as $key => $value) {
+                if (isset($rootExtra[$key])) {
+                    $this->logger->debug(
+                        "Ignoring duplicate <comment>{$key}</comment> in ".
+                        "<comment>{$this->path}</comment> extra config."
+                    );
+                }
+            }
+            $root->setExtra(array_merge($extra, $rootExtra));
+        }
+    }
+}
+// vim:sw=4:ts=4:sts=4:et:
diff --git a/vendor/wikimedia/composer-merge-plugin/src/Merge/PluginState.php b/vendor/wikimedia/composer-merge-plugin/src/Merge/PluginState.php
new file mode 100644
index 0000000..061a64d
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/src/Merge/PluginState.php
@@ -0,0 +1,326 @@
+<?php
+/**
+ * This file is part of the Composer Merge plugin.
+ *
+ * Copyright (C) 2015 Bryan Davis, Wikimedia Foundation, and contributors
+ *
+ * This software may be modified and distributed under the terms of the MIT
+ * license. See the LICENSE file for details.
+ */
+
+namespace Wikimedia\Composer\Merge;
+
+use Composer\Composer;
+use Composer\Package\AliasPackage;
+use Composer\Package\RootPackage;
+use UnexpectedValueException;
+
+/**
+ * Mutable plugin state
+ *
+ * @author Bryan Davis <bd808@bd808.com>
+ */
+class PluginState
+{
+    /**
+     * @var Composer $composer
+     */
+    protected $composer;
+
+    /**
+     * @var array $includes
+     */
+    protected $includes = array();
+
+    /**
+     * @var array $duplicateLinks
+     */
+    protected $duplicateLinks = array();
+
+    /**
+     * @var bool $devMode
+     */
+    protected $devMode = false;
+
+    /**
+     * @var bool $recurse
+     */
+    protected $recurse = true;
+
+    /**
+     * @var bool $replace
+     */
+    protected $replace = false;
+
+    /**
+     * Whether to merge the extra section.
+     *
+     * By default, the extra section is not merged and there will be many
+     * cases where the merge of the extra section is performed too late
+     * to be of use to other plugins. When enabled, merging uses one of
+     * two strategies - either 'first wins' or 'last wins'. When enabled,
+     * 'first wins' is the default behaviour. If Replace mode is activated
+     * then 'last wins' is used.
+     *
+     * @var bool $mergeExtra
+     */
+    protected $mergeExtra = false;
+
+    /**
+     * @var bool $firstInstall
+     */
+    protected $firstInstall = false;
+
+    /**
+     * @var bool $locked
+     */
+    protected $locked = false;
+
+    /**
+     * @var bool $dumpAutoloader
+     */
+    protected $dumpAutoloader = false;
+
+    /**
+     * @var bool $optimizeAutoloader
+     */
+    protected $optimizeAutoloader = false;
+
+    /**
+     * @param Composer $composer
+     */
+    public function __construct(Composer $composer)
+    {
+        $this->composer = $composer;
+    }
+
+    /**
+     * Load plugin settings
+     */
+    public function loadSettings()
+    {
+        $extra = $this->getRootPackage()->getExtra();
+        $config = array_merge(
+            array(
+                'include' => array(),
+                'recurse' => true,
+                'replace' => false,
+                'merge-extra' => false,
+            ),
+            isset($extra['merge-plugin']) ? $extra['merge-plugin'] : array()
+        );
+
+        $this->includes = (is_array($config['include'])) ?
+            $config['include'] : array($config['include']);
+        $this->recurse = (bool)$config['recurse'];
+        $this->replace = (bool)$config['replace'];
+        $this->mergeExtra = (bool)$config['merge-extra'];
+    }
+
+    /**
+     * Get the root package
+     *
+     * @return RootPackage
+     */
+    public function getRootPackage()
+    {
+        $root = $this->composer->getPackage();
+        if ($root instanceof AliasPackage) {
+            $root = $root->getAliasOf();
+        }
+        // @codeCoverageIgnoreStart
+        if (!$root instanceof RootPackage) {
+            throw new UnexpectedValueException(
+                'Expected instance of RootPackage, got ' .
+                get_class($root)
+            );
+        }
+        // @codeCoverageIgnoreEnd
+        return $root;
+    }
+
+    /**
+     * Get list of filenames and/or glob patterns to include
+     *
+     * @return array
+     */
+    public function getIncludes()
+    {
+        return $this->includes;
+    }
+
+    /**
+     * Set the first install flag
+     *
+     * @param bool $flag
+     */
+    public function setFirstInstall($flag)
+    {
+        $this->firstInstall = (bool)$flag;
+    }
+
+    /**
+     * Is this the first time that the plugin has been installed?
+     *
+     * @return bool
+     */
+    public function isFirstInstall()
+    {
+        return $this->firstInstall;
+    }
+
+    /**
+     * Set the locked flag
+     *
+     * @param bool $flag
+     */
+    public function setLocked($flag)
+    {
+        $this->locked = (bool)$flag;
+    }
+
+    /**
+     * Was a lockfile present when the plugin was installed?
+     *
+     * @return bool
+     */
+    public function isLocked()
+    {
+        return $this->locked;
+    }
+
+    /**
+     * Should an update be forced?
+     *
+     * @return true If packages are not locked
+     */
+    public function forceUpdate()
+    {
+        return !$this->locked;
+    }
+
+    /**
+     * Set the devMode flag
+     *
+     * @param bool $flag
+     */
+    public function setDevMode($flag)
+    {
+        $this->devMode = (bool)$flag;
+    }
+
+    /**
+     * Should devMode settings be processed?
+     *
+     * @return bool
+     */
+    public function isDevMode()
+    {
+        return $this->devMode;
+    }
+
+    /**
+     * Set the dumpAutoloader flag
+     *
+     * @param bool $flag
+     */
+    public function setDumpAutoloader($flag)
+    {
+        $this->dumpAutoloader = (bool)$flag;
+    }
+
+    /**
+     * Is the autoloader file supposed to be written out?
+     *
+     * @return bool
+     */
+    public function shouldDumpAutoloader()
+    {
+        return $this->dumpAutoloader;
+    }
+
+    /**
+     * Set the optimizeAutoloader flag
+     *
+     * @param bool $flag
+     */
+    public function setOptimizeAutoloader($flag)
+    {
+        $this->optimizeAutoloader = (bool)$flag;
+    }
+
+    /**
+     * Should the autoloader be optimized?
+     *
+     * @return bool
+     */
+    public function shouldOptimizeAutoloader()
+    {
+        return $this->optimizeAutoloader;
+    }
+
+    /**
+     * Add duplicate packages
+     *
+     * @param string $type Package type
+     * @param array $packages
+     */
+    public function addDuplicateLinks($type, array $packages)
+    {
+        if (!isset($this->duplicateLinks[$type])) {
+            $this->duplicateLinks[$type] = array();
+        }
+        $this->duplicateLinks[$type] =
+            array_merge($this->duplicateLinks[$type], $packages);
+    }
+
+    /**
+     * Get duplicate packages
+     *
+     * @param string $type Package type
+     * @return array
+     */
+    public function getDuplicateLinks($type)
+    {
+        return isset($this->duplicateLinks[$type]) ?
+            $this->duplicateLinks[$type] : array();
+    }
+
+    /**
+     * Should includes be recursively processed?
+     *
+     * @return bool
+     */
+    public function recurseIncludes()
+    {
+        return $this->recurse;
+    }
+
+    /**
+     * Should duplicate links be replaced in a 'last definition wins' order?
+     *
+     * @return bool
+     */
+    public function replaceDuplicateLinks()
+    {
+        return $this->replace;
+    }
+
+    /**
+     * Should the extra section be merged?
+     *
+     * By default, the extra section is not merged and there will be many
+     * cases where the merge of the extra section is performed too late
+     * to be of use to other plugins. When enabled, merging uses one of
+     * two strategies - either 'first wins' or 'last wins'. When enabled,
+     * 'first wins' is the default behaviour. If Replace mode is activated
+     * then 'last wins' is used.
+     *
+     * @return bool
+     */
+    public function shouldMergeExtra()
+    {
+        return $this->mergeExtra;
+    }
+}
+// vim:sw=4:ts=4:sts=4:et:
diff --git a/vendor/wikimedia/composer-merge-plugin/src/MergePlugin.php b/vendor/wikimedia/composer-merge-plugin/src/MergePlugin.php
new file mode 100644
index 0000000..112d410
--- /dev/null
+++ b/vendor/wikimedia/composer-merge-plugin/src/MergePlugin.php
@@ -0,0 +1,296 @@
+<?php
+/**
+ * This file is part of the Composer Merge plugin.
+ *
+ * Copyright (C) 2015 Bryan Davis, Wikimedia Foundation, and contributors
+ *
+ * This software may be modified and distributed under the terms of the MIT
+ * license. See the LICENSE file for details.
+ */
+
+namespace Wikimedia\Composer;
+
+use Wikimedia\Composer\Merge\ExtraPackage;
+use Wikimedia\Composer\Merge\PluginState;
+
+use Composer\Composer;
+use Composer\DependencyResolver\Operation\InstallOperation;
+use Composer\EventDispatcher\EventSubscriberInterface;
+use Composer\Factory;
+use Composer\Installer;
+use Composer\Installer\InstallerEvent;
+use Composer\Installer\InstallerEvents;
+use Composer\Installer\PackageEvent;
+use Composer\Installer\PackageEvents;
+use Composer\IO\IOInterface;
+use Composer\Package\RootPackage;
+use Composer\Plugin\PluginInterface;
+use Composer\Script\Event;
+use Composer\Script\ScriptEvents;
+
+/**
+ * Composer plugin that allows merging multiple composer.json files.
+ *
+ * When installed, this plugin will look for a "merge-plugin" key in the
+ * composer configuration's "extra" section. The value of this setting can be
+ * either a single value or an array of values. Each value is treated as
+ * a glob() pattern identifying additional composer.json style configuration
+ * files to merge into the configuration for the current compser execution.
+ *
+ * The "require", "require-dev", "repositories", "extra" and "suggest" sections
+ * of the found configuration files will be merged into the root package
+ * configuration as though they were directly included in the top-level
+ * composer.json file.
+ *
+ * If included files specify conflicting package versions for "require" or
+ * "require-dev", the normal Composer dependency solver process will be used
+ * to attempt to resolve the conflict. Specifying the 'replace' key as true will
+ * change this default behaviour so that the last-defined version of a package
+ * will win, allowing for force-overrides of package defines.
+ *
+ * By default the "extra" section is not merged. This can be enabled with the
+ * 'merge-extra' key by setting it to true. In normal mode, when the same key
+ * is found in both the original and the imported extra section, the version
+ * in the original config is used and the imported version is skipped. If
+ * 'replace' mode is active, this behaviour changes so the imported version of
+ * the key is used, replacing the version in the original config.
+ *
+ *
+ * @code
+ * {
+ *     "require": {
+ *         "wikimedia/composer-merge-plugin": "dev-master"
+ *     },
+ *     "extra": {
+ *         "merge-plugin": {
+ *             "include": [
+ *                 "composer.local.json"
+ *             ]
+ *         }
+ *     }
+ * }
+ * @endcode
+ *
+ * @author Bryan Davis <bd808@bd808.com>
+ */
+class MergePlugin implements PluginInterface, EventSubscriberInterface
+{
+
+    /**
+     * Offical package name
+     */
+    const PACKAGE_NAME = 'wikimedia/composer-merge-plugin';
+
+    /**
+     * @var Composer $composer
+     */
+    protected $composer;
+
+    /**
+     * @var PluginState $state
+     */
+    protected $state;
+
+    /**
+     * @var Logger $logger
+     */
+    protected $logger;
+
+    /**
+     * Files that have already been processed
+     *
+     * @var string[] $loadedFiles
+     */
+    protected $loadedFiles = array();
+
+    /**
+     * {@inheritdoc}
+     */
+    public function activate(Composer $composer, IOInterface $io)
+    {
+        $this->composer = $composer;
+        $this->state = new PluginState($this->composer);
+        $this->logger = new Logger('merge-plugin', $io);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public static function getSubscribedEvents()
+    {
+        return array(
+            InstallerEvents::PRE_DEPENDENCIES_SOLVING => 'onDependencySolve',
+            PackageEvents::POST_PACKAGE_INSTALL => 'onPostPackageInstall',
+            ScriptEvents::POST_INSTALL_CMD => 'onPostInstallOrUpdate',
+            ScriptEvents::POST_UPDATE_CMD => 'onPostInstallOrUpdate',
+            ScriptEvents::PRE_AUTOLOAD_DUMP => 'onInstallUpdateOrDump',
+            ScriptEvents::PRE_INSTALL_CMD => 'onInstallUpdateOrDump',
+            ScriptEvents::PRE_UPDATE_CMD => 'onInstallUpdateOrDump',
+        );
+    }
+
+    /**
+     * Handle an event callback for an install, update or dump command by
+     * checking for "merge-plugin" in the "extra" data and merging package
+     * contents if found.
+     *
+     * @param Event $event
+     */
+    public function onInstallUpdateOrDump(Event $event)
+    {
+        $this->state->loadSettings();
+        $this->state->setDevMode($event->isDevMode());
+        $this->mergeIncludes($this->state->getIncludes());
+
+        if ($event->getName() === ScriptEvents::PRE_AUTOLOAD_DUMP) {
+            $this->state->setDumpAutoloader(true);
+            $flags = $event->getFlags();
+            if (isset($flags['optimize'])) {
+                $this->state->setOptimizeAutoloader($flags['optimize']);
+            }
+        }
+    }
+
+    /**
+     * Find configuration files matching the configured glob patterns and
+     * merge their contents with the master package.
+     *
+     * @param array $includes List of files/glob patterns
+     */
+    protected function mergeIncludes(array $includes)
+    {
+        $root = $this->state->getRootPackage();
+        foreach (array_reduce(
+            array_map('glob', $includes),
+            'array_merge',
+            array()
+        ) as $path) {
+            $this->mergeFile($root, $path);
+        }
+    }
+
+    /**
+     * Read a JSON file and merge its contents
+     *
+     * @param RootPackage $root
+     * @param string $path
+     */
+    protected function mergeFile(RootPackage $root, $path)
+    {
+        if (isset($this->loadedFiles[$path])) {
+            $this->logger->debug(
+                "Skipping duplicate <comment>$path</comment>..."
+            );
+            return;
+        } else {
+            $this->loadedFiles[$path] = true;
+        }
+        $this->logger->debug("Loading <comment>{$path}</comment>...");
+
+        $package = new ExtraPackage($path, $this->composer, $this->logger);
+        $package->mergeInto($root, $this->state);
+
+        if ($this->state->recurseIncludes()) {
+            $this->mergeIncludes($package->getIncludes());
+        }
+    }
+
+    /**
+     * Handle an event callback for pre-dependency solving phase of an install
+     * or update by adding any duplicate package dependencies found during
+     * initial merge processing to the request that will be processed by the
+     * dependency solver.
+     *
+     * @param InstallerEvent $event
+     */
+    public function onDependencySolve(InstallerEvent $event)
+    {
+        $request = $event->getRequest();
+        foreach ($this->state->getDuplicateLinks('require') as $link) {
+            $this->logger->debug(
+                "Adding dependency <comment>{$link}</comment>"
+            );
+            $request->install($link->getTarget(), $link->getConstraint());
+        }
+        if ($this->state->isDevMode()) {
+            foreach ($this->state->getDuplicateLinks('require-dev') as $link) {
+                $this->logger->debug(
+                    "Adding dev dependency <comment>{$link}</comment>"
+                );
+                $request->install($link->getTarget(), $link->getConstraint());
+            }
+        }
+    }
+
+    /**
+     * Handle an event callback following installation of a new package by
+     * checking to see if the package that was installed was our plugin.
+     *
+     * @param PackageEvent $event
+     */
+    public function onPostPackageInstall(PackageEvent $event)
+    {
+        $op = $event->getOperation();
+        if ($op instanceof InstallOperation) {
+            $package = $op->getPackage()->getName();
+            if ($package === self::PACKAGE_NAME) {
+                $this->logger->debug('composer-merge-plugin installed');
+                $this->state->setFirstInstall(true);
+                $this->state->setLocked(
+                    $event->getComposer()->getLocker()->isLocked()
+                );
+            }
+        }
+    }
+
+    /**
+     * Handle an event callback following an install or update command. If our
+     * plugin was installed during the run then trigger an update command to
+     * process any merge-patterns in the current config.
+     *
+     * @param Event $event
+     */
+    public function onPostInstallOrUpdate(Event $event)
+    {
+        // @codeCoverageIgnoreStart
+        if ($this->state->isFirstInstall()) {
+            $this->state->setFirstInstall(false);
+            $this->logger->debug(
+                '<comment>' .
+                'Running additional update to apply merge settings' .
+                '</comment>'
+            );
+
+            $config = $this->composer->getConfig();
+
+            $preferSource = $config->get('preferred-install') == 'source';
+            $preferDist = $config->get('preferred-install') == 'dist';
+
+            $installer = Installer::create(
+                $event->getIO(),
+                // Create a new Composer instance to ensure full processing of
+                // the merged files.
+                Factory::create($event->getIO(), null, false)
+            );
+
+            $installer->setPreferSource($preferSource);
+            $installer->setPreferDist($preferDist);
+            $installer->setDevMode($event->isDevMode());
+            $installer->setDumpAutoloader($this->state->shouldDumpAutoloader());
+            $installer->setOptimizeAutoloader(
+                $this->state->shouldOptimizeAutoloader()
+            );
+
+            if ($this->state->forceUpdate()) {
+                // Force update mode so that new packages are processed rather
+                // than just telling the user that composer.json and
+                // composer.lock don't match.
+                $installer->setUpdate(true);
+            }
+
+            $installer->run();
+        }
+        // @codeCoverageIgnoreEnd
+    }
+}
+// vim:sw=4:ts=4:sts=4:et:
diff --git a/core/vendor/zendframework/zend-diactoros/.coveralls.yml b/vendor/zendframework/zend-diactoros/.coveralls.yml
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/.coveralls.yml
rename to vendor/zendframework/zend-diactoros/.coveralls.yml
diff --git a/core/vendor/zendframework/zend-diactoros/CHANGELOG.md b/vendor/zendframework/zend-diactoros/CHANGELOG.md
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/CHANGELOG.md
rename to vendor/zendframework/zend-diactoros/CHANGELOG.md
diff --git a/core/vendor/zendframework/zend-diactoros/CONTRIBUTING.md b/vendor/zendframework/zend-diactoros/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/CONTRIBUTING.md
rename to vendor/zendframework/zend-diactoros/CONTRIBUTING.md
diff --git a/core/vendor/zendframework/zend-diactoros/LICENSE.md b/vendor/zendframework/zend-diactoros/LICENSE.md
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/LICENSE.md
rename to vendor/zendframework/zend-diactoros/LICENSE.md
diff --git a/core/vendor/zendframework/zend-diactoros/README.md b/vendor/zendframework/zend-diactoros/README.md
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/README.md
rename to vendor/zendframework/zend-diactoros/README.md
diff --git a/core/vendor/zendframework/zend-diactoros/composer.json b/vendor/zendframework/zend-diactoros/composer.json
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/composer.json
rename to vendor/zendframework/zend-diactoros/composer.json
diff --git a/core/vendor/zendframework/zend-diactoros/phpcs.xml b/vendor/zendframework/zend-diactoros/phpcs.xml
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/phpcs.xml
rename to vendor/zendframework/zend-diactoros/phpcs.xml
diff --git a/core/vendor/zendframework/zend-diactoros/src/AbstractSerializer.php b/vendor/zendframework/zend-diactoros/src/AbstractSerializer.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/AbstractSerializer.php
rename to vendor/zendframework/zend-diactoros/src/AbstractSerializer.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php b/vendor/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php
rename to vendor/zendframework/zend-diactoros/src/Exception/DeprecatedMethodException.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php b/vendor/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-diactoros/src/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/HeaderSecurity.php b/vendor/zendframework/zend-diactoros/src/HeaderSecurity.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/HeaderSecurity.php
rename to vendor/zendframework/zend-diactoros/src/HeaderSecurity.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/MessageTrait.php b/vendor/zendframework/zend-diactoros/src/MessageTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/MessageTrait.php
rename to vendor/zendframework/zend-diactoros/src/MessageTrait.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/PhpInputStream.php b/vendor/zendframework/zend-diactoros/src/PhpInputStream.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/PhpInputStream.php
rename to vendor/zendframework/zend-diactoros/src/PhpInputStream.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/RelativeStream.php b/vendor/zendframework/zend-diactoros/src/RelativeStream.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/RelativeStream.php
rename to vendor/zendframework/zend-diactoros/src/RelativeStream.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Request.php b/vendor/zendframework/zend-diactoros/src/Request.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Request.php
rename to vendor/zendframework/zend-diactoros/src/Request.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Request/Serializer.php b/vendor/zendframework/zend-diactoros/src/Request/Serializer.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Request/Serializer.php
rename to vendor/zendframework/zend-diactoros/src/Request/Serializer.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/RequestTrait.php b/vendor/zendframework/zend-diactoros/src/RequestTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/RequestTrait.php
rename to vendor/zendframework/zend-diactoros/src/RequestTrait.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response.php b/vendor/zendframework/zend-diactoros/src/Response.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response.php
rename to vendor/zendframework/zend-diactoros/src/Response.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/EmitterInterface.php b/vendor/zendframework/zend-diactoros/src/Response/EmitterInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/EmitterInterface.php
rename to vendor/zendframework/zend-diactoros/src/Response/EmitterInterface.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/EmptyResponse.php b/vendor/zendframework/zend-diactoros/src/Response/EmptyResponse.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/EmptyResponse.php
rename to vendor/zendframework/zend-diactoros/src/Response/EmptyResponse.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php b/vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php
rename to vendor/zendframework/zend-diactoros/src/Response/HtmlResponse.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php b/vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php
rename to vendor/zendframework/zend-diactoros/src/Response/InjectContentTypeTrait.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php b/vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php
rename to vendor/zendframework/zend-diactoros/src/Response/JsonResponse.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/RedirectResponse.php b/vendor/zendframework/zend-diactoros/src/Response/RedirectResponse.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/RedirectResponse.php
rename to vendor/zendframework/zend-diactoros/src/Response/RedirectResponse.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/SapiEmitter.php b/vendor/zendframework/zend-diactoros/src/Response/SapiEmitter.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/SapiEmitter.php
rename to vendor/zendframework/zend-diactoros/src/Response/SapiEmitter.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Response/Serializer.php b/vendor/zendframework/zend-diactoros/src/Response/Serializer.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Response/Serializer.php
rename to vendor/zendframework/zend-diactoros/src/Response/Serializer.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Server.php b/vendor/zendframework/zend-diactoros/src/Server.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Server.php
rename to vendor/zendframework/zend-diactoros/src/Server.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/ServerRequest.php b/vendor/zendframework/zend-diactoros/src/ServerRequest.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/ServerRequest.php
rename to vendor/zendframework/zend-diactoros/src/ServerRequest.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php b/vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php
rename to vendor/zendframework/zend-diactoros/src/ServerRequestFactory.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Stream.php b/vendor/zendframework/zend-diactoros/src/Stream.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Stream.php
rename to vendor/zendframework/zend-diactoros/src/Stream.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/UploadedFile.php b/vendor/zendframework/zend-diactoros/src/UploadedFile.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/UploadedFile.php
rename to vendor/zendframework/zend-diactoros/src/UploadedFile.php
diff --git a/core/vendor/zendframework/zend-diactoros/src/Uri.php b/vendor/zendframework/zend-diactoros/src/Uri.php
similarity index 100%
rename from core/vendor/zendframework/zend-diactoros/src/Uri.php
rename to vendor/zendframework/zend-diactoros/src/Uri.php
diff --git a/core/vendor/zendframework/zend-escaper/CONTRIBUTING.md b/vendor/zendframework/zend-escaper/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/CONTRIBUTING.md
rename to vendor/zendframework/zend-escaper/CONTRIBUTING.md
diff --git a/core/vendor/zendframework/zend-stdlib/LICENSE.md b/vendor/zendframework/zend-escaper/LICENSE.md
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/LICENSE.md
rename to vendor/zendframework/zend-escaper/LICENSE.md
diff --git a/core/vendor/zendframework/zend-escaper/README.md b/vendor/zendframework/zend-escaper/README.md
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/README.md
rename to vendor/zendframework/zend-escaper/README.md
diff --git a/core/vendor/zendframework/zend-escaper/composer.json b/vendor/zendframework/zend-escaper/composer.json
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/composer.json
rename to vendor/zendframework/zend-escaper/composer.json
diff --git a/core/vendor/zendframework/zend-escaper/src/Escaper.php b/vendor/zendframework/zend-escaper/src/Escaper.php
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/src/Escaper.php
rename to vendor/zendframework/zend-escaper/src/Escaper.php
diff --git a/core/vendor/zendframework/zend-escaper/src/Exception/ExceptionInterface.php b/vendor/zendframework/zend-escaper/src/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/src/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-escaper/src/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-escaper/src/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-escaper/src/Exception/RuntimeException.php b/vendor/zendframework/zend-escaper/src/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/src/Exception/RuntimeException.php
rename to vendor/zendframework/zend-escaper/src/Exception/RuntimeException.php
diff --git a/core/vendor/zendframework/zend-feed/CHANGELOG.md b/vendor/zendframework/zend-feed/CHANGELOG.md
similarity index 100%
rename from core/vendor/zendframework/zend-feed/CHANGELOG.md
rename to vendor/zendframework/zend-feed/CHANGELOG.md
diff --git a/core/vendor/zendframework/zend-feed/CONTRIBUTING.md b/vendor/zendframework/zend-feed/CONTRIBUTING.md
similarity index 100%
rename from core/vendor/zendframework/zend-feed/CONTRIBUTING.md
rename to vendor/zendframework/zend-feed/CONTRIBUTING.md
diff --git a/core/vendor/zendframework/zend-feed/LICENSE.md b/vendor/zendframework/zend-feed/LICENSE.md
similarity index 100%
rename from core/vendor/zendframework/zend-feed/LICENSE.md
rename to vendor/zendframework/zend-feed/LICENSE.md
diff --git a/core/vendor/zendframework/zend-feed/README.md b/vendor/zendframework/zend-feed/README.md
similarity index 100%
rename from core/vendor/zendframework/zend-feed/README.md
rename to vendor/zendframework/zend-feed/README.md
diff --git a/core/vendor/zendframework/zend-feed/composer.json b/vendor/zendframework/zend-feed/composer.json
similarity index 100%
rename from core/vendor/zendframework/zend-feed/composer.json
rename to vendor/zendframework/zend-feed/composer.json
diff --git a/core/vendor/zendframework/zend-feed/src/Exception/BadMethodCallException.php b/vendor/zendframework/zend-feed/src/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Exception/BadMethodCallException.php
rename to vendor/zendframework/zend-feed/src/Exception/BadMethodCallException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Exception/ExceptionInterface.php b/vendor/zendframework/zend-feed/src/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-feed/src/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-feed/src/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-feed/src/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Exception/RuntimeException.php b/vendor/zendframework/zend-feed/src/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Exception/RuntimeException.php
rename to vendor/zendframework/zend-feed/src/Exception/RuntimeException.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/AbstractCallback.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/AbstractCallback.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/AbstractCallback.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/AbstractCallback.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/CallbackInterface.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/CallbackInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/CallbackInterface.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/CallbackInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/ExceptionInterface.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/RuntimeException.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/RuntimeException.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Exception/RuntimeException.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/HttpResponse.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/HttpResponse.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/HttpResponse.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/HttpResponse.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/AbstractModel.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/AbstractModel.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/AbstractModel.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Model/AbstractModel.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/Subscription.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/Subscription.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/Subscription.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Model/Subscription.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/SubscriptionPersistenceInterface.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/SubscriptionPersistenceInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Model/SubscriptionPersistenceInterface.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Model/SubscriptionPersistenceInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/PubSubHubbub.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/PubSubHubbub.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/PubSubHubbub.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/PubSubHubbub.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Publisher.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Publisher.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Publisher.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Publisher.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber/Callback.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber/Callback.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber/Callback.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Subscriber/Callback.php
diff --git a/core/vendor/zendframework/zend-feed/src/PubSubHubbub/Version.php b/vendor/zendframework/zend-feed/src/PubSubHubbub/Version.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/PubSubHubbub/Version.php
rename to vendor/zendframework/zend-feed/src/PubSubHubbub/Version.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/AbstractEntry.php b/vendor/zendframework/zend-feed/src/Reader/AbstractEntry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/AbstractEntry.php
rename to vendor/zendframework/zend-feed/src/Reader/AbstractEntry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/AbstractFeed.php b/vendor/zendframework/zend-feed/src/Reader/AbstractFeed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/AbstractFeed.php
rename to vendor/zendframework/zend-feed/src/Reader/AbstractFeed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Collection.php b/vendor/zendframework/zend-feed/src/Reader/Collection.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Collection.php
rename to vendor/zendframework/zend-feed/src/Reader/Collection.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Collection/AbstractCollection.php b/vendor/zendframework/zend-feed/src/Reader/Collection/AbstractCollection.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Collection/AbstractCollection.php
rename to vendor/zendframework/zend-feed/src/Reader/Collection/AbstractCollection.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Collection/Author.php b/vendor/zendframework/zend-feed/src/Reader/Collection/Author.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Collection/Author.php
rename to vendor/zendframework/zend-feed/src/Reader/Collection/Author.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Collection/Category.php b/vendor/zendframework/zend-feed/src/Reader/Collection/Category.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Collection/Category.php
rename to vendor/zendframework/zend-feed/src/Reader/Collection/Category.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Collection/Collection.php b/vendor/zendframework/zend-feed/src/Reader/Collection/Collection.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Collection/Collection.php
rename to vendor/zendframework/zend-feed/src/Reader/Collection/Collection.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Entry/AbstractEntry.php b/vendor/zendframework/zend-feed/src/Reader/Entry/AbstractEntry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Entry/AbstractEntry.php
rename to vendor/zendframework/zend-feed/src/Reader/Entry/AbstractEntry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Entry/Atom.php b/vendor/zendframework/zend-feed/src/Reader/Entry/Atom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Entry/Atom.php
rename to vendor/zendframework/zend-feed/src/Reader/Entry/Atom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Entry/EntryInterface.php b/vendor/zendframework/zend-feed/src/Reader/Entry/EntryInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Entry/EntryInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/Entry/EntryInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Entry/Rss.php b/vendor/zendframework/zend-feed/src/Reader/Entry/Rss.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Entry/Rss.php
rename to vendor/zendframework/zend-feed/src/Reader/Entry/Rss.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Exception/BadMethodCallException.php b/vendor/zendframework/zend-feed/src/Reader/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Exception/BadMethodCallException.php
rename to vendor/zendframework/zend-feed/src/Reader/Exception/BadMethodCallException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Exception/ExceptionInterface.php b/vendor/zendframework/zend-feed/src/Reader/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-feed/src/Reader/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-feed/src/Reader/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Exception/RuntimeException.php b/vendor/zendframework/zend-feed/src/Reader/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Exception/RuntimeException.php
rename to vendor/zendframework/zend-feed/src/Reader/Exception/RuntimeException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractEntry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractEntry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractEntry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/AbstractEntry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractFeed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractFeed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/AbstractFeed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/AbstractFeed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Atom/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Content/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Content/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Content/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Content/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/CreativeCommons/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/DublinCore/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Podcast/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Slash/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Slash/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Slash/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Slash/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Syndication/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/Thread/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/Thread/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/Thread/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/Thread/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Extension/WellFormedWeb/Entry.php b/vendor/zendframework/zend-feed/src/Reader/Extension/WellFormedWeb/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Extension/WellFormedWeb/Entry.php
rename to vendor/zendframework/zend-feed/src/Reader/Extension/WellFormedWeb/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/ExtensionManager.php b/vendor/zendframework/zend-feed/src/Reader/ExtensionManager.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/ExtensionManager.php
rename to vendor/zendframework/zend-feed/src/Reader/ExtensionManager.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/ExtensionManagerInterface.php b/vendor/zendframework/zend-feed/src/Reader/ExtensionManagerInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/ExtensionManagerInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/ExtensionManagerInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/ExtensionPluginManager.php b/vendor/zendframework/zend-feed/src/Reader/ExtensionPluginManager.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/ExtensionPluginManager.php
rename to vendor/zendframework/zend-feed/src/Reader/ExtensionPluginManager.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Feed/AbstractFeed.php b/vendor/zendframework/zend-feed/src/Reader/Feed/AbstractFeed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Feed/AbstractFeed.php
rename to vendor/zendframework/zend-feed/src/Reader/Feed/AbstractFeed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Feed/Atom.php b/vendor/zendframework/zend-feed/src/Reader/Feed/Atom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Feed/Atom.php
rename to vendor/zendframework/zend-feed/src/Reader/Feed/Atom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Feed/Atom/Source.php b/vendor/zendframework/zend-feed/src/Reader/Feed/Atom/Source.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Feed/Atom/Source.php
rename to vendor/zendframework/zend-feed/src/Reader/Feed/Atom/Source.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Feed/FeedInterface.php b/vendor/zendframework/zend-feed/src/Reader/Feed/FeedInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Feed/FeedInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/Feed/FeedInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Feed/Rss.php b/vendor/zendframework/zend-feed/src/Reader/Feed/Rss.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Feed/Rss.php
rename to vendor/zendframework/zend-feed/src/Reader/Feed/Rss.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/FeedSet.php b/vendor/zendframework/zend-feed/src/Reader/FeedSet.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/FeedSet.php
rename to vendor/zendframework/zend-feed/src/Reader/FeedSet.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Http/ClientInterface.php b/vendor/zendframework/zend-feed/src/Reader/Http/ClientInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Http/ClientInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/Http/ClientInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Http/ResponseInterface.php b/vendor/zendframework/zend-feed/src/Reader/Http/ResponseInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Http/ResponseInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/Http/ResponseInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/Reader.php b/vendor/zendframework/zend-feed/src/Reader/Reader.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/Reader.php
rename to vendor/zendframework/zend-feed/src/Reader/Reader.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/ReaderImportInterface.php b/vendor/zendframework/zend-feed/src/Reader/ReaderImportInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/ReaderImportInterface.php
rename to vendor/zendframework/zend-feed/src/Reader/ReaderImportInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Reader/StandaloneExtensionManager.php b/vendor/zendframework/zend-feed/src/Reader/StandaloneExtensionManager.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Reader/StandaloneExtensionManager.php
rename to vendor/zendframework/zend-feed/src/Reader/StandaloneExtensionManager.php
diff --git a/core/vendor/zendframework/zend-feed/src/Uri.php b/vendor/zendframework/zend-feed/src/Uri.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Uri.php
rename to vendor/zendframework/zend-feed/src/Uri.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/AbstractFeed.php b/vendor/zendframework/zend-feed/src/Writer/AbstractFeed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/AbstractFeed.php
rename to vendor/zendframework/zend-feed/src/Writer/AbstractFeed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Deleted.php b/vendor/zendframework/zend-feed/src/Writer/Deleted.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Deleted.php
rename to vendor/zendframework/zend-feed/src/Writer/Deleted.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Exception/BadMethodCallException.php b/vendor/zendframework/zend-feed/src/Writer/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Exception/BadMethodCallException.php
rename to vendor/zendframework/zend-feed/src/Writer/Exception/BadMethodCallException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Exception/ExceptionInterface.php b/vendor/zendframework/zend-feed/src/Writer/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-feed/src/Writer/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-feed/src/Writer/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-feed/src/Writer/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Exception/RuntimeException.php b/vendor/zendframework/zend-feed/src/Writer/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Exception/RuntimeException.php
rename to vendor/zendframework/zend-feed/src/Writer/Exception/RuntimeException.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/AbstractRenderer.php b/vendor/zendframework/zend-feed/src/Writer/Extension/AbstractRenderer.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/AbstractRenderer.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/AbstractRenderer.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php b/vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/Atom/Renderer/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/Content/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/Content/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/Content/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/Content/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php b/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/DublinCore/Renderer/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php b/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php b/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/ITunes/Renderer/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/RendererInterface.php b/vendor/zendframework/zend-feed/src/Writer/Extension/RendererInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/RendererInterface.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/RendererInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/Slash/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/Slash/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/Slash/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/Slash/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/Threading/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Extension/WellFormedWeb/Renderer/Entry.php b/vendor/zendframework/zend-feed/src/Writer/Extension/WellFormedWeb/Renderer/Entry.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Extension/WellFormedWeb/Renderer/Entry.php
rename to vendor/zendframework/zend-feed/src/Writer/Extension/WellFormedWeb/Renderer/Entry.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/ExtensionManager.php b/vendor/zendframework/zend-feed/src/Writer/ExtensionManager.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/ExtensionManager.php
rename to vendor/zendframework/zend-feed/src/Writer/ExtensionManager.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/ExtensionManagerInterface.php b/vendor/zendframework/zend-feed/src/Writer/ExtensionManagerInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/ExtensionManagerInterface.php
rename to vendor/zendframework/zend-feed/src/Writer/ExtensionManagerInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/ExtensionPluginManager.php b/vendor/zendframework/zend-feed/src/Writer/ExtensionPluginManager.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/ExtensionPluginManager.php
rename to vendor/zendframework/zend-feed/src/Writer/ExtensionPluginManager.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Feed.php b/vendor/zendframework/zend-feed/src/Writer/Feed.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Feed.php
rename to vendor/zendframework/zend-feed/src/Writer/Feed.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/FeedFactory.php b/vendor/zendframework/zend-feed/src/Writer/FeedFactory.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/FeedFactory.php
rename to vendor/zendframework/zend-feed/src/Writer/FeedFactory.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/AbstractRenderer.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/AbstractRenderer.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/AbstractRenderer.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/AbstractRenderer.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom/Deleted.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom/Deleted.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom/Deleted.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Atom/Deleted.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/AtomDeleted.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Rss.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Rss.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Rss.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Entry/Rss.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AbstractAtom.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AbstractAtom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AbstractAtom.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AbstractAtom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/AbstractAtom.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/AbstractAtom.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/AbstractAtom.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/AbstractAtom.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/Source.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/Source.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/Source.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Atom/Source.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AtomSource.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AtomSource.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AtomSource.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/AtomSource.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Rss.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Rss.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Rss.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/Feed/Rss.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Renderer/RendererInterface.php b/vendor/zendframework/zend-feed/src/Writer/Renderer/RendererInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Renderer/RendererInterface.php
rename to vendor/zendframework/zend-feed/src/Writer/Renderer/RendererInterface.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Source.php b/vendor/zendframework/zend-feed/src/Writer/Source.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Source.php
rename to vendor/zendframework/zend-feed/src/Writer/Source.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Version.php b/vendor/zendframework/zend-feed/src/Writer/Version.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Version.php
rename to vendor/zendframework/zend-feed/src/Writer/Version.php
diff --git a/core/vendor/zendframework/zend-feed/src/Writer/Writer.php b/vendor/zendframework/zend-feed/src/Writer/Writer.php
similarity index 100%
rename from core/vendor/zendframework/zend-feed/src/Writer/Writer.php
rename to vendor/zendframework/zend-feed/src/Writer/Writer.php
diff --git a/vendor/zendframework/zend-hydrator/CHANGELOG.md b/vendor/zendframework/zend-hydrator/CHANGELOG.md
new file mode 100644
index 0000000..6911686
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/CHANGELOG.md
@@ -0,0 +1,39 @@
+# Changelog
+
+All notable changes to this project will be documented in this file, in reverse chronological order by release.
+
+## 1.0.0 - 2015-09-17
+
+Initial release. This ports all hydrator classes and functionality from
+[zend-stdlib](https://github.com/zendframework/zend-stdlib) to a standalone
+repository. All final keywords are removed, to allow a deprecation cycle in the
+zend-stdlib component.
+
+Please note: the following classes will be marked as `final` for a version 2.0.0
+release to immediately follow 1.0.0:
+
+- `Zend\Hydrator\NamingStrategy\IdentityNamingStrategy`
+- `Zend\Hydrator\NamingStrategy\ArrayMapNamingStrategy`
+- `Zend\Hydrator\NamingStrategy\CompositeNamingStrategy`
+- `Zend\Hydrator\Strategy\ExplodeStrategy`
+- `Zend\Hydrator\Strategy\StrategyChain`
+- `Zend\Hydrator\Strategy\DateTimeFormatterStrategy`
+- `Zend\Hydrator\Strategy\BooleanStrategy`
+
+As such, you should not extend them.
+
+### Added
+
+- Nothing.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- Nothing.
diff --git a/vendor/zendframework/zend-hydrator/CONTRIBUTING.md b/vendor/zendframework/zend-hydrator/CONTRIBUTING.md
new file mode 100644
index 0000000..ddfff50
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/CONTRIBUTING.md
@@ -0,0 +1,229 @@
+# CONTRIBUTING
+
+## RESOURCES
+
+If you wish to contribute to Zend Framework, please be sure to
+read/subscribe to the following resources:
+
+ -  [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
+ -  [Contributor's Guide](http://framework.zend.com/participate/contributor-guide)
+ -  ZF Contributor's mailing list:
+    Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
+    Subscribe: zf-contributors-subscribe@lists.zend.com
+ -  ZF Contributor's IRC channel:
+    #zftalk.dev on Freenode.net
+
+If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-hydrator/issues/new).
+
+## Reporting Potential Security Issues
+
+If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
+issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
+We will work with you to verify the vulnerability and patch it as soon as possible.
+
+When reporting issues, please provide the following information:
+
+- Component(s) affected
+- A description indicating how to reproduce the issue
+- A summary of the security vulnerability and impact
+
+We request that you contact us via the email address above and give the project
+contributors a chance to resolve the vulnerability and issue a new release prior
+to any public exposure; this helps protect users and provides them with a chance
+to upgrade and/or update in order to protect their applications.
+
+For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
+
+## RUNNING TESTS
+
+> ### Note: testing versions prior to 2.4
+>
+> This component originates with Zend Framework 2. During the lifetime of ZF2,
+> testing infrastructure migrated from PHPUnit 3 to PHPUnit 4. In most cases, no
+> changes were necessary. However, due to the migration, tests may not run on
+> versions < 2.4. As such, you may need to change the PHPUnit dependency if
+> attempting a fix on such a version.
+
+To run tests:
+
+- Clone the repository:
+
+  ```console
+  $ git clone git@github.com:zendframework/zend-hydrator.git
+  $ cd
+  ```
+
+- Install dependencies via composer:
+
+  ```console
+  $ curl -sS https://getcomposer.org/installer | php --
+  $ ./composer.phar install
+  ```
+
+  If you don't have `curl` installed, you can also download `composer.phar` from https://getcomposer.org/
+
+- Run the tests via `phpunit` and the provided PHPUnit config, like in this example:
+
+  ```console
+  $ ./vendor/bin/phpunit
+  ```
+
+You can turn on conditional tests with the phpunit.xml file.
+To do so:
+
+ -  Copy `phpunit.xml.dist` file to `phpunit.xml`
+ -  Edit `phpunit.xml` to enable any specific functionality you
+    want to test, as well as to provide test values to utilize.
+
+## Running Coding Standards Checks
+
+This component uses [phpcs](https://github.com/squizlabs/PHP_CodeSniffer) for coding
+standards checks, and provides configuration for our selected checks.
+`phpcs` is installed by default via Composer.
+
+To run checks only:
+
+```console
+$ ./vendor/bin/phpcs
+```
+
+`phpcs` also provides a tool that can automatically fix many CS issues,
+`phpcbf`:
+
+```console
+$ ./vendor/bin/phpcbf
+```
+
+If you allow `phpcbf` to fix CS issues, please re-run the tests to ensure
+they pass, and make sure you add and commit the changes after verification.
+
+## Recommended Workflow for Contributions
+
+Your first step is to establish a public repository from which we can
+pull your work into the master repository. We recommend using
+[GitHub](https://github.com), as that is where the component is already hosted.
+
+1. Setup a [GitHub account](http://github.com/), if you haven't yet
+2. Fork the repository (http://github.com/zendframework/zend-hydrator)
+3. Clone the canonical repository locally and enter it.
+
+   ```console
+   $ git clone git://github.com:zendframework/zend-hydrator.git
+   $ cd zend-hydrator
+   ```
+
+4. Add a remote to your fork; substitute your GitHub username in the command
+   below.
+
+   ```console
+   $ git remote add {username} git@github.com:{username}/zend-hydrator.git
+   $ git fetch {username}
+   ```
+
+### Keeping Up-to-Date
+
+Periodically, you should update your fork or personal repository to
+match the canonical ZF repository. Assuming you have setup your local repository
+per the instructions above, you can do the following:
+
+
+```console
+$ git checkout master
+$ git fetch origin
+$ git rebase origin/master
+# OPTIONALLY, to keep your remote up-to-date -
+$ git push {username} master:master
+```
+
+If you're tracking other branches -- for example, the "develop" branch, where
+new feature development occurs -- you'll want to do the same operations for that
+branch; simply substitute  "develop" for "master".
+
+### Working on a patch
+
+We recommend you do each new feature or bugfix in a new branch. This simplifies
+the task of code review as well as the task of merging your changes into the
+canonical repository.
+
+A typical workflow will then consist of the following:
+
+1. Create a new local branch based off either your master or develop branch.
+2. Switch to your new local branch. (This step can be combined with the
+   previous step with the use of `git checkout -b`.)
+3. Do some work, commit, repeat as necessary.
+4. Push the local branch to your remote repository.
+5. Send a pull request.
+
+The mechanics of this process are actually quite trivial. Below, we will
+create a branch for fixing an issue in the tracker.
+
+```console
+$ git checkout -b hotfix/9295
+Switched to a new branch 'hotfix/9295'
+```
+
+... do some work ...
+
+
+```console
+$ git commit
+```
+
+... write your log message ...
+
+
+```console
+$ git push {username} hotfix/9295:hotfix/9295
+Counting objects: 38, done.
+Delta compression using up to 2 threads.
+Compression objects: 100% (18/18), done.
+Writing objects: 100% (20/20), 8.19KiB, done.
+Total 20 (delta 12), reused 0 (delta 0)
+To ssh://git@github.com/{username}/zend-hydrator.git
+   b5583aa..4f51698  HEAD -> master
+```
+
+To send a pull request, you have two options.
+
+If using GitHub, you can do the pull request from there. Navigate to
+your repository, select the branch you just created, and then select the
+"Pull Request" button in the upper right. Select the user/organization
+"zendframework" as the recipient.
+
+If using your own repository - or even if using GitHub - you can use `git
+format-patch` to create a patchset for us to apply; in fact, this is
+**recommended** for security-related patches. If you use `format-patch`, please
+send the patches as attachments to:
+
+-  zf-devteam@zend.com for patches without security implications
+-  zf-security@zend.com for security patches
+
+#### What branch to issue the pull request against?
+
+Which branch should you issue a pull request against?
+
+- For fixes against the stable release, issue the pull request against the
+  "master" branch.
+- For new features, or fixes that introduce new elements to the public API (such
+  as new public methods or properties), issue the pull request against the
+  "develop" branch.
+
+### Branch Cleanup
+
+As you might imagine, if you are a frequent contributor, you'll start to
+get a ton of branches both locally and on your remote.
+
+Once you know that your changes have been accepted to the master
+repository, we suggest doing some cleanup of these branches.
+
+-  Local branch cleanup
+
+   ```console
+   $ git branch -d <branchname>
+   ```
+
+-  Remote branch removal
+
+   ```console
+   $ git push {username} :<branchname>
+   ```
diff --git a/core/vendor/zendframework/zend-escaper/LICENSE.md b/vendor/zendframework/zend-hydrator/LICENSE.md
similarity index 100%
rename from core/vendor/zendframework/zend-escaper/LICENSE.md
rename to vendor/zendframework/zend-hydrator/LICENSE.md
diff --git a/vendor/zendframework/zend-hydrator/README.md b/vendor/zendframework/zend-hydrator/README.md
new file mode 100644
index 0000000..7608334
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/README.md
@@ -0,0 +1,11 @@
+# zend-hydrator
+
+[![Build Status](https://secure.travis-ci.org/zendframework/zend-hydrator.svg?branch=master)](https://secure.travis-ci.org/zendframework/zend-hydrator)
+[![Coverage Status](https://coveralls.io/repos/zendframework/zend-hydrator/badge.svg?branch=master)](https://coveralls.io/r/zendframework/zend-hydrator?branch=master)
+
+`Zend\Hydrator` provides utilities for mapping arrays to objects, and vice
+versa, including facilities for filtering which data is mapped as well as
+providing mechanisms for mapping nested structures.
+
+- File issues at https://github.com/zendframework/zend-hydrator/issues
+- Documentation is at http://framework.zend.com/manual/current/en/index.html#zend-stdlib
diff --git a/vendor/zendframework/zend-hydrator/composer.json b/vendor/zendframework/zend-hydrator/composer.json
new file mode 100644
index 0000000..21b4afe
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/composer.json
@@ -0,0 +1,47 @@
+{
+    "name": "zendframework/zend-hydrator",
+    "description": " ",
+    "license": "BSD-3-Clause",
+    "keywords": [
+        "zf2",
+        "hydrator"
+    ],
+    "homepage": "https://github.com/zendframework/zend-hydrator",
+    "autoload": {
+        "psr-4": {
+            "Zend\\Hydrator\\": "src/"
+        }
+    },
+    "require": {
+        "php": ">=5.5",
+        "zendframework/zend-stdlib": "^2.5.1"
+    },
+    "require-dev": {
+        "zendframework/zend-eventmanager": "^2.5.1",
+        "zendframework/zend-inputfilter": "^2.5.1",
+        "zendframework/zend-serializer": "^2.5.1",
+        "zendframework/zend-servicemanager": "^2.5.1",
+        "zendframework/zend-filter": "^2.5.1",
+        "phpunit/PHPUnit": "~4.0",
+        "squizlabs/php_codesniffer": "^2.0@dev"
+    },
+    "suggest": {
+        "zendframework/zend-eventmanager": "^2.5.1, to support aggregate hydrator usage",
+        "zendframework/zend-serializer": "^2.5.1, to use the SerializableStrategy",
+        "zendframework/zend-servicemanager": "^2.5.1, to support hydrator plugin manager usage",
+        "zendframework/zend-filter": "^2.5.1, to support naming strategy hydrator usage"
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true,
+    "extra": {
+        "branch-alias": {
+            "dev-master": "1.0-dev",
+            "dev-develop": "1.1-dev"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "ZendTest\\Hydrator\\": "test/"
+        }
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/phpcs.xml b/vendor/zendframework/zend-hydrator/phpcs.xml
new file mode 100644
index 0000000..e994eae
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/phpcs.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<ruleset name="Zend Framework coding standard">
+    <description>Zend Framework coding standard</description>
+
+    <!-- display progress -->
+    <arg value="p"/>
+    <arg name="colors"/>
+
+    <!-- inherit rules from: -->
+    <rule ref="PSR2"/>
+    <rule ref="Generic.Arrays.DisallowLongArraySyntax"/>
+    <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace">
+        <properties>
+            <property name="ignoreBlankLines" value="false"/>
+        </properties>
+    </rule>
+
+    <!-- Paths to check -->
+    <file>src</file>
+    <file>test</file>
+</ruleset>
diff --git a/vendor/zendframework/zend-hydrator/src/AbstractHydrator.php b/vendor/zendframework/zend-hydrator/src/AbstractHydrator.php
new file mode 100644
index 0000000..6f3f0a9
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/AbstractHydrator.php
@@ -0,0 +1,283 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use ArrayObject;
+
+abstract class AbstractHydrator implements
+    HydratorInterface,
+    StrategyEnabledInterface,
+    FilterEnabledInterface,
+    NamingStrategyEnabledInterface
+{
+    /**
+     * The list with strategies that this hydrator has.
+     *
+     * @var ArrayObject
+     */
+    protected $strategies;
+
+    /**
+     * An instance of NamingStrategy\NamingStrategyInterface
+     *
+     * @var NamingStrategy\NamingStrategyInterface
+     */
+    protected $namingStrategy;
+
+    /**
+     * Composite to filter the methods, that need to be hydrated
+     *
+     * @var Filter\FilterComposite
+     */
+    protected $filterComposite;
+
+    /**
+     * Initializes a new instance of this class.
+     */
+    public function __construct()
+    {
+        $this->strategies = new ArrayObject();
+        $this->filterComposite = new Filter\FilterComposite();
+    }
+
+    /**
+     * Gets the strategy with the given name.
+     *
+     * @param string $name The name of the strategy to get.
+     *
+     * @throws Exception\InvalidArgumentException
+     * @return Strategy\StrategyInterface
+     */
+    public function getStrategy($name)
+    {
+        if (isset($this->strategies[$name])) {
+            return $this->strategies[$name];
+        }
+
+        if (!isset($this->strategies['*'])) {
+            throw new Exception\InvalidArgumentException(sprintf(
+                '%s: no strategy by name of "%s", and no wildcard strategy present',
+                __METHOD__,
+                $name
+            ));
+        }
+
+        return $this->strategies['*'];
+    }
+
+    /**
+     * Checks if the strategy with the given name exists.
+     *
+     * @param string $name The name of the strategy to check for.
+     * @return bool
+     */
+    public function hasStrategy($name)
+    {
+        return array_key_exists($name, $this->strategies)
+               || array_key_exists('*', $this->strategies);
+    }
+
+    /**
+     * Adds the given strategy under the given name.
+     *
+     * @param string $name The name of the strategy to register.
+     * @param Strategy\StrategyInterface $strategy The strategy to register.
+     * @return HydratorInterface
+     */
+    public function addStrategy($name, Strategy\StrategyInterface $strategy)
+    {
+        $this->strategies[$name] = $strategy;
+        return $this;
+    }
+
+    /**
+     * Removes the strategy with the given name.
+     *
+     * @param string $name The name of the strategy to remove.
+     * @return HydratorInterface
+     */
+    public function removeStrategy($name)
+    {
+        unset($this->strategies[$name]);
+        return $this;
+    }
+
+    /**
+     * Converts a value for extraction. If no strategy exists the plain value is returned.
+     *
+     * @param  string $name  The name of the strategy to use.
+     * @param  mixed  $value  The value that should be converted.
+     * @param  mixed  $object The object is optionally provided as context.
+     * @return mixed
+     */
+    public function extractValue($name, $value, $object = null)
+    {
+        if ($this->hasStrategy($name)) {
+            $strategy = $this->getStrategy($name);
+            $value = $strategy->extract($value, $object);
+        }
+        return $value;
+    }
+
+    /**
+     * Converts a value for hydration. If no strategy exists the plain value is returned.
+     *
+     * @param string $name The name of the strategy to use.
+     * @param mixed $value The value that should be converted.
+     * @param array $data The whole data is optionally provided as context.
+     * @return mixed
+     */
+    public function hydrateValue($name, $value, $data = null)
+    {
+        if ($this->hasStrategy($name)) {
+            $strategy = $this->getStrategy($name);
+            $value = $strategy->hydrate($value, $data);
+        }
+        return $value;
+    }
+
+    /**
+     * Convert a name for extraction. If no naming strategy exists, the plain value is returned.
+     *
+     * @param string $name    The name to convert.
+     * @param null   $object  The object is optionally provided as context.
+     * @return mixed
+     */
+    public function extractName($name, $object = null)
+    {
+        if ($this->hasNamingStrategy()) {
+            $name = $this->getNamingStrategy()->extract($name, $object);
+        }
+        return $name;
+    }
+
+    /**
+     * Converts a value for hydration. If no naming strategy exists, the plain value is returned.
+     *
+     * @param string $name  The name to convert.
+     * @param array  $data  The whole data is optionally provided as context.
+     * @return mixed
+     */
+    public function hydrateName($name, $data = null)
+    {
+        if ($this->hasNamingStrategy()) {
+            $name = $this->getNamingStrategy()->hydrate($name, $data);
+        }
+        return $name;
+    }
+
+    /**
+     * Get the filter instance
+     *
+     * @return Filter\FilterComposite
+     */
+    public function getFilter()
+    {
+        return $this->filterComposite;
+    }
+
+    /**
+     * Add a new filter to take care of what needs to be hydrated.
+     * To exclude e.g. the method getServiceLocator:
+     *
+     * <code>
+     * $composite->addFilter("servicelocator",
+     *     function ($property) {
+     *         list($class, $method) = explode('::', $property);
+     *         if ($method === 'getServiceLocator') {
+     *             return false;
+     *         }
+     *         return true;
+     *     }, FilterComposite::CONDITION_AND
+     * );
+     * </code>
+     *
+     * @param string $name Index in the composite
+     * @param callable|Filter\FilterInterface $filter
+     * @param int $condition
+     * @return Filter\FilterComposite
+     */
+    public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR)
+    {
+        return $this->filterComposite->addFilter($name, $filter, $condition);
+    }
+
+    /**
+     * Check whether a specific filter exists at key $name or not
+     *
+     * @param string $name Index in the composite
+     * @return bool
+     */
+    public function hasFilter($name)
+    {
+        return $this->filterComposite->hasFilter($name);
+    }
+
+    /**
+     * Remove a filter from the composition.
+     * To not extract "has" methods, you simply need to unregister it
+     *
+     * <code>
+     * $filterComposite->removeFilter('has');
+     * </code>
+     *
+     * @param $name
+     * @return Filter\FilterComposite
+     */
+    public function removeFilter($name)
+    {
+        return $this->filterComposite->removeFilter($name);
+    }
+
+    /**
+     * Adds the given naming strategy
+     *
+     * @param NamingStrategy\NamingStrategyInterface $strategy The naming to register.
+     * @return self
+     */
+    public function setNamingStrategy(NamingStrategy\NamingStrategyInterface $strategy)
+    {
+        $this->namingStrategy = $strategy;
+
+        return $this;
+    }
+
+    /**
+     * Gets the naming strategy.
+     *
+     * @return NamingStrategy\NamingStrategyInterface
+     */
+    public function getNamingStrategy()
+    {
+        return $this->namingStrategy;
+    }
+
+    /**
+     * Checks if a naming strategy exists.
+     *
+     * @return bool
+     */
+    public function hasNamingStrategy()
+    {
+        return isset($this->namingStrategy);
+    }
+
+    /**
+     * Removes the naming strategy
+     *
+     * @return self
+     */
+    public function removeNamingStrategy()
+    {
+        $this->namingStrategy = null;
+
+        return $this;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php b/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
new file mode 100644
index 0000000..fa384ad
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/AggregateHydrator.php
@@ -0,0 +1,85 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Aggregate;
+
+use Zend\EventManager\EventManager;
+use Zend\EventManager\EventManagerAwareInterface;
+use Zend\EventManager\EventManagerInterface;
+use Zend\Hydrator\HydratorInterface;
+
+/**
+ * Aggregate hydrator that composes multiple hydrators via events
+ */
+class AggregateHydrator implements HydratorInterface, EventManagerAwareInterface
+{
+    const DEFAULT_PRIORITY = 1;
+
+    /**
+     * @var EventManagerInterface|null
+     */
+    protected $eventManager;
+
+    /**
+     * Attaches the provided hydrator to the list of hydrators to be used while hydrating/extracting data
+     *
+     * @param HydratorInterface $hydrator
+     * @param int $priority
+     */
+    public function add(HydratorInterface $hydrator, $priority = self::DEFAULT_PRIORITY)
+    {
+        $this->getEventManager()->attachAggregate(new HydratorListener($hydrator), $priority);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function extract($object)
+    {
+        $event = new ExtractEvent($this, $object);
+
+        $this->getEventManager()->trigger($event);
+
+        return $event->getExtractedData();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function hydrate(array $data, $object)
+    {
+        $event = new HydrateEvent($this, $object, $data);
+
+        $this->getEventManager()->trigger($event);
+
+        return $event->getHydratedObject();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function setEventManager(EventManagerInterface $eventManager)
+    {
+        $eventManager->setIdentifiers([__CLASS__, get_class($this)]);
+
+        $this->eventManager = $eventManager;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function getEventManager()
+    {
+        if (null === $this->eventManager) {
+            $this->setEventManager(new EventManager());
+        }
+
+        return $this->eventManager;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php b/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
new file mode 100644
index 0000000..1395917
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/ExtractEvent.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Aggregate;
+
+use Zend\EventManager\Event;
+
+/**
+ * Event triggered when the {@see AggregateHydrator} extracts
+ * data from an object
+ */
+class ExtractEvent extends Event
+{
+    const EVENT_EXTRACT = 'extract';
+
+    /**
+     * {@inheritDoc}
+     */
+    protected $name = self::EVENT_EXTRACT;
+
+    /**
+     * @var object
+     */
+    protected $extractionObject;
+
+    /**
+     * @var array
+     */
+    protected $extractedData = [];
+
+    /**
+     * @param object $target
+     * @param object $extractionObject
+     */
+    public function __construct($target, $extractionObject)
+    {
+        $this->target           = $target;
+        $this->extractionObject = $extractionObject;
+    }
+
+    /**
+     * Retrieves the object from which data is extracted
+     *
+     * @return object
+     */
+    public function getExtractionObject()
+    {
+        return $this->extractionObject;
+    }
+
+    /**
+     * @param object $extractionObject
+     *
+     * @return void
+     */
+    public function setExtractionObject($extractionObject)
+    {
+        $this->extractionObject = $extractionObject;
+    }
+
+    /**
+     * Retrieves the data that has been extracted
+     *
+     * @return array
+     */
+    public function getExtractedData()
+    {
+        return $this->extractedData;
+    }
+
+    /**
+     * @param array $extractedData
+     *
+     * @return void
+     */
+    public function setExtractedData(array $extractedData)
+    {
+        $this->extractedData = $extractedData;
+    }
+
+    /**
+     * Merge provided data with the extracted data
+     *
+     * @param array $additionalData
+     *
+     * @return void
+     */
+    public function mergeExtractedData(array $additionalData)
+    {
+        $this->extractedData = array_merge($this->extractedData, $additionalData);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php b/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
new file mode 100644
index 0000000..7865964
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/HydrateEvent.php
@@ -0,0 +1,84 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Aggregate;
+
+use Zend\EventManager\Event;
+
+/**
+ * Event triggered when the {@see AggregateHydrator} hydrates
+ * data into an object
+ */
+class HydrateEvent extends Event
+{
+    const EVENT_HYDRATE = 'hydrate';
+
+    /**
+     * {@inheritDoc}
+     */
+    protected $name = self::EVENT_HYDRATE;
+
+    /**
+     * @var object
+     */
+    protected $hydratedObject;
+
+    /**
+     * @var array
+     */
+    protected $hydrationData;
+
+    /**
+     * @param object $target
+     * @param object $hydratedObject
+     * @param array  $hydrationData
+     */
+    public function __construct($target, $hydratedObject, array $hydrationData)
+    {
+        $this->target         = $target;
+        $this->hydratedObject = $hydratedObject;
+        $this->hydrationData  = $hydrationData;
+    }
+
+    /**
+     * Retrieves the object that is being hydrated
+     *
+     * @return object
+     */
+    public function getHydratedObject()
+    {
+        return $this->hydratedObject;
+    }
+
+    /**
+     * @param object $hydratedObject
+     */
+    public function setHydratedObject($hydratedObject)
+    {
+        $this->hydratedObject = $hydratedObject;
+    }
+
+    /**
+     * Retrieves the data that is being used for hydration
+     *
+     * @return array
+     */
+    public function getHydrationData()
+    {
+        return $this->hydrationData;
+    }
+
+    /**
+     * @param array $hydrationData
+     */
+    public function setHydrationData(array $hydrationData)
+    {
+        $this->hydrationData = $hydrationData;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php b/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
new file mode 100644
index 0000000..c8260a4
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Aggregate/HydratorListener.php
@@ -0,0 +1,72 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Aggregate;
+
+use Zend\EventManager\AbstractListenerAggregate;
+use Zend\EventManager\EventManagerInterface;
+use Zend\Hydrator\HydratorInterface;
+
+/**
+ * Aggregate listener wrapping around a hydrator.
+ *
+ * Listens to {@see HydrateEvent::EVENT_HYDRATE} and {@see ExtractEvent::EVENT_EXTRACT}
+ */
+class HydratorListener extends AbstractListenerAggregate
+{
+    /**
+     * @var HydratorInterface
+     */
+    protected $hydrator;
+
+    /**
+     * @param HydratorInterface $hydrator
+     */
+    public function __construct(HydratorInterface $hydrator)
+    {
+        $this->hydrator = $hydrator;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function attach(EventManagerInterface $events, $priority = 1)
+    {
+        $this->listeners[] = $events->attach(HydrateEvent::EVENT_HYDRATE, [$this, 'onHydrate'], $priority);
+        $this->listeners[] = $events->attach(ExtractEvent::EVENT_EXTRACT, [$this, 'onExtract'], $priority);
+    }
+
+    /**
+     * Callback to be used when {@see HydrateEvent::EVENT_HYDRATE} is triggered
+     *
+     * @param HydrateEvent $event
+     * @return object
+     * @internal
+     */
+    public function onHydrate(HydrateEvent $event)
+    {
+        $object = $this->hydrator->hydrate($event->getHydrationData(), $event->getHydratedObject());
+        $event->setHydratedObject($object);
+        return $object;
+    }
+
+    /**
+     * Callback to be used when {@see ExtractEvent::EVENT_EXTRACT} is triggered
+     *
+     * @param ExtractEvent $event
+     * @return array
+     * @internal
+     */
+    public function onExtract(ExtractEvent $event)
+    {
+        $data = $this->hydrator->extract($event->getExtractionObject());
+        $event->mergeExtractedData($data);
+        return $data;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ArraySerializable.php b/vendor/zendframework/zend-hydrator/src/ArraySerializable.php
new file mode 100644
index 0000000..24edee5
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ArraySerializable.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+class ArraySerializable extends AbstractHydrator
+{
+    /**
+     * Extract values from the provided object
+     *
+     * Extracts values via the object's getArrayCopy() method.
+     *
+     * @param  object $object
+     * @return array
+     * @throws Exception\BadMethodCallException for an $object not implementing getArrayCopy()
+     */
+    public function extract($object)
+    {
+        if (! is_callable([$object, 'getArrayCopy'])) {
+            throw new Exception\BadMethodCallException(
+                sprintf('%s expects the provided object to implement getArrayCopy()', __METHOD__)
+            );
+        }
+
+        $data   = $object->getArrayCopy();
+        $filter = $this->getFilter();
+
+        foreach ($data as $name => $value) {
+            if (!$filter->filter($name)) {
+                unset($data[$name]);
+                continue;
+            }
+            $extractedName = $this->extractName($name, $object);
+            // replace the original key with extracted, if differ
+            if ($extractedName !== $name) {
+                unset($data[$name]);
+                $name = $extractedName;
+            }
+            $data[$name] = $this->extractValue($name, $value, $object);
+        }
+
+        return $data;
+    }
+
+    /**
+     * Hydrate an object
+     *
+     * Hydrates an object by passing $data to either its exchangeArray() or
+     * populate() method.
+     *
+     * @param  array $data
+     * @param  object $object
+     * @return object
+     * @throws Exception\BadMethodCallException for an $object not implementing exchangeArray() or populate()
+     */
+    public function hydrate(array $data, $object)
+    {
+        $replacement = [];
+        foreach ($data as $key => $value) {
+            $name = $this->hydrateName($key, $data);
+            $replacement[$name] = $this->hydrateValue($name, $value, $data);
+        }
+
+        if (is_callable([$object, 'exchangeArray'])) {
+            $object->exchangeArray($replacement);
+        } elseif (is_callable([$object, 'populate'])) {
+            $object->populate($replacement);
+        } else {
+            throw new Exception\BadMethodCallException(
+                sprintf('%s expects the provided object to implement exchangeArray() or populate()', __METHOD__)
+            );
+        }
+        return $object;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ClassMethods.php b/vendor/zendframework/zend-hydrator/src/ClassMethods.php
new file mode 100644
index 0000000..80cce84
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ClassMethods.php
@@ -0,0 +1,268 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use Traversable;
+use Zend\Stdlib\ArrayUtils;
+
+class ClassMethods extends AbstractHydrator implements HydratorOptionsInterface
+{
+    /**
+     * Holds the names of the methods used for hydration, indexed by class::property name,
+     * false if the hydration method is not callable/usable for hydration purposes
+     *
+     * @var string[]|bool[]
+     */
+    private $hydrationMethodsCache = [];
+
+    /**
+     * A map of extraction methods to property name to be used during extraction, indexed
+     * by class name and method name
+     *
+     * @var string[][]
+     */
+    private $extractionMethodsCache = [];
+
+    /**
+     * Flag defining whether array keys are underscore-separated (true) or camel case (false)
+     *
+     * @var bool
+     */
+    protected $underscoreSeparatedKeys = true;
+
+    /**
+     * @var Filter\FilterInterface
+     */
+    private $callableMethodFilter;
+
+    /**
+     * Define if extract values will use camel case or name with underscore
+     * @param bool|array $underscoreSeparatedKeys
+     */
+    public function __construct($underscoreSeparatedKeys = true)
+    {
+        parent::__construct();
+        $this->setUnderscoreSeparatedKeys($underscoreSeparatedKeys);
+
+        $this->callableMethodFilter = new Filter\OptionalParametersFilter();
+
+        $this->filterComposite->addFilter('is', new Filter\IsFilter());
+        $this->filterComposite->addFilter('has', new Filter\HasFilter());
+        $this->filterComposite->addFilter('get', new Filter\GetFilter());
+        $this->filterComposite->addFilter(
+            'parameter',
+            new Filter\OptionalParametersFilter(),
+            Filter\FilterComposite::CONDITION_AND
+        );
+    }
+
+    /**
+     * @param  array|Traversable                 $options
+     * @return ClassMethods
+     * @throws Exception\InvalidArgumentException
+     */
+    public function setOptions($options)
+    {
+        if ($options instanceof Traversable) {
+            $options = ArrayUtils::iteratorToArray($options);
+        } elseif (!is_array($options)) {
+            throw new Exception\InvalidArgumentException(
+                'The options parameter must be an array or a Traversable'
+            );
+        }
+        if (isset($options['underscoreSeparatedKeys'])) {
+            $this->setUnderscoreSeparatedKeys($options['underscoreSeparatedKeys']);
+        }
+
+        return $this;
+    }
+
+    /**
+     * @param  bool      $underscoreSeparatedKeys
+     * @return ClassMethods
+     */
+    public function setUnderscoreSeparatedKeys($underscoreSeparatedKeys)
+    {
+        $this->underscoreSeparatedKeys = (bool) $underscoreSeparatedKeys;
+
+        if ($this->underscoreSeparatedKeys) {
+            $this->setNamingStrategy(new NamingStrategy\UnderscoreNamingStrategy);
+        } elseif ($this->getNamingStrategy() instanceof NamingStrategy\UnderscoreNamingStrategy) {
+            $this->removeNamingStrategy();
+        }
+
+        return $this;
+    }
+
+    /**
+     * @return bool
+     */
+    public function getUnderscoreSeparatedKeys()
+    {
+        return $this->underscoreSeparatedKeys;
+    }
+
+    /**
+     * Extract values from an object with class methods
+     *
+     * Extracts the getter/setter of the given $object.
+     *
+     * @param  object                           $object
+     * @return array
+     * @throws Exception\BadMethodCallException for a non-object $object
+     */
+    public function extract($object)
+    {
+        if (!is_object($object)) {
+            throw new Exception\BadMethodCallException(sprintf(
+                '%s expects the provided $object to be a PHP object)',
+                __METHOD__
+            ));
+        }
+
+        $objectClass = get_class($object);
+
+        // reset the hydrator's hydrator's cache for this object, as the filter may be per-instance
+        if ($object instanceof Filter\FilterProviderInterface) {
+            $this->extractionMethodsCache[$objectClass] = null;
+        }
+
+        // pass 1 - finding out which properties can be extracted, with which methods (populate hydration cache)
+        if (! isset($this->extractionMethodsCache[$objectClass])) {
+            $this->extractionMethodsCache[$objectClass] = [];
+            $filter                                     = $this->filterComposite;
+            $methods                                    = get_class_methods($object);
+
+            if ($object instanceof Filter\FilterProviderInterface) {
+                $filter = new Filter\FilterComposite(
+                    [$object->getFilter()],
+                    [new Filter\MethodMatchFilter('getFilter')]
+                );
+            }
+
+            foreach ($methods as $method) {
+                $methodFqn = $objectClass . '::' . $method;
+
+                if (! ($filter->filter($methodFqn) && $this->callableMethodFilter->filter($methodFqn))) {
+                    continue;
+                }
+
+                $attribute = $method;
+
+                if (strpos($method, 'get') === 0) {
+                    $attribute = substr($method, 3);
+                    if (!property_exists($object, $attribute)) {
+                        $attribute = lcfirst($attribute);
+                    }
+                }
+
+                $this->extractionMethodsCache[$objectClass][$method] = $attribute;
+            }
+        }
+
+        $values = [];
+
+        // pass 2 - actually extract data
+        foreach ($this->extractionMethodsCache[$objectClass] as $methodName => $attributeName) {
+            $realAttributeName          = $this->extractName($attributeName, $object);
+            $values[$realAttributeName] = $this->extractValue($realAttributeName, $object->$methodName(), $object);
+        }
+
+        return $values;
+    }
+
+    /**
+     * Hydrate an object by populating getter/setter methods
+     *
+     * Hydrates an object by getter/setter methods of the object.
+     *
+     * @param  array                            $data
+     * @param  object                           $object
+     * @return object
+     * @throws Exception\BadMethodCallException for a non-object $object
+     */
+    public function hydrate(array $data, $object)
+    {
+        if (!is_object($object)) {
+            throw new Exception\BadMethodCallException(sprintf(
+                '%s expects the provided $object to be a PHP object)',
+                __METHOD__
+            ));
+        }
+
+        $objectClass = get_class($object);
+
+        foreach ($data as $property => $value) {
+            $propertyFqn = $objectClass . '::$' . $property;
+
+            if (! isset($this->hydrationMethodsCache[$propertyFqn])) {
+                $setterName = 'set' . ucfirst($this->hydrateName($property, $data));
+
+                $this->hydrationMethodsCache[$propertyFqn] = is_callable([$object, $setterName])
+                    ? $setterName
+                    : false;
+            }
+
+            if ($this->hydrationMethodsCache[$propertyFqn]) {
+                $object->{$this->hydrationMethodsCache[$propertyFqn]}($this->hydrateValue($property, $value, $data));
+            }
+        }
+
+        return $object;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR)
+    {
+        $this->resetCaches();
+
+        return parent::addFilter($name, $filter, $condition);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function removeFilter($name)
+    {
+        $this->resetCaches();
+
+        return parent::removeFilter($name);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function setNamingStrategy(NamingStrategy\NamingStrategyInterface $strategy)
+    {
+        $this->resetCaches();
+
+        return parent::setNamingStrategy($strategy);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function removeNamingStrategy()
+    {
+        $this->resetCaches();
+
+        return parent::removeNamingStrategy();
+    }
+
+    /**
+     * Reset all local hydration/extraction caches
+     */
+    private function resetCaches()
+    {
+        $this->hydrationMethodsCache = $this->extractionMethodsCache = [];
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php b/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php
new file mode 100644
index 0000000..a6f3f94
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/DelegatingHydrator.php
@@ -0,0 +1,57 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use Zend\ServiceManager\ServiceLocatorInterface;
+
+class DelegatingHydrator implements HydratorInterface
+{
+    /**
+     * @var ServiceLocatorInterface
+     */
+    protected $hydrators;
+
+    /**
+     * Constructor
+     *
+     * @param ServiceLocatorInterface $hydrators
+     */
+    public function __construct(ServiceLocatorInterface $hydrators)
+    {
+        $this->hydrators = $hydrators;
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function hydrate(array $data, $object)
+    {
+        return $this->getHydrator($object)->hydrate($data, $object);
+    }
+
+    /**
+     * {@inheritdoc}
+     */
+    public function extract($object)
+    {
+        return $this->getHydrator($object)->extract($object);
+    }
+
+    /**
+     * Gets hydrator of an object
+     *
+     * @param  object $object
+     * @return HydratorInterface
+     */
+    protected function getHydrator($object)
+    {
+        return $this->hydrators->get(get_class($object));
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php b/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php
new file mode 100644
index 0000000..89f2841
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/DelegatingHydratorFactory.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use Zend\ServiceManager\FactoryInterface;
+use Zend\ServiceManager\ServiceLocatorInterface;
+
+class DelegatingHydratorFactory implements FactoryInterface
+{
+    /**
+     * Creates DelegatingHydrator
+     *
+     * @param  ServiceLocatorInterface $serviceLocator
+     * @return DelegatingHydrator
+     */
+    public function createService(ServiceLocatorInterface $serviceLocator)
+    {
+        // Assume that this factory is registered with the HydratorManager,
+        // and just pass it directly on.
+        return new DelegatingHydrator($serviceLocator);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/BadMethodCallException.php b/vendor/zendframework/zend-hydrator/src/Exception/BadMethodCallException.php
new file mode 100644
index 0000000..a8503e2
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/BadMethodCallException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Bad method call exception
+ */
+class BadMethodCallException extends \BadMethodCallException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/DomainException.php b/vendor/zendframework/zend-hydrator/src/Exception/DomainException.php
new file mode 100644
index 0000000..40baf4f
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/DomainException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Domain exception
+ */
+class DomainException extends \DomainException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/ExceptionInterface.php b/vendor/zendframework/zend-hydrator/src/Exception/ExceptionInterface.php
new file mode 100644
index 0000000..888c6a0
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/ExceptionInterface.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Exception marker interface
+ */
+interface ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/ExtensionNotLoadedException.php b/vendor/zendframework/zend-hydrator/src/Exception/ExtensionNotLoadedException.php
new file mode 100644
index 0000000..ff5fd8e
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/ExtensionNotLoadedException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Extension not loaded exception
+ */
+class ExtensionNotLoadedException extends RuntimeException
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-hydrator/src/Exception/InvalidArgumentException.php
new file mode 100644
index 0000000..56c2d14
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/InvalidArgumentException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Invalid Argument Exception
+ */
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/InvalidCallbackException.php b/vendor/zendframework/zend-hydrator/src/Exception/InvalidCallbackException.php
new file mode 100644
index 0000000..263e9fb
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/InvalidCallbackException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Invalid callback exception
+ */
+class InvalidCallbackException extends DomainException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/LogicException.php b/vendor/zendframework/zend-hydrator/src/Exception/LogicException.php
new file mode 100644
index 0000000..89ff89c
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/LogicException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Logic exception
+ */
+class LogicException extends \LogicException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Exception/RuntimeException.php b/vendor/zendframework/zend-hydrator/src/Exception/RuntimeException.php
new file mode 100644
index 0000000..766ece2
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Exception/RuntimeException.php
@@ -0,0 +1,17 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Exception;
+
+/**
+ * Runtime exception
+ */
+class RuntimeException extends \RuntimeException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ExtractionInterface.php b/vendor/zendframework/zend-hydrator/src/ExtractionInterface.php
new file mode 100644
index 0000000..6b3c07f
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ExtractionInterface.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface ExtractionInterface
+{
+    /**
+     * Extract values from an object
+     *
+     * @param  object $object
+     * @return array
+     */
+    public function extract($object);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/FilterComposite.php b/vendor/zendframework/zend-hydrator/src/Filter/FilterComposite.php
new file mode 100644
index 0000000..6790713
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/FilterComposite.php
@@ -0,0 +1,198 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+use ArrayObject;
+use Zend\Hydrator\Exception\InvalidArgumentException;
+
+class FilterComposite implements FilterInterface
+{
+    /**
+     * @var ArrayObject
+     */
+    protected $orFilter;
+
+    /**
+     * @var ArrayObject
+     */
+    protected $andFilter;
+
+    /**
+     * Constant to add with "or" conditition
+     */
+    const CONDITION_OR = 1;
+
+    /**
+     * Constant to add with "and" conditition
+     */
+    const CONDITION_AND = 2;
+
+    /**
+     * Define default Filter
+     *
+     * @param  array $orFilter
+     * @param  array $andFilter
+     * @throws InvalidArgumentException
+     */
+    public function __construct($orFilter = [], $andFilter = [])
+    {
+        array_walk(
+            $orFilter,
+            function ($value, $key) {
+                if (!is_callable($value) && !$value instanceof FilterInterface) {
+                    throw new InvalidArgumentException(
+                        'The value of ' . $key . ' should be either a callable or ' .
+                        'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
+                    );
+                }
+            }
+        );
+
+        array_walk(
+            $andFilter,
+            function ($value, $key) {
+                if (!is_callable($value) && !$value instanceof FilterInterface) {
+                    throw new InvalidArgumentException(
+                        'The value of ' . $key . '  should be either a callable or ' .
+                        'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
+                    );
+                }
+            }
+        );
+
+        $this->orFilter = new ArrayObject($orFilter);
+        $this->andFilter = new ArrayObject($andFilter);
+    }
+
+    /**
+     * Add a filter to the composite. Has to be indexed with $name in
+     * order to identify a specific filter.
+     *
+     * This example will exclude all methods from the hydration, that starts with 'getService'
+     * <code>
+     * $composite->addFilter('exclude',
+     *     function ($method) {
+     *         if (preg_match('/^getService/', $method) {
+     *             return false;
+     *         }
+     *         return true;
+     *     }, FilterComposite::CONDITION_AND
+     * );
+     * </code>
+     *
+     * @param  string                   $name
+     * @param  callable|FilterInterface $filter
+     * @param  int                      $condition Can be either
+     *     FilterComposite::CONDITION_OR or FilterComposite::CONDITION_AND
+     * @throws InvalidArgumentException
+     * @return FilterComposite
+     */
+    public function addFilter($name, $filter, $condition = self::CONDITION_OR)
+    {
+        if (!is_callable($filter) && !($filter instanceof FilterInterface)) {
+            throw new InvalidArgumentException(
+                'The value of ' . $name . ' should be either a callable or ' .
+                'an instance of Zend\Stdlib\Hydrator\Filter\FilterInterface'
+            );
+        }
+
+        if ($condition === self::CONDITION_OR) {
+            $this->orFilter[$name] = $filter;
+        } elseif ($condition === self::CONDITION_AND) {
+            $this->andFilter[$name] = $filter;
+        }
+
+        return $this;
+    }
+
+    /**
+     * Remove a filter from the composition
+     *
+     * @param $name string Identifier for the filter
+     * @return FilterComposite
+     */
+    public function removeFilter($name)
+    {
+        if (isset($this->orFilter[$name])) {
+            unset($this->orFilter[$name]);
+        }
+
+        if (isset($this->andFilter[$name])) {
+            unset($this->andFilter[$name]);
+        }
+
+        return $this;
+    }
+
+    /**
+     * Check if $name has a filter registered
+     *
+     * @param $name string Identifier for the filter
+     * @return bool
+     */
+    public function hasFilter($name)
+    {
+        return isset($this->orFilter[$name]) || isset($this->andFilter[$name]);
+    }
+
+    /**
+     * Filter the composite based on the AND and OR condition
+     * Will return true if one from the "or conditions" and all from
+     * the "and condition" returns true. Otherwise false
+     *
+     * @param $property string Parameter will be e.g. Parent\Namespace\Class::method
+     * @return bool
+     */
+    public function filter($property)
+    {
+        $andCount = count($this->andFilter);
+        $orCount = count($this->orFilter);
+        // return true if no filters are registered
+        if ($orCount === 0 && $andCount === 0) {
+            return true;
+        } elseif ($orCount === 0 && $andCount !== 0) {
+            $returnValue = true;
+        } else {
+            $returnValue = false;
+        }
+
+        // Check if 1 from the or filters return true
+        foreach ($this->orFilter as $filter) {
+            if (is_callable($filter)) {
+                if ($filter($property) === true) {
+                    $returnValue = true;
+                    break;
+                }
+                continue;
+            } else {
+                if ($filter->filter($property) === true) {
+                    $returnValue = true;
+                    break;
+                }
+            }
+        }
+
+        // Check if all of the and condition return true
+        foreach ($this->andFilter as $filter) {
+            if (is_callable($filter)) {
+                if ($filter($property) === false) {
+                    return false;
+                }
+                continue;
+            } else {
+                if ($filter->filter($property) === false) {
+                    return false;
+                }
+            }
+        }
+
+        return $returnValue;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php b/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php
new file mode 100644
index 0000000..fb49918
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/FilterInterface.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+interface FilterInterface
+{
+    /**
+     * Should return true, if the given filter
+     * does not match
+     *
+     * @param string $property The name of the property
+     * @return bool
+     */
+    public function filter($property);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/FilterProviderInterface.php b/vendor/zendframework/zend-hydrator/src/Filter/FilterProviderInterface.php
new file mode 100644
index 0000000..2826c33
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/FilterProviderInterface.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+interface FilterProviderInterface
+{
+    /**
+     * Provides a filter for hydration
+     *
+     * @return FilterInterface
+     */
+    public function getFilter();
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/GetFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/GetFilter.php
new file mode 100644
index 0000000..220a1b5
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/GetFilter.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+class GetFilter implements FilterInterface
+{
+    public function filter($property)
+    {
+        $pos = strpos($property, '::');
+        if ($pos !== false) {
+            $pos += 2;
+        } else {
+            $pos = 0;
+        }
+
+        if (substr($property, $pos, 3) === 'get') {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/HasFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/HasFilter.php
new file mode 100644
index 0000000..d1ba4f9
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/HasFilter.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+class HasFilter implements FilterInterface
+{
+    public function filter($property)
+    {
+        $pos = strpos($property, '::');
+        if ($pos !== false) {
+            $pos += 2;
+        } else {
+            $pos = 0;
+        }
+
+        if (substr($property, $pos, 3) === 'has') {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/IsFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/IsFilter.php
new file mode 100644
index 0000000..b74fcd7
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/IsFilter.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+class IsFilter implements FilterInterface
+{
+    public function filter($property)
+    {
+        $pos = strpos($property, '::');
+        if ($pos !== false) {
+            $pos += 2;
+        } else {
+            $pos = 0;
+        }
+
+        if (substr($property, $pos, 2) === 'is') {
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/MethodMatchFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/MethodMatchFilter.php
new file mode 100644
index 0000000..865b578
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/MethodMatchFilter.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+class MethodMatchFilter implements FilterInterface
+{
+    /**
+     * The method to exclude
+     * @var string
+     */
+    protected $method = null;
+
+    /**
+     * Either an exclude or an include
+     * @var bool
+     */
+    protected $exclude = null;
+
+    /**
+     * @param string $method The method to exclude or include
+     * @param bool $exclude If the method should be excluded
+     */
+    public function __construct($method, $exclude = true)
+    {
+        $this->method = $method;
+        $this->exclude = $exclude;
+    }
+
+    public function filter($property)
+    {
+        $pos = strpos($property, '::');
+        if ($pos !== false) {
+            $pos += 2;
+        } else {
+            $pos = 0;
+        }
+        if (substr($property, $pos) === $this->method) {
+            return !$this->exclude;
+        }
+        return $this->exclude;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php
new file mode 100644
index 0000000..abd8ee6
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+use ReflectionException;
+use ReflectionMethod;
+use Zend\Hydrator\Exception\InvalidArgumentException;
+
+class NumberOfParameterFilter implements FilterInterface
+{
+    /**
+     * The number of parameters beeing accepted
+     * @var int
+     */
+    protected $numberOfParameters = null;
+
+    /**
+     * @param int $numberOfParameters Number of accepted parameters
+     */
+    public function __construct($numberOfParameters = 0)
+    {
+        $this->numberOfParameters = (int) $numberOfParameters;
+    }
+
+    /**
+     * @param string $property the name of the property
+     * @return bool
+     * @throws InvalidArgumentException
+     */
+    public function filter($property)
+    {
+        try {
+            $reflectionMethod = new ReflectionMethod($property);
+        } catch (ReflectionException $exception) {
+            throw new InvalidArgumentException(
+                "Method $property doesn't exist"
+            );
+        }
+
+        return $reflectionMethod->getNumberOfParameters() === $this->numberOfParameters;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php b/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php
new file mode 100644
index 0000000..25775d7
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php
@@ -0,0 +1,55 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Filter;
+
+use ReflectionException;
+use ReflectionMethod;
+use ReflectionParameter;
+use Zend\Hydrator\Exception\InvalidArgumentException;
+
+/**
+ * Filter that includes methods which have no parameters or only optional parameters
+ */
+class OptionalParametersFilter implements FilterInterface
+{
+    /**
+     * Map of methods already analyzed
+     * by {@see OptionalParametersFilter::filter()},
+     * cached for performance reasons
+     *
+     * @var bool[]
+     */
+    protected static $propertiesCache = [];
+
+    /**
+     * {@inheritDoc}
+     */
+    public function filter($property)
+    {
+        if (isset(static::$propertiesCache[$property])) {
+            return static::$propertiesCache[$property];
+        }
+
+        try {
+            $reflectionMethod = new ReflectionMethod($property);
+        } catch (ReflectionException $exception) {
+            throw new InvalidArgumentException(sprintf('Method %s doesn\'t exist', $property));
+        }
+
+        $mandatoryParameters = array_filter(
+            $reflectionMethod->getParameters(),
+            function (ReflectionParameter $parameter) {
+                return ! $parameter->isOptional();
+            }
+        );
+
+        return static::$propertiesCache[$property] = empty($mandatoryParameters);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php b/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php
new file mode 100644
index 0000000..f95f8b4
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php
@@ -0,0 +1,59 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface FilterEnabledInterface extends Filter\FilterProviderInterface
+{
+    /**
+     * Add a new filter to take care of what needs to be hydrated.
+     * To exclude e.g. the method getServiceLocator:
+     *
+     * <code>
+     * $composite->addFilter(
+     *     "servicelocator",
+     *     function ($property) {
+     *         list($class, $method) = explode('::', $property);
+     *         if ($method === 'getServiceLocator') {
+     *             return false;
+     *         }
+     *         return true;
+     *     },
+     *     FilterComposite::CONDITION_AND
+     * );
+     * </code>
+     *
+     * @param string $name Index in the composite
+     * @param callable|Filter\FilterInterface $filter
+     * @param int $condition
+     * @return Filter\FilterComposite
+     */
+    public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR);
+
+    /**
+     * Check whether a specific filter exists at key $name or not
+     *
+     * @param string $name Index in the composite
+     * @return bool
+     */
+    public function hasFilter($name);
+
+    /**
+     * Remove a filter from the composition.
+     * To not extract "has" methods, you simply need to unregister it
+     *
+     * <code>
+     * $filterComposite->removeFilter('has');
+     * </code>
+     *
+     * @param $name
+     * @return Filter\FilterComposite
+     */
+    public function removeFilter($name);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydrationInterface.php b/vendor/zendframework/zend-hydrator/src/HydrationInterface.php
new file mode 100644
index 0000000..ca28983
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydrationInterface.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface HydrationInterface
+{
+    /**
+     * Hydrate $object with the provided $data.
+     *
+     * @param  array $data
+     * @param  object $object
+     * @return object
+     */
+    public function hydrate(array $data, $object);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorAwareInterface.php b/vendor/zendframework/zend-hydrator/src/HydratorAwareInterface.php
new file mode 100644
index 0000000..8c89bc6
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorAwareInterface.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface HydratorAwareInterface
+{
+    /**
+     * Set hydrator
+     *
+     * @param  HydratorInterface $hydrator
+     * @return HydratorAwareInterface
+     */
+    public function setHydrator(HydratorInterface $hydrator);
+
+    /**
+     * Retrieve hydrator
+     *
+     * @return HydratorInterface
+     */
+    public function getHydrator();
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorAwareTrait.php b/vendor/zendframework/zend-hydrator/src/HydratorAwareTrait.php
new file mode 100644
index 0000000..76c1989
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorAwareTrait.php
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+trait HydratorAwareTrait
+{
+    /**
+     * Hydrator instance
+     *
+     * @var HydratorInterface
+     * @access protected
+     */
+    protected $hydrator = null;
+
+    /**
+     * Set hydrator
+     *
+     * @param  HydratorInterface $hydrator
+     * @return self
+     * @access public
+     */
+    public function setHydrator(HydratorInterface $hydrator)
+    {
+        $this->hydrator = $hydrator;
+
+        return $this;
+    }
+
+    /**
+     * Retrieve hydrator
+     *
+     * @param void
+     * @return null|HydratorInterface
+     * @access public
+     */
+    public function getHydrator()
+    {
+        return $this->hydrator;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorInterface.php b/vendor/zendframework/zend-hydrator/src/HydratorInterface.php
new file mode 100644
index 0000000..a48effa
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorInterface.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface HydratorInterface extends HydrationInterface, ExtractionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorOptionsInterface.php b/vendor/zendframework/zend-hydrator/src/HydratorOptionsInterface.php
new file mode 100644
index 0000000..20efbbf
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorOptionsInterface.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use Traversable;
+
+interface HydratorOptionsInterface
+{
+    /**
+     * @param  array|Traversable $options
+     * @return self
+     */
+    public function setOptions($options);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/HydratorPluginManager.php b/vendor/zendframework/zend-hydrator/src/HydratorPluginManager.php
new file mode 100644
index 0000000..de13dd1
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/HydratorPluginManager.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use Zend\ServiceManager\AbstractPluginManager;
+
+/**
+ * Plugin manager implementation for hydrators.
+ *
+ * Enforces that adapters retrieved are instances of HydratorInterface
+ */
+class HydratorPluginManager extends AbstractPluginManager
+{
+    /**
+     * Whether or not to share by default
+     *
+     * @var bool
+     */
+    protected $shareByDefault = false;
+
+    /**
+     * Default aliases
+     *
+     * @var array
+     */
+    protected $aliases = [
+        'delegatinghydrator' => 'Zend\Hydrator\DelegatingHydrator',
+    ];
+
+    /**
+     * Default set of adapters
+     *
+     * @var array
+     */
+    protected $invokableClasses = [
+        'arrayserializable' => 'Zend\Hydrator\ArraySerializable',
+        'classmethods'      => 'Zend\Hydrator\ClassMethods',
+        'objectproperty'    => 'Zend\Hydrator\ObjectProperty',
+        'reflection'        => 'Zend\Hydrator\Reflection'
+    ];
+
+    /**
+     * Default factory-based adapters
+     *
+     * @var array
+     */
+    protected $factories = [
+        'Zend\Hydrator\DelegatingHydrator' => 'Zend\Hydrator\DelegatingHydratorFactory',
+    ];
+
+    /**
+     * {@inheritDoc}
+     */
+    public function validatePlugin($plugin)
+    {
+        if ($plugin instanceof HydratorInterface) {
+            // we're okay
+            return;
+        }
+
+        throw new Exception\RuntimeException(sprintf(
+            'Plugin of type %s is invalid; must implement Zend\Hydrator\HydratorInterface',
+            (is_object($plugin) ? get_class($plugin) : gettype($plugin))
+        ));
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php
new file mode 100644
index 0000000..8e14f03
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingArrayIterator.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Iterator;
+
+use ArrayIterator;
+use Zend\Hydrator\HydratorInterface;
+
+class HydratingArrayIterator extends HydratingIteratorIterator
+{
+    /**
+     * @var HydratorInterface
+     */
+    protected $hydrator;
+
+    /**
+     * @var object
+     */
+    protected $prototype;
+
+    /**
+     * @param HydratorInterface $hydrator
+     * @param array $data
+     * @param string|object $prototype Object, or class name to use for prototype.
+     */
+    public function __construct(HydratorInterface $hydrator, array $data, $prototype)
+    {
+        parent::__construct($hydrator, new ArrayIterator($data), $prototype);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorInterface.php b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorInterface.php
new file mode 100644
index 0000000..ec31040
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorInterface.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Iterator;
+
+use Iterator;
+use Zend\Hydrator\HydratorInterface;
+
+interface HydratingIteratorInterface extends Iterator
+{
+    /**
+     * This sets the prototype to hydrate.
+     *
+     * This prototype can be the name of the class or the object itself;
+     * iteration will clone the object.
+     *
+     * @param string|object $prototype
+     */
+    public function setPrototype($prototype);
+
+    /**
+     * Sets the hydrator to use during iteration.
+     *
+     * @param HydratorInterface $hydrator
+     */
+    public function setHydrator(HydratorInterface $hydrator);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorIterator.php b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorIterator.php
new file mode 100644
index 0000000..53e09f0
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Iterator/HydratingIteratorIterator.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Iterator;
+
+use Iterator;
+use IteratorIterator;
+use Zend\Hydrator\Exception\InvalidArgumentException;
+use Zend\Hydrator\HydratorInterface;
+
+class HydratingIteratorIterator extends IteratorIterator implements HydratingIteratorInterface
+{
+    /**
+     * @var HydratorInterface
+     */
+    protected $hydrator;
+
+    /**
+     * @var object
+     */
+    protected $prototype;
+
+    /**
+     * @param HydratorInterface $hydrator
+     * @param Iterator $data
+     * @param string|object $prototype Object or class name to use for prototype.
+     */
+    public function __construct(HydratorInterface $hydrator, Iterator $data, $prototype)
+    {
+        $this->setHydrator($hydrator);
+        $this->setPrototype($prototype);
+        parent::__construct($data);
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setPrototype($prototype)
+    {
+        if (is_object($prototype)) {
+            $this->prototype = $prototype;
+            return;
+        }
+
+        if (!class_exists($prototype)) {
+            throw new InvalidArgumentException(
+                sprintf('Method %s was passed an invalid class name: %s', __METHOD__, $prototype)
+            );
+        }
+
+        $this->prototype = new $prototype;
+    }
+
+    /**
+     * @inheritdoc
+     */
+    public function setHydrator(HydratorInterface $hydrator)
+    {
+        $this->hydrator = $hydrator;
+    }
+
+    /**
+     * @return object Returns hydrated clone of $prototype
+     */
+    public function current()
+    {
+        $currentValue = parent::current();
+        $object       = clone $this->prototype;
+        $this->hydrator->hydrate($currentValue, $object);
+        return $object;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php
new file mode 100644
index 0000000..c6333e2
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/ArrayMapNamingStrategy.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+class ArrayMapNamingStrategy implements NamingStrategyInterface
+{
+    /**
+     * @var string[]
+     */
+    private $extractionMap = [];
+
+    /**
+     * @var string[]
+     */
+    private $hydrationMap = [];
+
+    /**
+     * Constructor
+     *
+     * @param array $extractionMap A map of string keys and values for symmetric translation of hydrated
+     *                             and extracted field names
+     */
+    public function __construct(array $extractionMap)
+    {
+        $this->extractionMap = $extractionMap;
+        $this->hydrationMap  = array_flip($extractionMap);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function hydrate($name)
+    {
+        return isset($this->hydrationMap[$name]) ? $this->hydrationMap[$name] : $name;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function extract($name)
+    {
+        return isset($this->extractionMap[$name]) ? $this->extractionMap[$name] : $name;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php
new file mode 100644
index 0000000..c2bae8c
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/CompositeNamingStrategy.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+class CompositeNamingStrategy implements NamingStrategyInterface
+{
+    /**
+     * @var array
+     */
+    private $namingStrategies = [];
+
+    /**
+     * @var NamingStrategyInterface
+     */
+    private $defaultNamingStrategy;
+
+    /**
+     * @param NamingStrategyInterface[]    $strategies            indexed by the name they translate
+     * @param NamingStrategyInterface|null $defaultNamingStrategy
+     */
+    public function __construct(array $strategies, NamingStrategyInterface $defaultNamingStrategy = null)
+    {
+        $this->namingStrategies = array_map(
+            function (NamingStrategyInterface $strategy) {
+                // this callback is here only to ensure type-safety
+                return $strategy;
+            },
+            $strategies
+        );
+
+        $this->defaultNamingStrategy = $defaultNamingStrategy ?: new IdentityNamingStrategy();
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function extract($name)
+    {
+        $strategy = isset($this->namingStrategies[$name])
+            ? $this->namingStrategies[$name]
+            : $this->defaultNamingStrategy;
+
+        return $strategy->extract($name);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function hydrate($name)
+    {
+        $strategy = isset($this->namingStrategies[$name])
+            ? $this->namingStrategies[$name]
+            : $this->defaultNamingStrategy;
+
+        return $strategy->hydrate($name);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php
new file mode 100644
index 0000000..59e3fed
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/IdentityNamingStrategy.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+class IdentityNamingStrategy implements NamingStrategyInterface
+{
+    /**
+     * {@inheritDoc}
+     */
+    public function hydrate($name)
+    {
+        return $name;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function extract($name)
+    {
+        return $name;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/MapNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/MapNamingStrategy.php
new file mode 100644
index 0000000..7846bce
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/MapNamingStrategy.php
@@ -0,0 +1,89 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\Exception\InvalidArgumentException;
+
+class MapNamingStrategy implements NamingStrategyInterface
+{
+    /**
+     * Map for hydrate name conversion.
+     *
+     * @var array
+     */
+    protected $mapping = [];
+
+    /**
+     * Reversed map for extract name conversion.
+     *
+     * @var array
+     */
+    protected $reverse = [];
+
+    /**
+     * Initialize.
+     *
+     * @param array $mapping Map for name conversion on hydration
+     * @param array $reverse Reverse map for name conversion on extraction
+     */
+    public function __construct(array $mapping, array $reverse = null)
+    {
+        $this->mapping = $mapping;
+        $this->reverse = $reverse ?: $this->flipMapping($mapping);
+    }
+
+    /**
+     * Safelly flip mapping array.
+     *
+     * @param  array                    $array Array to flip
+     * @return array                    Flipped array
+     * @throws InvalidArgumentException
+     */
+    protected function flipMapping(array $array)
+    {
+        array_walk($array, function ($value) {
+            if (!is_string($value) && !is_int($value)) {
+                throw new InvalidArgumentException('Mapping array can\'t be flipped because of invalid value');
+            }
+        });
+
+        return array_flip($array);
+    }
+
+    /**
+     * Converts the given name so that it can be extracted by the hydrator.
+     *
+     * @param  string $name The original name
+     * @return mixed  The hydrated name
+     */
+    public function hydrate($name)
+    {
+        if (array_key_exists($name, $this->mapping)) {
+            return $this->mapping[$name];
+        }
+
+        return $name;
+    }
+
+    /**
+     * Converts the given name so that it can be hydrated by the hydrator.
+     *
+     * @param  string $name The original name
+     * @return mixed  The extracted name
+     */
+    public function extract($name)
+    {
+        if (array_key_exists($name, $this->reverse)) {
+            return $this->reverse[$name];
+        }
+
+        return $name;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php
new file mode 100644
index 0000000..cb7ca94
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/NamingStrategyInterface.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+/**
+ * Allow property extraction / hydration for hydrator
+ */
+interface NamingStrategyInterface
+{
+    /**
+     * Converts the given name so that it can be extracted by the hydrator.
+     *
+     * @param string $name   The original name
+     * @param object $object (optional) The original object for context.
+     * @return mixed         The hydrated name
+     */
+    public function hydrate($name);
+
+    /**
+     * Converts the given name so that it can be hydrated by the hydrator.
+     *
+     * @param string $name The original name
+     * @param array  $data (optional) The original data for context.
+     * @return mixed The extracted name
+     */
+    public function extract($name);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategy/UnderscoreNamingStrategy.php b/vendor/zendframework/zend-hydrator/src/NamingStrategy/UnderscoreNamingStrategy.php
new file mode 100644
index 0000000..7fdfa53
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategy/UnderscoreNamingStrategy.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\NamingStrategy;
+
+use Zend\Filter\FilterChain;
+
+class UnderscoreNamingStrategy implements NamingStrategyInterface
+{
+    /**
+     * @var FilterChain|null
+     */
+    protected static $camelCaseToUnderscoreFilter;
+
+    /**
+     * @var FilterChain|null
+     */
+    protected static $underscoreToStudlyCaseFilter;
+
+    /**
+     * Remove underscores and capitalize letters
+     *
+     * @param  string $name
+     * @return string
+     */
+    public function hydrate($name)
+    {
+        return $this->getUnderscoreToStudlyCaseFilter()->filter($name);
+    }
+
+    /**
+     * Remove capitalized letters and prepend underscores.
+     *
+     * @param  string $name
+     * @return string
+     */
+    public function extract($name)
+    {
+        return $this->getCamelCaseToUnderscoreFilter()->filter($name);
+    }
+
+    /**
+     * @return FilterChain
+     */
+    protected function getUnderscoreToStudlyCaseFilter()
+    {
+        if (static::$underscoreToStudlyCaseFilter instanceof FilterChain) {
+            return static::$underscoreToStudlyCaseFilter;
+        }
+
+        $filter = new FilterChain();
+
+        $filter->attachByName('WordUnderscoreToStudlyCase');
+
+        return static::$underscoreToStudlyCaseFilter = $filter;
+    }
+
+    /**
+     * @return FilterChain
+     */
+    protected function getCamelCaseToUnderscoreFilter()
+    {
+        if (static::$camelCaseToUnderscoreFilter instanceof FilterChain) {
+            return static::$camelCaseToUnderscoreFilter;
+        }
+
+        $filter = new FilterChain();
+
+        $filter->attachByName('WordCamelCaseToUnderscore');
+        $filter->attachByName('StringToLower');
+
+        return static::$camelCaseToUnderscoreFilter = $filter;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php b/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php
new file mode 100644
index 0000000..c01a527
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/NamingStrategyEnabledInterface.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface NamingStrategyEnabledInterface
+{
+    /**
+     * Adds the given naming strategy
+     *
+     * @param NamingStrategy\NamingStrategyInterface $strategy The naming to register.
+     * @return self
+     */
+    public function setNamingStrategy(NamingStrategy\NamingStrategyInterface $strategy);
+
+    /**
+     * Gets the naming strategy.
+     *
+     * @return NamingStrategy\NamingStrategyInterface
+     */
+    public function getNamingStrategy();
+
+    /**
+     * Checks if a naming strategy exists.
+     *
+     * @return bool
+     */
+    public function hasNamingStrategy();
+
+    /**
+     * Removes the naming with the given name.
+     *
+     * @return self
+     */
+    public function removeNamingStrategy();
+}
diff --git a/vendor/zendframework/zend-hydrator/src/ObjectProperty.php b/vendor/zendframework/zend-hydrator/src/ObjectProperty.php
new file mode 100644
index 0000000..db68fb2
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/ObjectProperty.php
@@ -0,0 +1,109 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use ReflectionClass;
+use ReflectionProperty;
+
+class ObjectProperty extends AbstractHydrator
+{
+    /**
+     * @var array[] indexed by class name and then property name
+     */
+    private static $skippedPropertiesCache = [];
+
+    /**
+     * {@inheritDoc}
+     *
+     * Extracts the accessible non-static properties of the given $object.
+     *
+     * @throws Exception\BadMethodCallException for a non-object $object
+     */
+    public function extract($object)
+    {
+        if (!is_object($object)) {
+            throw new Exception\BadMethodCallException(
+                sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
+            );
+        }
+
+        $data   = get_object_vars($object);
+        $filter = $this->getFilter();
+
+        foreach ($data as $name => $value) {
+            // Filter keys, removing any we don't want
+            if (! $filter->filter($name)) {
+                unset($data[$name]);
+                continue;
+            }
+
+            // Replace name if extracted differ
+            $extracted = $this->extractName($name, $object);
+
+            if ($extracted !== $name) {
+                unset($data[$name]);
+                $name = $extracted;
+            }
+
+            $data[$name] = $this->extractValue($name, $value, $object);
+        }
+
+        return $data;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Hydrate an object by populating public properties
+     *
+     * Hydrates an object by setting public properties of the object.
+     *
+     * @throws Exception\BadMethodCallException for a non-object $object
+     */
+    public function hydrate(array $data, $object)
+    {
+        if (!is_object($object)) {
+            throw new Exception\BadMethodCallException(
+                sprintf('%s expects the provided $object to be a PHP object)', __METHOD__)
+            );
+        }
+
+        $properties = & self::$skippedPropertiesCache[get_class($object)];
+
+        if (! isset($properties)) {
+            $reflection = new ReflectionClass($object);
+            $properties = array_fill_keys(
+                array_map(
+                    function (ReflectionProperty $property) {
+                        return $property->getName();
+                    },
+                    $reflection->getProperties(
+                        ReflectionProperty::IS_PRIVATE
+                        + ReflectionProperty::IS_PROTECTED
+                        + ReflectionProperty::IS_STATIC
+                    )
+                ),
+                true
+            );
+        }
+
+        foreach ($data as $name => $value) {
+            $property = $this->hydrateName($name, $data);
+
+            if (isset($properties[$property])) {
+                continue;
+            }
+
+            $object->$property = $this->hydrateValue($property, $value, $data);
+        }
+
+        return $object;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Reflection.php b/vendor/zendframework/zend-hydrator/src/Reflection.php
new file mode 100644
index 0000000..019748b
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Reflection.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+use ReflectionClass;
+use ReflectionProperty;
+
+class Reflection extends AbstractHydrator
+{
+    /**
+     * Simple in-memory array cache of ReflectionProperties used.
+     * @var ReflectionProperty[]
+     */
+    protected static $reflProperties = [];
+
+    /**
+     * Extract values from an object
+     *
+     * @param  object $object
+     * @return array
+     */
+    public function extract($object)
+    {
+        $result = [];
+        foreach (self::getReflProperties($object) as $property) {
+            $propertyName = $this->extractName($property->getName(), $object);
+            if (!$this->filterComposite->filter($propertyName)) {
+                continue;
+            }
+
+            $value = $property->getValue($object);
+            $result[$propertyName] = $this->extractValue($propertyName, $value, $object);
+        }
+
+        return $result;
+    }
+
+    /**
+     * Hydrate $object with the provided $data.
+     *
+     * @param  array $data
+     * @param  object $object
+     * @return object
+     */
+    public function hydrate(array $data, $object)
+    {
+        $reflProperties = self::getReflProperties($object);
+        foreach ($data as $key => $value) {
+            $name = $this->hydrateName($key, $data);
+            if (isset($reflProperties[$name])) {
+                $reflProperties[$name]->setValue($object, $this->hydrateValue($name, $value, $data));
+            }
+        }
+        return $object;
+    }
+
+    /**
+     * Get a reflection properties from in-memory cache and lazy-load if
+     * class has not been loaded.
+     *
+     * @param  string|object $input
+     * @throws Exception\InvalidArgumentException
+     * @return ReflectionProperty[]
+     */
+    protected static function getReflProperties($input)
+    {
+        if (is_object($input)) {
+            $input = get_class($input);
+        } elseif (!is_string($input)) {
+            throw new Exception\InvalidArgumentException('Input must be a string or an object.');
+        }
+
+        if (isset(static::$reflProperties[$input])) {
+            return static::$reflProperties[$input];
+        }
+
+        static::$reflProperties[$input] = [];
+        $reflClass                      = new ReflectionClass($input);
+        $reflProperties                 = $reflClass->getProperties();
+
+        foreach ($reflProperties as $property) {
+            $property->setAccessible(true);
+            static::$reflProperties[$input][$property->getName()] = $property;
+        }
+
+        return static::$reflProperties[$input];
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php
new file mode 100644
index 0000000..dcb3a42
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/BooleanStrategy.php
@@ -0,0 +1,104 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+use Zend\Hydrator\Exception\InvalidArgumentException;
+
+/**
+ * This Strategy extracts and hydrates int and string values to Boolean values
+ */
+class BooleanStrategy implements StrategyInterface
+{
+    /**
+     * @var int|string
+     */
+    private $trueValue;
+
+    /**
+     * @var int|string
+     */
+    private $falseValue;
+
+    /**
+     * @param int|string $trueValue
+     * @param int|string $falseValue
+     * @throws InvalidArgumentException
+     */
+    public function __construct($trueValue, $falseValue)
+    {
+        if (!is_int($trueValue) && !is_string($trueValue)) {
+            throw new InvalidArgumentException(sprintf(
+                'Unable to instantiate BooleanStrategy. Expected int or string as $trueValue. %s was given',
+                is_object($trueValue) ? get_class($trueValue) : gettype($trueValue)
+            ));
+        }
+
+        if (!is_int($falseValue) && !is_string($falseValue)) {
+            throw new InvalidArgumentException(sprintf(
+                'Unable to instantiate BooleanStrategy. Expected int or string as $falseValue. %s was given',
+                is_object($falseValue) ? get_class($falseValue) : gettype($falseValue)
+            ));
+        }
+
+        $this->trueValue  = $trueValue;
+        $this->falseValue = $falseValue;
+    }
+
+    /**
+     * Converts the given value so that it can be extracted by the hydrator.
+     *
+     * @param  bool $value The original value.
+     * @throws InvalidArgumentException
+     * @return int|string Returns the value that should be extracted.
+     */
+    public function extract($value)
+    {
+        if (!is_bool($value)) {
+            throw new InvalidArgumentException(sprintf(
+                'Unable to extract. Expected bool. %s was given.',
+                is_object($value) ? get_class($value) : gettype($value)
+            ));
+        }
+
+        return $value === true ? $this->trueValue : $this->falseValue;
+    }
+
+    /**
+     * Converts the given value so that it can be hydrated by the hydrator.
+     *
+     * @param  int|string $value The original value.
+     * @throws InvalidArgumentException
+     * @return bool Returns the value that should be hydrated.
+     */
+    public function hydrate($value)
+    {
+        if (!is_string($value) && !is_int($value)) {
+            throw new InvalidArgumentException(sprintf(
+                'Unable to hydrate. Expected string or int. %s was given.',
+                is_object($value) ? get_class($value) : gettype($value)
+            ));
+        }
+
+        if ($value === $this->trueValue) {
+            return true;
+        }
+
+        if ($value === $this->falseValue) {
+            return false;
+        }
+
+        throw new InvalidArgumentException(sprintf(
+            'Unexpected value %s can\'t be hydrated. Expect %s or %s as Value.',
+            $value,
+            $this->trueValue,
+            $this->falseValue
+        ));
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php
new file mode 100644
index 0000000..1f6526d
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/ClosureStrategy.php
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+class ClosureStrategy implements StrategyInterface
+{
+    /**
+     * Function, used in extract method, default:
+     *
+     * <code>
+     * function ($value) {
+     *     return $value;
+     * };
+     * </code>
+     *
+     * @var callable
+     */
+    protected $extractFunc = null;
+
+    /**
+     * Function, used in hydrate method, default:
+     *
+     * <code>
+     * function ($value) {
+     *     return $value;
+     * };
+     * </code>
+     *
+     * @var callable
+     */
+    protected $hydrateFunc = null;
+
+    /**
+     * You can describe how your values will extract and hydrate, like this:
+     *
+     * <code>
+     * $hydrator->addStrategy('category', new ClosureStrategy(
+     *     function (Category $value) {
+     *         return (int) $value->id;
+     *     },
+     *     function ($value) {
+     *         return new Category((int) $value);
+     *     }
+     * ));
+     * </code>
+     *
+     * @param callable $extractFunc - anonymous function, that extract values
+     *     from object
+     * @param callable $hydrateFunc - anonymous function, that hydrate values
+     *     into object
+     */
+    public function __construct($extractFunc = null, $hydrateFunc = null)
+    {
+        if (isset($extractFunc)) {
+            if (!is_callable($extractFunc)) {
+                throw new \Exception('$extractFunc must be callable');
+            }
+
+            $this->extractFunc = $extractFunc;
+        } else {
+            $this->extractFunc = function ($value) {
+                return $value;
+            };
+        }
+
+        if (isset($hydrateFunc)) {
+            if (!is_callable($hydrateFunc)) {
+                throw new \Exception('$hydrateFunc must be callable');
+            }
+
+            $this->hydrateFunc = $hydrateFunc;
+        } else {
+            $this->hydrateFunc = function ($value) {
+                return $value;
+            };
+        }
+    }
+
+    /**
+     * Converts the given value so that it can be extracted by the hydrator.
+     *
+     * @param  mixed $value  The original value.
+     * @param  array $object The object is optionally provided as context.
+     * @return mixed Returns the value that should be extracted.
+     */
+    public function extract($value, $object = null)
+    {
+        $func = $this->extractFunc;
+
+        return $func($value, $object);
+    }
+
+    /**
+     * Converts the given value so that it can be hydrated by the hydrator.
+     *
+     * @param  mixed $value The original value.
+     * @param  array $data  The whole data is optionally provided as context.
+     * @return mixed Returns the value that should be hydrated.
+     */
+    public function hydrate($value, $data = null)
+    {
+        $func = $this->hydrateFunc;
+
+        return $func($value, $data);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php
new file mode 100644
index 0000000..62dda71
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/DateTimeFormatterStrategy.php
@@ -0,0 +1,80 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+use DateTime;
+use DateTimeZone;
+
+class DateTimeFormatterStrategy implements StrategyInterface
+{
+    /**
+     * @var string
+     */
+    private $format;
+
+    /**
+     * @var DateTimeZone|null
+     */
+    private $timezone;
+
+    /**
+     * Constructor
+     *
+     * @param string            $format
+     * @param DateTimeZone|null $timezone
+     */
+    public function __construct($format = DateTime::RFC3339, DateTimeZone $timezone = null)
+    {
+        $this->format   = (string) $format;
+        $this->timezone = $timezone;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Converts to date time string
+     *
+     * @param mixed|DateTime $value
+     *
+     * @return mixed|string
+     */
+    public function extract($value)
+    {
+        if ($value instanceof DateTime) {
+            return $value->format($this->format);
+        }
+
+        return $value;
+    }
+
+    /**
+     * Converts date time string to DateTime instance for injecting to object
+     *
+     * {@inheritDoc}
+     *
+     * @param mixed|string $value
+     *
+     * @return mixed|DateTime
+     */
+    public function hydrate($value)
+    {
+        if ($value === '' || $value === null) {
+            return;
+        }
+
+        if ($this->timezone) {
+            $hydrated = DateTime::createFromFormat($this->format, $value, $this->timezone);
+        } else {
+            $hydrated = DateTime::createFromFormat($this->format, $value);
+        }
+
+        return $hydrated ?: $value;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php
new file mode 100644
index 0000000..6fb8f45
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/DefaultStrategy.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+class DefaultStrategy implements StrategyInterface
+{
+    /**
+     * Converts the given value so that it can be extracted by the hydrator.
+     *
+     * @param mixed $value The original value.
+     * @return mixed Returns the value that should be extracted.
+     */
+    public function extract($value)
+    {
+        return $value;
+    }
+
+    /**
+     * Converts the given value so that it can be hydrated by the hydrator.
+     *
+     * @param mixed $value The original value.
+     * @return mixed Returns the value that should be hydrated.
+     */
+    public function hydrate($value)
+    {
+        return $value;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/Exception/ExceptionInterface.php b/vendor/zendframework/zend-hydrator/src/Strategy/Exception/ExceptionInterface.php
new file mode 100644
index 0000000..6c16ec7
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/Exception/ExceptionInterface.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy\Exception;
+
+interface ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-hydrator/src/Strategy/Exception/InvalidArgumentException.php
new file mode 100644
index 0000000..c3175de
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/Exception/InvalidArgumentException.php
@@ -0,0 +1,14 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy\Exception;
+
+class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/ExplodeStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/ExplodeStrategy.php
new file mode 100644
index 0000000..4eb54d6
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/ExplodeStrategy.php
@@ -0,0 +1,113 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+class ExplodeStrategy implements StrategyInterface
+{
+    /**
+     * @var string
+     */
+    private $valueDelimiter;
+
+    /**
+     * @var int|null
+     */
+    private $explodeLimit;
+
+    /**
+     * Constructor
+     *
+     * @param string   $delimiter    String that the values will be split upon
+     * @param int|null $explodeLimit Explode limit
+     */
+    public function __construct($delimiter = ',', $explodeLimit = null)
+    {
+        $this->setValueDelimiter($delimiter);
+
+        $this->explodeLimit = ($explodeLimit === null) ? null : (int) $explodeLimit;
+    }
+
+    /**
+     * Sets the delimiter string that the values will be split upon
+     *
+     * @param  string $delimiter
+     * @return self
+     */
+    private function setValueDelimiter($delimiter)
+    {
+        if (!is_string($delimiter)) {
+            throw new Exception\InvalidArgumentException(sprintf(
+                '%s expects Delimiter to be string, %s provided instead',
+                __METHOD__,
+                is_object($delimiter) ? get_class($delimiter) : gettype($delimiter)
+            ));
+        }
+
+        if (empty($delimiter)) {
+            throw new Exception\InvalidArgumentException('Delimiter cannot be empty.');
+        }
+
+        $this->valueDelimiter = $delimiter;
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Split a string by delimiter
+     *
+     * @param string|null $value
+     *
+     * @return string[]
+     *
+     * @throws Exception\InvalidArgumentException
+     */
+    public function hydrate($value)
+    {
+        if (null === $value) {
+            return [];
+        }
+
+        if (!(is_string($value) || is_numeric($value))) {
+            throw new Exception\InvalidArgumentException(sprintf(
+                '%s expects argument 1 to be string, %s provided instead',
+                __METHOD__,
+                is_object($value) ? get_class($value) : gettype($value)
+            ));
+        }
+
+        if ($this->explodeLimit !== null) {
+            return explode($this->valueDelimiter, $value, $this->explodeLimit);
+        }
+
+        return explode($this->valueDelimiter, $value);
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Join array elements with delimiter
+     *
+     * @param string[] $value The original value.
+     *
+     * @return string|null
+     */
+    public function extract($value)
+    {
+        if (!is_array($value)) {
+            throw new Exception\InvalidArgumentException(sprintf(
+                '%s expects argument 1 to be array, %s provided instead',
+                __METHOD__,
+                is_object($value) ? get_class($value) : gettype($value)
+            ));
+        }
+
+        return empty($value) ? null : implode($this->valueDelimiter, $value);
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php b/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php
new file mode 100644
index 0000000..bc49e7b
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/SerializableStrategy.php
@@ -0,0 +1,123 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+use Zend\Hydrator\Exception\InvalidArgumentException;
+use Zend\Serializer\Adapter\AdapterInterface as SerializerAdapter;
+use Zend\Serializer\Serializer as SerializerFactory;
+
+class SerializableStrategy implements StrategyInterface
+{
+    /**
+     * @var string|SerializerAdapter
+     */
+    protected $serializer;
+
+    /**
+     * @var array
+     */
+    protected $serializerOptions = [];
+
+    /**
+     *
+     * @param mixed $serializer string or SerializerAdapter
+     * @param mixed $serializerOptions
+     */
+    public function __construct($serializer, $serializerOptions = null)
+    {
+        $this->setSerializer($serializer);
+        if ($serializerOptions) {
+            $this->setSerializerOptions($serializerOptions);
+        }
+    }
+
+    /**
+     * Serialize the given value so that it can be extracted by the hydrator.
+     *
+     * @param mixed $value The original value.
+     * @return mixed Returns the value that should be extracted.
+     */
+    public function extract($value)
+    {
+        $serializer = $this->getSerializer();
+        return $serializer->serialize($value);
+    }
+
+    /**
+     * Unserialize the given value so that it can be hydrated by the hydrator.
+     *
+     * @param mixed $value The original value.
+     * @return mixed Returns the value that should be hydrated.
+     */
+    public function hydrate($value)
+    {
+        $serializer = $this->getSerializer();
+        return $serializer->unserialize($value);
+    }
+
+    /**
+     * Set serializer
+     *
+     * @param  string|SerializerAdapter $serializer
+     * @return SerializableStrategy
+     */
+    public function setSerializer($serializer)
+    {
+        if (!is_string($serializer) && !$serializer instanceof SerializerAdapter) {
+            throw new InvalidArgumentException(sprintf(
+                '%s expects either a string serializer name or Zend\Serializer\Adapter\AdapterInterface instance; '
+                . 'received "%s"',
+                __METHOD__,
+                (is_object($serializer) ? get_class($serializer) : gettype($serializer))
+            ));
+        }
+        $this->serializer = $serializer;
+        return $this;
+    }
+
+    /**
+     * Get serializer
+     *
+     * @return SerializerAdapter
+     */
+    public function getSerializer()
+    {
+        if (is_string($this->serializer)) {
+            $options = $this->getSerializerOptions();
+            $this->setSerializer(SerializerFactory::factory($this->serializer, $options));
+        } elseif (null === $this->serializer) {
+            $this->setSerializer(SerializerFactory::getDefaultAdapter());
+        }
+
+        return $this->serializer;
+    }
+
+    /**
+     * Set configuration options for instantiating a serializer adapter
+     *
+     * @param  mixed $serializerOptions
+     * @return SerializableStrategy
+     */
+    public function setSerializerOptions($serializerOptions)
+    {
+        $this->serializerOptions = $serializerOptions;
+        return $this;
+    }
+
+    /**
+     * Get configuration options for instantiating a serializer adapter
+     *
+     * @return mixed
+     */
+    public function getSerializerOptions()
+    {
+        return $this->serializerOptions;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php
new file mode 100644
index 0000000..49d514d
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyChain.php
@@ -0,0 +1,73 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+use Traversable;
+use Zend\Stdlib\ArrayUtils;
+
+class StrategyChain implements StrategyInterface
+{
+    /**
+     * Strategy chain for extraction
+     *
+     * @var StrategyInterface[]
+     */
+    private $extractionStrategies;
+
+    /**
+     * Strategy chain for hydration
+     *
+     * @var StrategyInterface[]
+     */
+    private $hydrationStrategies;
+
+    /**
+     * Constructor
+     *
+     * @param array|Traversable $extractionStrategies
+     */
+    public function __construct($extractionStrategies)
+    {
+        $extractionStrategies = ArrayUtils::iteratorToArray($extractionStrategies);
+        $this->extractionStrategies = array_map(
+            function (StrategyInterface $strategy) {
+                // this callback is here only to ensure type-safety
+                return $strategy;
+            },
+            $extractionStrategies
+        );
+
+        $this->hydrationStrategies = array_reverse($extractionStrategies);
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function extract($value)
+    {
+        foreach ($this->extractionStrategies as $strategy) {
+            $value = $strategy->extract($value);
+        }
+
+        return $value;
+    }
+
+    /**
+     * {@inheritDoc}
+     */
+    public function hydrate($value)
+    {
+        foreach ($this->hydrationStrategies as $strategy) {
+            $value = $strategy->hydrate($value);
+        }
+
+        return $value;
+    }
+}
diff --git a/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php
new file mode 100644
index 0000000..a705593
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/Strategy/StrategyInterface.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator\Strategy;
+
+/**
+ * @todo v3.0, add optional object/data to extract/hydrate.
+ */
+interface StrategyInterface
+{
+    /**
+     * Converts the given value so that it can be extracted by the hydrator.
+     *
+     * @param mixed   $value The original value.
+     * @param object $object (optional) The original object for context.
+     * @return mixed Returns the value that should be extracted.
+     */
+    public function extract($value);
+
+    /**
+     * Converts the given value so that it can be hydrated by the hydrator.
+     *
+     * @param mixed $value The original value.
+     * @param array  $data (optional) The original data for context.
+     * @return mixed Returns the value that should be hydrated.
+     */
+    public function hydrate($value);
+}
diff --git a/vendor/zendframework/zend-hydrator/src/StrategyEnabledInterface.php b/vendor/zendframework/zend-hydrator/src/StrategyEnabledInterface.php
new file mode 100644
index 0000000..3c85b78
--- /dev/null
+++ b/vendor/zendframework/zend-hydrator/src/StrategyEnabledInterface.php
@@ -0,0 +1,46 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Hydrator;
+
+interface StrategyEnabledInterface
+{
+    /**
+     * Adds the given strategy under the given name.
+     *
+     * @param string $name The name of the strategy to register.
+     * @param Strategy\StrategyInterface $strategy The strategy to register.
+     * @return self
+     */
+    public function addStrategy($name, Strategy\StrategyInterface $strategy);
+
+    /**
+     * Gets the strategy with the given name.
+     *
+     * @param string $name The name of the strategy to get.
+     * @return Strategy\StrategyInterface
+     */
+    public function getStrategy($name);
+
+    /**
+     * Checks if the strategy with the given name exists.
+     *
+     * @param string $name The name of the strategy to check for.
+     * @return bool
+     */
+    public function hasStrategy($name);
+
+    /**
+     * Removes the strategy with the given name.
+     *
+     * @param string $name The name of the strategy to remove.
+     * @return self
+     */
+    public function removeStrategy($name);
+}
diff --git a/vendor/zendframework/zend-stdlib/CHANGELOG.md b/vendor/zendframework/zend-stdlib/CHANGELOG.md
new file mode 100644
index 0000000..b6b31b8
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/CHANGELOG.md
@@ -0,0 +1,183 @@
+# Changelog
+
+All notable changes to this project will be documented in this file, in reverse chronological order by release.
+
+## 2.7.2 - 2015-09-23
+
+### Added
+
+- Nothing.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- [#26](https://github.com/zendframework/zend-stdlib/pull/26) fixes a subtle
+  inheritance issue with deprecation in the hydrators, and updates the
+  `HydratorInterface` to also extend the zend-hydrator `HydratorInterface` to
+  ensure LSP is preserved.
+
+## 2.7.1 - 2015-09-22
+
+### Added
+
+- Nothing.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- [#24](https://github.com/zendframework/zend-stdlib/pull/24) fixes an import in
+  `FastPriorityQueue` to alias `SplPriorityQueue` in order to disambiguate with
+  the local override present in the component.
+
+## 2.7.0 - 2015-09-22
+
+### Added
+
+- [#19](https://github.com/zendframework/zend-stdlib/pull/19) adds a new
+  `FastPriorityQueue` implementation. It follows the same signature as
+  `SplPriorityQueue`, but uses a performance-optimized algorithm:
+
+  - inserts are 2x faster than `SplPriorityQueue` and 3x faster than the
+    `Zend\Stdlib\PriorityQueue` implementation.
+  - extracts are 4x faster than `SplPriorityQueue` and 4-5x faster than the
+    `Zend\Stdlib\PriorityQueue` implementation.
+
+  The intention is to use this as a drop-in replacement in the
+  `zend-eventmanager` component to provide performance benefits.
+
+### Deprecated
+
+- [#20](https://github.com/zendframework/zend-stdlib/pull/20) deprecates *all
+  hydrator* classes, in favor of the new [zend-hydrator](https://github.com/zendframework/zend-hydrator)
+  component. All classes were updated to extend their zend-hydrator equivalents,
+  and marked as `@deprecated`, indicating the equivalent class from the other
+  repository.
+
+  Users *should* immediately start changing their code to use the zend-hydrator
+  equivalents; in most cases, this can be as easy as removing the `Stdlib`
+  namespace from import statements or hydrator configuration. Hydrators will be
+  removed entirely from zend-stdlib in v3.0, and all future updates to hydrators
+  will occur in the zend-hydrator library.
+
+  Changes with backwards compatibility implications:
+
+  - Users implementing `Zend\Stdlib\Hydrator\HydratorAwareInterface` will need to
+    update their `setHydrator()` implementation to typehint on
+    `Zend\Hydrator\HydratorInterface`. This can be done by changing the import
+    statement for that interface as follows:
+
+    ```php
+    // Replace this:
+    use Zend\Stdlib\Hydrator\HydratorInterface;
+    // with this:
+    use Zend\Hydrator\HydratorInterface;
+    ```
+
+    If you are not using imports, change the typehint within the signature itself:
+
+    ```php
+    // Replace this:
+    public function setHydrator(\Zend\Stdlib\Hydrator\HydratorInterface $hydrator)
+    // with this:
+    public function setHydrator(\Zend\Hydrator\HydratorInterface $hydrator)
+    ```
+
+    If you are using `Zend\Stdlib\Hydrator\HydratorAwareTrait`, no changes are
+    necessary, unless you override that method.
+
+  - If you were catching hydrator-generated exceptions, these were previously in
+    the `Zend\Stdlib\Exception` namespace. You will need to update your code to
+    catch exceptions in the `Zend\Hydrator\Exception` namespace.
+
+  - Users who *do* migrate to zend-hydrator may end up in a situation where
+    their code will not work with existing libraries that are still type-hinting
+    on the zend-stdlib interfaces. We will be attempting to address that ASAP,
+    but the deprecation within zend-stdlib is necessary as a first step.
+
+    In the meantime, you can write hydrators targeting zend-stdlib still in
+    order to guarantee compatibility.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- Nothing.
+
+## 2.6.0 - 2015-07-21
+
+### Added
+
+- [#13](https://github.com/zendframework/zend-stdlib/pull/13) adds
+  `Zend\Stdlib\Hydrator\Iterator`, which provides mechanisms for hydrating
+  objects when iterating a traversable. This allows creating generic collection
+  resultsets; the original idea was pulled from
+  [PhlyMongo](https://github.com/phly/PhlyMongo), where it was used to hydrate
+  collections retrieved from MongoDB.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- Nothing.
+
+## 2.5.2 - 2015-07-21
+
+### Added
+
+- Nothing.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
+  count incrementation during insert in PriorityList, ensuring that incrementation only
+  occurs when the item inserted was not previously present in the list.
+
+## 2.4.4 - 2015-07-21
+
+### Added
+
+- Nothing.
+
+### Deprecated
+
+- Nothing.
+
+### Removed
+
+- Nothing.
+
+### Fixed
+
+- [#9](https://github.com/zendframework/zend-stdlib/pull/9) fixes an issue with
+  count incrementation during insert in PriorityList, ensuring that incrementation only
+  occurs when the item inserted was not previously present in the list.
diff --git a/vendor/zendframework/zend-stdlib/CONTRIBUTING.md b/vendor/zendframework/zend-stdlib/CONTRIBUTING.md
new file mode 100644
index 0000000..1083b84
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/CONTRIBUTING.md
@@ -0,0 +1,239 @@
+# CONTRIBUTING
+
+## RESOURCES
+
+If you wish to contribute to Zend Framework, please be sure to
+read/subscribe to the following resources:
+
+ -  [Coding Standards](https://github.com/zendframework/zf2/wiki/Coding-Standards)
+ -  [Contributor's Guide](http://framework.zend.com/participate/contributor-guide)
+ -  ZF Contributor's mailing list:
+    Archives: http://zend-framework-community.634137.n4.nabble.com/ZF-Contributor-f680267.html
+    Subscribe: zf-contributors-subscribe@lists.zend.com
+ -  ZF Contributor's IRC channel:
+    #zftalk.dev on Freenode.net
+
+If you are working on new features or refactoring [create a proposal](https://github.com/zendframework/zend-stdlib/issues/new).
+
+## Reporting Potential Security Issues
+
+If you have encountered a potential security vulnerability, please **DO NOT** report it on the public
+issue tracker: send it to us at [zf-security@zend.com](mailto:zf-security@zend.com) instead.
+We will work with you to verify the vulnerability and patch it as soon as possible.
+
+When reporting issues, please provide the following information:
+
+- Component(s) affected
+- A description indicating how to reproduce the issue
+- A summary of the security vulnerability and impact
+
+We request that you contact us via the email address above and give the project
+contributors a chance to resolve the vulnerability and issue a new release prior
+to any public exposure; this helps protect users and provides them with a chance
+to upgrade and/or update in order to protect their applications.
+
+For sensitive email communications, please use [our PGP key](http://framework.zend.com/zf-security-pgp-key.asc).
+
+## RUNNING TESTS
+
+> ### Note: testing versions prior to 2.4
+>
+> This component originates with Zend Framework 2. During the lifetime of ZF2,
+> testing infrastructure migrated from PHPUnit 3 to PHPUnit 4. In most cases, no
+> changes were necessary. However, due to the migration, tests may not run on
+> versions < 2.4. As such, you may need to change the PHPUnit dependency if
+> attempting a fix on such a version.
+
+To run tests:
+
+- Clone the repository:
+
+  ```console
+  $ git clone git@github.com:zendframework/zend-stdlib.git
+  $ cd
+  ```
+
+- Install dependencies via composer:
+
+  ```console
+  $ curl -sS https://getcomposer.org/installer | php --
+  $ ./composer.phar install
+  ```
+
+  If you don't have `curl` installed, you can also download `composer.phar` from https://getcomposer.org/
+
+- Run the tests via `phpunit` and the provided PHPUnit config, like in this example:
+
+  ```console
+  $ ./vendor/bin/phpunit
+  ```
+
+You can turn on conditional tests with the phpunit.xml file.
+To do so:
+
+ -  Copy `phpunit.xml.dist` file to `phpunit.xml`
+ -  Edit `phpunit.xml` to enable any specific functionality you
+    want to test, as well as to provide test values to utilize.
+
+## Running Coding Standards Checks
+
+This component uses [php-cs-fixer](http://cs.sensiolabs.org/) for coding
+standards checks, and provides configuration for our selected checks.
+`php-cs-fixer` is installed by default via Composer.
+
+To run checks only:
+
+```console
+$ ./vendor/bin/php-cs-fixer fix . -v --diff --dry-run --config-file=.php_cs
+```
+
+To have `php-cs-fixer` attempt to fix problems for you, omit the `--dry-run`
+flag:
+
+```console
+$ ./vendor/bin/php-cs-fixer fix . -v --diff --config-file=.php_cs
+```
+
+If you allow php-cs-fixer to fix CS issues, please re-run the tests to ensure
+they pass, and make sure you add and commit the changes after verification.
+
+## Benchmarks
+
+We provide benchmark tests for zend-stdlib under the directory [benchmark/](benchmark/),
+using.  [athletic](https://github.com/polyfractal/athletic).  You can execute
+the benchmarks running the following command:
+
+```bash
+$ ./vendor/bin/athletic -p benchmark
+```
+
+## Recommended Workflow for Contributions
+
+Your first step is to establish a public repository from which we can
+pull your work into the master repository. We recommend using
+[GitHub](https://github.com), as that is where the component is already hosted.
+
+1. Setup a [GitHub account](http://github.com/), if you haven't yet
+2. Fork the repository (http://github.com/zendframework/zend-stdlib)
+3. Clone the canonical repository locally and enter it.
+
+   ```console
+   $ git clone git://github.com:zendframework/zend-stdlib.git
+   $ cd zend-stdlib
+   ```
+
+4. Add a remote to your fork; substitute your GitHub username in the command
+   below.
+
+   ```console
+   $ git remote add {username} git@github.com:{username}/zend-stdlib.git
+   $ git fetch {username}
+   ```
+
+### Keeping Up-to-Date
+
+Periodically, you should update your fork or personal repository to
+match the canonical ZF repository. Assuming you have setup your local repository
+per the instructions above, you can do the following:
+
+
+```console
+$ git checkout master
+$ git fetch origin
+$ git rebase origin/master
+# OPTIONALLY, to keep your remote up-to-date -
+$ git push {username} master:master
+```
+
+If you're tracking other branches -- for example, the "develop" branch, where
+new feature development occurs -- you'll want to do the same operations for that
+branch; simply substitute  "develop" for "master".
+
+### Working on a patch
+
+We recommend you do each new feature or bugfix in a new branch. This simplifies
+the task of code review as well as the task of merging your changes into the
+canonical repository.
+
+A typical workflow will then consist of the following:
+
+1. Create a new local branch based off either your master or develop branch.
+2. Switch to your new local branch. (This step can be combined with the
+   previous step with the use of `git checkout -b`.)
+3. Do some work, commit, repeat as necessary.
+4. Push the local branch to your remote repository.
+5. Send a pull request.
+
+The mechanics of this process are actually quite trivial. Below, we will
+create a branch for fixing an issue in the tracker.
+
+```console
+$ git checkout -b hotfix/9295
+Switched to a new branch 'hotfix/9295'
+```
+
+... do some work ...
+
+
+```console
+$ git commit
+```
+
+... write your log message ...
+
+
+```console
+$ git push {username} hotfix/9295:hotfix/9295
+Counting objects: 38, done.
+Delta compression using up to 2 threads.
+Compression objects: 100% (18/18), done.
+Writing objects: 100% (20/20), 8.19KiB, done.
+Total 20 (delta 12), reused 0 (delta 0)
+To ssh://git@github.com/{username}/zend-stdlib.git
+   b5583aa..4f51698  HEAD -> master
+```
+
+To send a pull request, you have two options.
+
+If using GitHub, you can do the pull request from there. Navigate to
+your repository, select the branch you just created, and then select the
+"Pull Request" button in the upper right. Select the user/organization
+"zendframework" as the recipient.
+
+If using your own repository - or even if using GitHub - you can use `git
+format-patch` to create a patchset for us to apply; in fact, this is
+**recommended** for security-related patches. If you use `format-patch`, please
+send the patches as attachments to:
+
+-  zf-devteam@zend.com for patches without security implications
+-  zf-security@zend.com for security patches
+
+#### What branch to issue the pull request against?
+
+Which branch should you issue a pull request against?
+
+- For fixes against the stable release, issue the pull request against the
+  "master" branch.
+- For new features, or fixes that introduce new elements to the public API (such
+  as new public methods or properties), issue the pull request against the
+  "develop" branch.
+
+### Branch Cleanup
+
+As you might imagine, if you are a frequent contributor, you'll start to
+get a ton of branches both locally and on your remote.
+
+Once you know that your changes have been accepted to the master
+repository, we suggest doing some cleanup of these branches.
+
+-  Local branch cleanup
+
+   ```console
+   $ git branch -d <branchname>
+   ```
+
+-  Remote branch removal
+
+   ```console
+   $ git push {username} :<branchname>
+   ```
diff --git a/vendor/zendframework/zend-stdlib/LICENSE.md b/vendor/zendframework/zend-stdlib/LICENSE.md
new file mode 100644
index 0000000..dbb1b49
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/LICENSE.md
@@ -0,0 +1,28 @@
+Copyright (c) 2005-2015, Zend Technologies USA, Inc.
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+- Redistributions of source code must retain the above copyright notice,
+  this list of conditions and the following disclaimer.
+
+- Redistributions in binary form must reproduce the above copyright notice,
+  this list of conditions and the following disclaimer in the documentation
+  and/or other materials provided with the distribution.
+
+- Neither the name of Zend Technologies USA, Inc. nor the names of its
+  contributors may be used to endorse or promote products derived from this
+  software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/zendframework/zend-stdlib/README.md b/vendor/zendframework/zend-stdlib/README.md
new file mode 100644
index 0000000..d87d00c
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/README.md
@@ -0,0 +1,19 @@
+# zend-stdlib
+
+[![Build Status](https://secure.travis-ci.org/zendframework/zend-stdlib.svg?branch=master)](https://secure.travis-ci.org/zendframework/zend-stdlib)
+[![Coverage Status](https://coveralls.io/repos/zendframework/zend-stdlib/badge.svg?branch=master)](https://coveralls.io/r/zendframework/zend-stdlib?branch=master)
+
+`Zend\Stdlib` is a set of components that implements general purpose utility
+class for different scopes like:
+
+- array utilities functions;
+- hydrators;
+- json serializable interfaces;
+- general messaging systems;
+- string wrappers;
+- etc.
+
+---
+
+- File issues at https://github.com/zendframework/zend-stdlib/issues
+- Documentation is at http://framework.zend.com/manual/current/en/index.html#zend-stdlib
diff --git a/vendor/zendframework/zend-stdlib/benchmark/ExtractPriorityQueue.php b/vendor/zendframework/zend-stdlib/benchmark/ExtractPriorityQueue.php
new file mode 100644
index 0000000..8fa7527
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/benchmark/ExtractPriorityQueue.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace ZendBench\Stdlib;
+
+use Athletic\AthleticEvent;
+use Zend\Stdlib\FastPriorityQueue;
+use Zend\Stdlib\PriorityQueue;
+use Zend\Stdlib\SplPriorityQueue;
+
+class ExtractPriorityQueue extends AthleticEvent
+{
+    public function classSetUp()
+    {
+        $this->splPriorityQueue  = new SplPriorityQueue();
+        $this->fastPriorityQueue = new FastPriorityQueue();
+        $this->priorityQueue     = new PriorityQueue();
+
+        for ($i = 0; $i < 5000; $i += 1) {
+            $priority = rand(1, 100);
+            $this->splPriorityQueue->insert('foo', $priority);
+            $this->fastPriorityQueue->insert('foo', $priority);
+            $this->priorityQueue->insert('foo', $priority);
+        }
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function extractSplPriorityQueue()
+    {
+        $this->splPriorityQueue->extract();
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function extractPriorityQueue()
+    {
+        $this->priorityQueue->extract();
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function extractFastPriorityQueue()
+    {
+        $this->fastPriorityQueue->extract();
+    }
+}
diff --git a/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php b/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php
new file mode 100644
index 0000000..561c535
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/benchmark/InsertPriorityQueue.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace ZendBench\Stdlib;
+
+use Athletic\AthleticEvent;
+use Zend\Stdlib\FastPriorityQueue;
+use Zend\Stdlib\PriorityQueue;
+use Zend\Stdlib\SplPriorityQueue;
+
+class InsertPriorityQueue extends AthleticEvent
+{
+    public function classSetUp()
+    {
+        $this->splPriorityQueue  = new SplPriorityQueue();
+        $this->fastPriorityQueue = new FastPriorityQueue();
+        $this->priorityQueue     = new PriorityQueue();
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function insertSplPriorityQueue()
+    {
+        $this->splPriorityQueue->insert('foo', rand(1, 100));
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function insertPriorityQueue()
+    {
+        $this->priorityQueue->insert('foo', rand(1, 100));
+    }
+
+    /**
+     * @iterations 5000
+     */
+    public function insertFastPriorityQueue()
+    {
+        $this->fastPriorityQueue->insert('foo', rand(1, 100));
+    }
+}
diff --git a/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php b/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php
new file mode 100644
index 0000000..1cfd35b
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/benchmark/RemovePriorityQueue.php
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace ZendBench\Stdlib;
+
+use Athletic\AthleticEvent;
+use Zend\Stdlib\FastPriorityQueue;
+use Zend\Stdlib\PriorityQueue;
+
+class RemovePriorityQueue extends AthleticEvent
+{
+    public function classSetUp()
+    {
+        $this->fastPriorityQueue = new FastPriorityQueue();
+        $this->priorityQueue     = new PriorityQueue();
+
+        for ($i = 0; $i < 1000; $i += 1) {
+            $priority = rand(1, 100);
+            $this->fastPriorityQueue->insert('foo', $priority);
+            $this->priorityQueue->insert('foo', $priority);
+        }
+    }
+
+    /**
+     * @iterations 1000
+     */
+    public function removePriorityQueue()
+    {
+        $this->priorityQueue->remove('foo');
+    }
+
+    /**
+     * @iterations 1000
+     */
+    public function removeFastPriorityQueue()
+    {
+        $this->fastPriorityQueue->remove('foo');
+    }
+}
diff --git a/vendor/zendframework/zend-stdlib/composer.json b/vendor/zendframework/zend-stdlib/composer.json
new file mode 100644
index 0000000..4a5ecd5
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/composer.json
@@ -0,0 +1,50 @@
+{
+    "name": "zendframework/zend-stdlib",
+    "description": " ",
+    "license": "BSD-3-Clause",
+    "keywords": [
+        "zf2",
+        "stdlib"
+    ],
+    "homepage": "https://github.com/zendframework/zend-stdlib",
+    "autoload": {
+        "psr-4": {
+            "Zend\\Stdlib\\": "src/"
+        }
+    },
+    "require": {
+        "php": ">=5.5",
+        "zendframework/zend-hydrator": "~1.0"
+    },
+    "require-dev": {
+        "zendframework/zend-config": "~2.5",
+        "zendframework/zend-eventmanager": "~2.5",
+        "zendframework/zend-inputfilter": "~2.5",
+        "zendframework/zend-serializer": "~2.5",
+        "zendframework/zend-servicemanager": "~2.5",
+        "zendframework/zend-filter": "~2.5",
+        "fabpot/php-cs-fixer": "1.7.*",
+        "phpunit/PHPUnit": "~4.0",
+        "athletic/athletic": "~0.1"
+    },
+    "suggest": {
+        "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+        "zendframework/zend-serializer": "Zend\\Serializer component",
+        "zendframework/zend-servicemanager": "To support hydrator plugin manager usage",
+        "zendframework/zend-filter": "To support naming strategy hydrator usage"
+    },
+    "minimum-stability": "dev",
+    "prefer-stable": true,
+    "extra": {
+        "branch-alias": {
+            "dev-master": "2.7-dev",
+            "dev-develop": "2.8-dev"
+        }
+    },
+    "autoload-dev": {
+        "psr-4": {
+            "ZendTest\\Stdlib\\": "test/",
+            "ZendBench\\Stdlib\\": "benchmark/"
+        }
+    }
+}
diff --git a/core/vendor/zendframework/zend-stdlib/src/AbstractOptions.php b/vendor/zendframework/zend-stdlib/src/AbstractOptions.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/AbstractOptions.php
rename to vendor/zendframework/zend-stdlib/src/AbstractOptions.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayObject.php b/vendor/zendframework/zend-stdlib/src/ArrayObject.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayObject.php
rename to vendor/zendframework/zend-stdlib/src/ArrayObject.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArraySerializableInterface.php b/vendor/zendframework/zend-stdlib/src/ArraySerializableInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArraySerializableInterface.php
rename to vendor/zendframework/zend-stdlib/src/ArraySerializableInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayStack.php b/vendor/zendframework/zend-stdlib/src/ArrayStack.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayStack.php
rename to vendor/zendframework/zend-stdlib/src/ArrayStack.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayUtils.php b/vendor/zendframework/zend-stdlib/src/ArrayUtils.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayUtils.php
rename to vendor/zendframework/zend-stdlib/src/ArrayUtils.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php b/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php
rename to vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeRemoveKey.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php b/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php
rename to vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKey.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php b/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php
rename to vendor/zendframework/zend-stdlib/src/ArrayUtils/MergeReplaceKeyInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/CallbackHandler.php b/vendor/zendframework/zend-stdlib/src/CallbackHandler.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/CallbackHandler.php
rename to vendor/zendframework/zend-stdlib/src/CallbackHandler.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/DateTime.php b/vendor/zendframework/zend-stdlib/src/DateTime.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/DateTime.php
rename to vendor/zendframework/zend-stdlib/src/DateTime.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/DispatchableInterface.php b/vendor/zendframework/zend-stdlib/src/DispatchableInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/DispatchableInterface.php
rename to vendor/zendframework/zend-stdlib/src/DispatchableInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ErrorHandler.php b/vendor/zendframework/zend-stdlib/src/ErrorHandler.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ErrorHandler.php
rename to vendor/zendframework/zend-stdlib/src/ErrorHandler.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php b/vendor/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/BadMethodCallException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/DomainException.php b/vendor/zendframework/zend-stdlib/src/Exception/DomainException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/DomainException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/DomainException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php b/vendor/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php
rename to vendor/zendframework/zend-stdlib/src/Exception/ExceptionInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php b/vendor/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/ExtensionNotLoadedException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/InvalidArgumentException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/InvalidCallbackException.php b/vendor/zendframework/zend-stdlib/src/Exception/InvalidCallbackException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/InvalidCallbackException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/InvalidCallbackException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/LogicException.php b/vendor/zendframework/zend-stdlib/src/Exception/LogicException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/LogicException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/LogicException.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Exception/RuntimeException.php b/vendor/zendframework/zend-stdlib/src/Exception/RuntimeException.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Exception/RuntimeException.php
rename to vendor/zendframework/zend-stdlib/src/Exception/RuntimeException.php
diff --git a/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php b/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
new file mode 100644
index 0000000..6c84720
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Extractor/ExtractionInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Extractor;
+
+use Zend\Hydrator\ExtractionInterface as BaseExtractionInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\ExtractionInterface from zendframework/zend-hydrator instead.
+ */
+interface ExtractionInterface extends BaseExtractionInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php b/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php
new file mode 100644
index 0000000..45f3e9a
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/FastPriorityQueue.php
@@ -0,0 +1,342 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib;
+
+use Iterator;
+use Countable;
+use Serializable;
+use SplPriorityQueue as PhpSplPriorityQueue;
+
+/**
+ * This is an efficient implementation of an integer priority queue in PHP
+ *
+ * This class acts like a queue with insert() and extract(), removing the
+ * elements from the queue and it also acts like an Iterator without removing
+ * the elements. This behaviour can be used in mixed scenarios with high
+ * performance boost.
+ */
+class FastPriorityQueue implements Iterator, Countable, Serializable
+{
+    const EXTR_DATA     = PhpSplPriorityQueue::EXTR_DATA;
+    const EXTR_PRIORITY = PhpSplPriorityQueue::EXTR_PRIORITY;
+    const EXTR_BOTH     = PhpSplPriorityQueue::EXTR_BOTH;
+
+    /**
+     * @var integer
+     */
+    protected $extractFlag = self::EXTR_DATA;
+
+    /**
+     * Elements of the queue, divided by priorities
+     *
+     * @var array
+     */
+    protected $values = [];
+
+    /**
+     * Array of priorities
+     *
+     * @var array
+     */
+    protected $priorities = [];
+
+    /**
+     * Array of priorities used for the iteration
+     *
+     * @var array
+     */
+    protected $subPriorities = [];
+
+    /**
+     * Max priority
+     *
+     * @var integer
+     */
+    protected $maxPriority = 0;
+
+    /**
+     * Total number of elements in the queue
+     *
+     * @var integer
+     */
+    protected $count = 0;
+
+    /**
+     * Index of the current element in the queue
+     *
+     * @var integer
+     */
+    protected $index = 0;
+
+    /**
+     * Sub index of the current element in the same priority level
+     *
+     * @var integer
+     */
+    protected $subIndex = 0;
+
+    /**
+     * Insert an element in the queue with a specified priority
+     *
+     * @param mixed $value
+     * @param integer $priority a positive integer
+     */
+    public function insert($value, $priority)
+    {
+        if (! is_int($priority)) {
+            throw new Exception\InvalidArgumentException('The priority must be an integer');
+        }
+        $this->values[$priority][] = $value;
+        if (! isset($this->priorities[$priority])) {
+            $this->priorities[$priority] = $priority;
+            $this->maxPriority           = max($priority, $this->maxPriority);
+        }
+        ++$this->count;
+    }
+
+    /**
+     * Extract an element in the queue according to the priority and the
+     * order of insertion
+     *
+     * @return mixed
+     */
+    public function extract()
+    {
+        if (! $this->valid()) {
+            return false;
+        }
+        $value = $this->current();
+        $this->nextAndRemove();
+        return $value;
+    }
+
+    /**
+     * Remove an item from the queue
+     *
+     * This is different than {@link extract()}; its purpose is to dequeue an
+     * item.
+     *
+     * Note: this removes the first item matching the provided item found. If
+     * the same item has been added multiple times, it will not remove other
+     * instances.
+     *
+     * @param  mixed $datum
+     * @return bool False if the item was not found, true otherwise.
+     */
+    public function remove($datum)
+    {
+        $this->rewind();
+        while ($this->valid()) {
+            if (current($this->values[$this->maxPriority]) === $datum) {
+                unset($this->values[$this->maxPriority][$this->subIndex]);
+                --$this->count;
+                return true;
+            }
+            $this->next();
+        }
+        return false;
+    }
+
+    /**
+     * Get the total number of elements in the queue
+     *
+     * @return integer
+     */
+    public function count()
+    {
+        return $this->count;
+    }
+
+    /**
+     * Get the current element in the queue
+     *
+     * @return mixed
+     */
+    public function current()
+    {
+        switch ($this->extractFlag) {
+            case self::EXTR_DATA:
+                return current($this->values[$this->maxPriority]);
+            case self::EXTR_PRIORITY:
+                return $this->maxPriority;
+            case self::EXTR_BOTH:
+                return [
+                    'data'     => current($this->values[$this->maxPriority]),
+                    'priority' => $this->maxPriority
+                ];
+        }
+    }
+
+    /**
+     * Get the index of the current element in the queue
+     *
+     * @return integer
+     */
+    public function key()
+    {
+        return $this->index;
+    }
+
+    /**
+     * Set the iterator pointer to the next element in the queue
+     * removing the previous element
+     */
+    protected function nextAndRemove()
+    {
+        if (false === next($this->values[$this->maxPriority])) {
+            unset($this->priorities[$this->maxPriority]);
+            unset($this->values[$this->maxPriority]);
+            $this->maxPriority = empty($this->priorities) ? 0 : max($this->priorities);
+            $this->subIndex    = -1;
+        }
+        ++$this->index;
+        ++$this->subIndex;
+        --$this->count;
+    }
+
+    /**
+     * Set the iterator pointer to the next element in the queue
+     * without removing the previous element
+     */
+    public function next()
+    {
+        if (false === next($this->values[$this->maxPriority])) {
+            unset($this->subPriorities[$this->maxPriority]);
+            reset($this->values[$this->maxPriority]);
+            $this->maxPriority = empty($this->subPriorities) ? 0 : max($this->subPriorities);
+            $this->subIndex    = -1;
+        }
+        ++$this->index;
+        ++$this->subIndex;
+    }
+
+    /**
+     * Check if the current iterator is valid
+     *
+     * @return boolean
+     */
+    public function valid()
+    {
+        return isset($this->values[$this->maxPriority]);
+    }
+
+    /**
+     * Rewind the current iterator
+     */
+    public function rewind()
+    {
+        $this->subPriorities = $this->priorities;
+        $this->maxPriority   = empty($this->priorities) ? 0 : max($this->priorities);
+        $this->index         = 0;
+        $this->subIndex      = 0;
+    }
+
+    /**
+     * Serialize to an array
+     *
+     * Array will be priority => data pairs
+     *
+     * @return array
+     */
+    public function toArray()
+    {
+        $array = [];
+        foreach (clone $this as $item) {
+            $array[] = $item;
+        }
+        return $array;
+    }
+
+    /**
+     * Serialize
+     *
+     * @return string
+     */
+    public function serialize()
+    {
+        $clone = clone $this;
+        $clone->setExtractFlags(self::EXTR_BOTH);
+
+        $data = [];
+        foreach ($clone as $item) {
+            $data[] = $item;
+        }
+
+        return serialize($data);
+    }
+
+    /**
+     * Deserialize
+     *
+     * @param  string $data
+     * @return void
+     */
+    public function unserialize($data)
+    {
+        foreach (unserialize($data) as $item) {
+            $this->insert($item['data'], $item['priority']);
+        }
+    }
+
+    /**
+     * Set the extract flag
+     *
+     * @param integer $flag
+     */
+    public function setExtractFlags($flag)
+    {
+        switch ($flag) {
+            case self::EXTR_DATA:
+            case self::EXTR_PRIORITY:
+            case self::EXTR_BOTH:
+                $this->extractFlag = $flag;
+                break;
+            default:
+                throw new Exception\InvalidArgumentException("The extract flag specified is not valid");
+        }
+    }
+
+    /**
+     * Check if the queue is empty
+     *
+     * @return boolean
+     */
+    public function isEmpty()
+    {
+        return empty($this->values);
+    }
+
+    /**
+     * Does the queue contain the given datum?
+     *
+     * @param  mixed $datum
+     * @return bool
+     */
+    public function contains($datum)
+    {
+        foreach ($this->values as $values) {
+            if (in_array($datum, $values)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Does the queue have an item with the given priority?
+     *
+     * @param  int $priority
+     * @return bool
+     */
+    public function hasPriority($priority)
+    {
+        return isset($this->values[$priority]);
+    }
+}
diff --git a/core/vendor/zendframework/zend-stdlib/src/Glob.php b/vendor/zendframework/zend-stdlib/src/Glob.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Glob.php
rename to vendor/zendframework/zend-stdlib/src/Glob.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php b/vendor/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php
rename to vendor/zendframework/zend-stdlib/src/Guard/AllGuardsTrait.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php b/vendor/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php
rename to vendor/zendframework/zend-stdlib/src/Guard/ArrayOrTraversableGuardTrait.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php b/vendor/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php
rename to vendor/zendframework/zend-stdlib/src/Guard/EmptyGuardTrait.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Guard/GuardUtils.php b/vendor/zendframework/zend-stdlib/src/Guard/GuardUtils.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Guard/GuardUtils.php
rename to vendor/zendframework/zend-stdlib/src/Guard/GuardUtils.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php b/vendor/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php
rename to vendor/zendframework/zend-stdlib/src/Guard/NullGuardTrait.php
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
new file mode 100644
index 0000000..a4cf08a
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/AbstractHydrator.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\AbstractHydrator as BaseAbstractHydrator;
+
+/**
+ * @deprecated Use Zend\Hydrator\AbstractHydrator from zendframework/zend-hydrator instead.
+ */
+abstract class AbstractHydrator extends BaseAbstractHydrator implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
new file mode 100644
index 0000000..62c6b32
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/AggregateHydrator.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Aggregate;
+
+use Zend\Hydrator\Aggregate\AggregateHydrator as BaseAggregateHydrator;
+use Zend\Stdlib\Hydrator\HydratorInterface;
+
+/**
+ * Aggregate hydrator that composes multiple hydrators via events
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\AggregateHydrator from zendframework/zend-hydrator instead.
+ */
+class AggregateHydrator extends BaseAggregateHydrator implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
new file mode 100644
index 0000000..9563efb
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/ExtractEvent.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Aggregate;
+
+use Zend\Hydrator\Aggregate\ExtractEvent as BaseExtractEvent;
+
+/**
+ * Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} extracts
+ * data from an object
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\ExtractEvent from zendframework/zend-hydrator instead.
+ */
+class ExtractEvent extends BaseExtractEvent
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
new file mode 100644
index 0000000..29c9fd6
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydrateEvent.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Aggregate;
+
+use Zend\Hydrator\Aggregate\HydrateEvent as BaseHydrateEvent;
+
+/**
+ * Event triggered when the {@see \Zend\Stdlib\Hydrator\Aggregate\AggregateHydrator} hydrates
+ * data into an object
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\HydrateEvent from zendframework/zend-hydrator instead.
+ */
+class HydrateEvent extends BaseHydrateEvent
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
new file mode 100644
index 0000000..e15cae4
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Aggregate/HydratorListener.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Aggregate;
+
+use Zend\Hydrator\Aggregate\HydratorListener as BaseHydratorListener;
+
+/**
+ * Aggregate listener wrapping around a hydrator. Listens
+ * to {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_HYDRATE} and
+ * {@see \Zend\Stdlib\Hydrator\Aggregate::EVENT_EXTRACT}
+ *
+ * @deprecated Use Zend\Hydrator\Aggregate\HydratorListener from zendframework/zend-hydrator instead.
+ */
+class HydratorListener extends BaseHydratorListener
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
new file mode 100644
index 0000000..415a44d
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ArraySerializable.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\ArraySerializable as BaseArraySerializable;
+
+/**
+ * @deprecated Use Zend\Hydrator\ArraySerializable from zendframework/zend-hydrator instead.
+ */
+class ArraySerializable extends BaseArraySerializable implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
new file mode 100644
index 0000000..ee6bdad
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ClassMethods.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\ClassMethods as BaseClassMethods;
+
+/**
+ * @deprecated Use Zend\Hydrator\ClassMethods from zendframework/zend-hydrator instead.
+ */
+class ClassMethods extends BaseClassMethods implements HydratorInterface, HydratorOptionsInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
new file mode 100644
index 0000000..eb65d95
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydrator.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\DelegatingHydrator as BaseDelegatingHydrator;
+
+/**
+ * @deprecated Use Zend\Hydrator\DelegatingHydrator from zendframework/zend-hydrator instead.
+ */
+class DelegatingHydrator extends BaseDelegatingHydrator implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
new file mode 100644
index 0000000..170308d
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/DelegatingHydratorFactory.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\DelegatingHydratorFactory as BaseDelegatingHydratorFactory;
+
+/**
+ * @deprecated Use Zend\Hydrator\DelegatingHydratorFactory from zendframework/zend-hydrator instead.
+ */
+class DelegatingHydratorFactory extends BaseDelegatingHydratorFactory
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
new file mode 100644
index 0000000..b230c97
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterComposite.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\FilterComposite as BaseFilterComposite;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterComposite from zendframework/zend-hydrator instead.
+ */
+class FilterComposite extends BaseFilterComposite implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
new file mode 100644
index 0000000..95c4e24
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterInterface.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\FilterInterface as BaseFilterInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterInterface extends BaseFilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
new file mode 100644
index 0000000..142ddf1
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/FilterProviderInterface.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\FilterProviderInterface as BaseFilterProviderInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\FilterProviderInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterProviderInterface extends BaseFilterProviderInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
new file mode 100644
index 0000000..ca7dd3c
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/GetFilter.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\GetFilter as BaseGetFilter;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\GetFilter from zendframework/zend-hydrator instead.
+ */
+class GetFilter extends BaseGetFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
new file mode 100644
index 0000000..af00600
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/HasFilter.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\HasFilter as BaseHasFilter;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\HasFilter from zendframework/zend-hydrator instead.
+ */
+class HasFilter extends BaseHasFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
new file mode 100644
index 0000000..9e51643
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/IsFilter.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\IsFilter as BaseIsFilter;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\IsFilter from zendframework/zend-hydrator instead.
+ */
+class IsFilter extends BaseIsFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
new file mode 100644
index 0000000..471849c
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/MethodMatchFilter.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\MethodMatchFilter as BaseMethodMatchFilter;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\MethodMatchFilter from zendframework/zend-hydrator instead.
+ */
+class MethodMatchFilter extends BaseMethodMatchFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
new file mode 100644
index 0000000..95309b1
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\NumberOfParameterFilter as BaseNumberOfParameterFilter;
+
+/**
+ * @deprecated Use Zend\Hydrator\Filter\NumberOfParameterFilter from zendframework/zend-hydrator instead.
+ */
+class NumberOfParameterFilter extends BaseNumberOfParameterFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
new file mode 100644
index 0000000..07c8dfd
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link           http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright      Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license        http://framework.zend.com/license/new-bsd New BSD License
+ */
+namespace Zend\Stdlib\Hydrator\Filter;
+
+use Zend\Hydrator\Filter\OptionalParametersFilter as BaseOptionalParametersFilter;
+
+/**
+ * Filter that includes methods which have no parameters or only optional parameters
+ *
+ * @deprecated Use Zend\Hydrator\Filter\OptionalParametersFilter from zendframework/zend-hydrator instead.
+ */
+class OptionalParametersFilter extends BaseOptionalParametersFilter implements FilterInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
new file mode 100644
index 0000000..9643f14
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/FilterEnabledInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\FilterEnabledInterface as BaseFilterEnabledInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\FilterEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface FilterEnabledInterface extends BaseFilterEnabledInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
new file mode 100644
index 0000000..8395169
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydrationInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\HydrationInterface as BaseHydrationInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydrationInterface from zendframework/zend-hydrator instead.
+ */
+interface HydrationInterface extends BaseHydrationInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
new file mode 100644
index 0000000..625a609
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\HydratorAwareInterface as BaseHydratorAwareInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorAwareInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorAwareInterface extends BaseHydratorAwareInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
new file mode 100644
index 0000000..e7d6082
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorAwareTrait.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\HydratorAwareTrait as BaseHydratorAwareTrait;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorAwareTrait from zendframework/zend-hydrator instead.
+ */
+trait HydratorAwareTrait
+{
+    use BaseHydratorAwareTrait;
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
new file mode 100644
index 0000000..14f143a
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorInterface.php
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Stdlib\Extractor\ExtractionInterface;
+use Zend\Hydrator\HydratorInterface as BaseHydratorInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorInterface extends BaseHydratorInterface, HydrationInterface, ExtractionInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
new file mode 100644
index 0000000..dfda925
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorOptionsInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\HydratorOptionsInterface as BaseHydratorOptionsInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\HydratorOptionsInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratorOptionsInterface extends BaseHydratorOptionsInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
new file mode 100644
index 0000000..6b7049b
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/HydratorPluginManager.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\HydratorPluginManager as BaseHydratorPluginManager;
+
+/**
+ * Plugin manager implementation for hydrators.
+ *
+ * Enforces that adapters retrieved are instances of HydratorInterface
+ *
+ * @deprecated Use Zend\Hydrator\HydratorPluginManager from zendframework/zend-hydrator instead.
+ */
+class HydratorPluginManager extends BaseHydratorPluginManager
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
new file mode 100644
index 0000000..f51befe
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingArrayIterator.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Iterator;
+
+use Zend\Hydrator\Iterator\HydratingArrayIterator as BaseHydratingArrayIterator;
+
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingArrayIterator from zendframework/zend-hydrator instead.
+ */
+class HydratingArrayIterator extends BaseHydratingArrayIterator implements HydratingIteratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
new file mode 100644
index 0000000..81a9999
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Iterator;
+
+use Zend\Hydrator\Iterator\HydratingIteratorInterface as BaseHydratingIteratorInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingIteratorInterface from zendframework/zend-hydrator instead.
+ */
+interface HydratingIteratorInterface extends BaseHydratingIteratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
new file mode 100644
index 0000000..1d2ac7a
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Iterator/HydratingIteratorIterator.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Iterator;
+
+use Zend\Hydrator\Iterator\HydratingIteratorIterator as BaseHydratingIteratorIterator;
+
+/**
+ * @deprecated Use Zend\Hydrator\Iterator\HydratingIteratorIterator from zendframework/zend-hydrator instead.
+ */
+class HydratingIteratorIterator extends BaseHydratingIteratorIterator implements HydratingIteratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
new file mode 100644
index 0000000..d440c53
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/ArrayMapNamingStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\ArrayMapNamingStrategy as BaseArrayMapNamingStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\ArrayMapNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class ArrayMapNamingStrategy extends BaseArrayMapNamingStrategy implements NamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
new file mode 100644
index 0000000..d529a8b
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/CompositeNamingStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\CompositeNamingStrategy as BaseCompositeNamingStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\CompositeNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class CompositeNamingStrategy extends BaseCompositeNamingStrategy implements NamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
new file mode 100644
index 0000000..be57839
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/IdentityNamingStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\IdentityNamingStrategy as BaseIdentityNamingStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\IdentityNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class IdentityNamingStrategy extends BaseIdentityNamingStrategy implements NamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
new file mode 100644
index 0000000..59e3f7f
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/MapNamingStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\MapNamingStrategy as BaseMapNamingStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\MapNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class MapNamingStrategy extends BaseMapNamingStrategy implements NamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
new file mode 100644
index 0000000..4d82ee1
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/NamingStrategyInterface.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\NamingStrategyInterface as BaseNamingStrategyInterface;
+
+/**
+ * Allow property extraction / hydration for hydrator
+ *
+ * @deprecated Use Zend\Hydrator\NamingStrategy\NamingStrategyInterface from zendframework/zend-hydrator instead.
+ */
+interface NamingStrategyInterface extends BaseNamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
new file mode 100644
index 0000000..2b9d6ef
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategy/UnderscoreNamingStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\NamingStrategy;
+
+use Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy as BaseUnderscoreNamingStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\UnderscoreNamingStrategy from zendframework/zend-hydrator instead.
+ */
+class UnderscoreNamingStrategy extends BaseUnderscoreNamingStrategy implements NamingStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
new file mode 100644
index 0000000..8f8acab
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/NamingStrategyEnabledInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\NamingStrategyEnabledInterface as BaseNamingStrategyEnabledInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\NamingStrategy\NamingStrategyEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface NamingStrategyEnabledInterface extends BaseNamingStrategyEnabledInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php b/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
new file mode 100644
index 0000000..c846fe5
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/ObjectProperty.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\ObjectProperty as BaseObjectProperty;
+
+/**
+ * @deprecated Use Zend\Hydrator\ObjectProperty from zendframework/zend-hydrator instead.
+ */
+class ObjectProperty extends BaseObjectProperty implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
new file mode 100644
index 0000000..22d8cdf
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Reflection.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\Reflection as BaseReflection;
+
+/**
+ * @deprecated Use Zend\Hydrator\Reflection from zendframework/zend-hydrator instead.
+ */
+class Reflection extends BaseReflection implements HydratorInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
new file mode 100644
index 0000000..d89f507
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/BooleanStrategy.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\BooleanStrategy as BaseBooleanStrategy;
+
+/**
+ * This Strategy extracts and hydrates int and string values to Boolean values
+ *
+ * @deprecated Use Zend\Hydrator\Strategy\BooleanStrategy from zendframework/zend-hydrator instead.
+ */
+class BooleanStrategy extends BaseBooleanStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
new file mode 100644
index 0000000..3257222
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ClosureStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\ClosureStrategy as BaseClosureStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\ClosureStrategy from zendframework/zend-hydrator instead.
+ */
+class ClosureStrategy extends BaseClosureStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
new file mode 100644
index 0000000..8e633f3
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DateTimeFormatterStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\DateTimeFormatterStrategy as BaseDateTimeFormatterStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\DateTimeFormatterStrategy from zendframework/zend-hydrator instead.
+ */
+class DateTimeFormatterStrategy extends BaseDateTimeFormatterStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
new file mode 100644
index 0000000..155c82f
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/DefaultStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\DefaultStrategy as BaseDefaultStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\DefaultStrategy from zendframework/zend-hydrator instead.
+ */
+class DefaultStrategy extends BaseDefaultStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
new file mode 100644
index 0000000..16a921b
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/ExceptionInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy\Exception;
+
+use Zend\Hydrator\Strategy\Exception;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\Exception\ExceptionInterface from zendframework/zend-hydrator instead.
+ */
+interface ExceptionInterface extends Exception\ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
new file mode 100644
index 0000000..10f69a2
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/Exception/InvalidArgumentException.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy\Exception;
+
+use Zend\Hydrator\Strategy\Exception\InvalidArgumentException as BaseInvalidArgumentException;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\Exception\InvalidArgumentException from zendframework/zend-hydrator instead.
+ */
+class InvalidArgumentException extends BaseInvalidArgumentException implements ExceptionInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
new file mode 100644
index 0000000..ca7e585
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/ExplodeStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\ExplodeStrategy as BaseExplodeStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\ExplodeStrategy from zendframework/zend-hydrator instead.
+ */
+class ExplodeStrategy extends BaseExplodeStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
new file mode 100644
index 0000000..0452792
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/SerializableStrategy.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\SerializableStrategy as BaseSerializableStrategy;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\SerializableStrategy from zendframework/zend-hydrator instead.
+ */
+class SerializableStrategy extends BaseSerializableStrategy implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
new file mode 100644
index 0000000..33d2bc1
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyChain.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\StrategyChain as BaseStrategyChain;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyChain from zendframework/zend-hydrator instead.
+ */
+class StrategyChain extends BaseStrategyChain implements StrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
new file mode 100644
index 0000000..a1eb8e9
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/Strategy/StrategyInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator\Strategy;
+
+use Zend\Hydrator\Strategy\StrategyInterface as BaseStrategyInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyInterface from zendframework/zend-hydrator instead.
+ */
+interface StrategyInterface extends BaseStrategyInterface
+{
+}
diff --git a/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php b/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
new file mode 100644
index 0000000..9c058a71
--- /dev/null
+++ b/vendor/zendframework/zend-stdlib/src/Hydrator/StrategyEnabledInterface.php
@@ -0,0 +1,19 @@
+<?php
+/**
+ * Zend Framework (http://framework.zend.com/)
+ *
+ * @link      http://github.com/zendframework/zf2 for the canonical source repository
+ * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
+ * @license   http://framework.zend.com/license/new-bsd New BSD License
+ */
+
+namespace Zend\Stdlib\Hydrator;
+
+use Zend\Hydrator\StrategyEnabledInterface as BaseStrategyEnabledInterface;
+
+/**
+ * @deprecated Use Zend\Hydrator\Strategy\StrategyEnabledInterface from zendframework/zend-hydrator instead.
+ */
+interface StrategyEnabledInterface extends BaseStrategyEnabledInterface
+{
+}
diff --git a/core/vendor/zendframework/zend-stdlib/src/InitializableInterface.php b/vendor/zendframework/zend-stdlib/src/InitializableInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/InitializableInterface.php
rename to vendor/zendframework/zend-stdlib/src/InitializableInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/JsonSerializable.php b/vendor/zendframework/zend-stdlib/src/JsonSerializable.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/JsonSerializable.php
rename to vendor/zendframework/zend-stdlib/src/JsonSerializable.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Message.php b/vendor/zendframework/zend-stdlib/src/Message.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Message.php
rename to vendor/zendframework/zend-stdlib/src/Message.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/MessageInterface.php b/vendor/zendframework/zend-stdlib/src/MessageInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/MessageInterface.php
rename to vendor/zendframework/zend-stdlib/src/MessageInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ParameterObjectInterface.php b/vendor/zendframework/zend-stdlib/src/ParameterObjectInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ParameterObjectInterface.php
rename to vendor/zendframework/zend-stdlib/src/ParameterObjectInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Parameters.php b/vendor/zendframework/zend-stdlib/src/Parameters.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Parameters.php
rename to vendor/zendframework/zend-stdlib/src/Parameters.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ParametersInterface.php b/vendor/zendframework/zend-stdlib/src/ParametersInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ParametersInterface.php
rename to vendor/zendframework/zend-stdlib/src/ParametersInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/PriorityList.php b/vendor/zendframework/zend-stdlib/src/PriorityList.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/PriorityList.php
rename to vendor/zendframework/zend-stdlib/src/PriorityList.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/PriorityQueue.php b/vendor/zendframework/zend-stdlib/src/PriorityQueue.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/PriorityQueue.php
rename to vendor/zendframework/zend-stdlib/src/PriorityQueue.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Request.php b/vendor/zendframework/zend-stdlib/src/Request.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Request.php
rename to vendor/zendframework/zend-stdlib/src/Request.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/RequestInterface.php b/vendor/zendframework/zend-stdlib/src/RequestInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/RequestInterface.php
rename to vendor/zendframework/zend-stdlib/src/RequestInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/Response.php b/vendor/zendframework/zend-stdlib/src/Response.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/Response.php
rename to vendor/zendframework/zend-stdlib/src/Response.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/ResponseInterface.php b/vendor/zendframework/zend-stdlib/src/ResponseInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/ResponseInterface.php
rename to vendor/zendframework/zend-stdlib/src/ResponseInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php b/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php
rename to vendor/zendframework/zend-stdlib/src/SplPriorityQueue.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/SplQueue.php b/vendor/zendframework/zend-stdlib/src/SplQueue.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/SplQueue.php
rename to vendor/zendframework/zend-stdlib/src/SplQueue.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/SplStack.php b/vendor/zendframework/zend-stdlib/src/SplStack.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/SplStack.php
rename to vendor/zendframework/zend-stdlib/src/SplStack.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringUtils.php b/vendor/zendframework/zend-stdlib/src/StringUtils.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringUtils.php
rename to vendor/zendframework/zend-stdlib/src/StringUtils.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/AbstractStringWrapper.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/Iconv.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/Iconv.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/Iconv.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/Iconv.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/Intl.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/Intl.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/Intl.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/Intl.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/MbString.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/MbString.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/MbString.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/MbString.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/Native.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/Native.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/Native.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/Native.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php b/vendor/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php
rename to vendor/zendframework/zend-stdlib/src/StringWrapper/StringWrapperInterface.php
diff --git a/core/vendor/zendframework/zend-stdlib/src/compatibility/autoload.php b/vendor/zendframework/zend-stdlib/src/compatibility/autoload.php
similarity index 100%
rename from core/vendor/zendframework/zend-stdlib/src/compatibility/autoload.php
rename to vendor/zendframework/zend-stdlib/src/compatibility/autoload.php
