From 90a48a9fe678a0f801a1bb3d27fe1834d05e248f Mon Sep 17 00:00:00 2001
From: webchick <webchick@24967.no-reply.drupal.org>
Date: Thu, 30 Aug 2012 15:36:24 -0700
Subject: [PATCH] Issue #1764342 by Rob Loach: Update Symfony and Doctrine to
 RC2.

---
 core/composer.lock                            |  16 +-
 core/vendor/.gitignore                        |   1 +
 core/vendor/autoload.php                      |  22 +-
 core/vendor/composer/ClassLoader.php          |   2 +
 core/vendor/composer/autoload_namespaces.php  |   2 +-
 core/vendor/composer/autoload_real.php        |  29 ++
 core/vendor/composer/installed.json           | 262 +++++++++---------
 core/vendor/doctrine/common/composer.json     |   2 +-
 .../Common/Annotations/AnnotationReader.php   |   3 +-
 .../Common/Collections/ArrayCollection.php    |  10 -
 .../Doctrine/Common/Collections/Criteria.php  |  69 +++++
 .../Common/Collections/Selectable.php         |   7 -
 .../common/lib/Doctrine/Common/Version.php    |   2 +-
 .../Common/Collections/CollectionTest.php     |   2 +-
 .../Tests/Common/Collections/CriteriaTest.php |  48 +++-
 .../ClassLoader/Tests/ClassLoaderTest.php     |  51 ++++
 .../Tests/ClassMapGeneratorTest.php           |  44 +++
 .../Tests/UniversalClassLoaderTest.php        |  26 ++
 .../Component/ClassLoader/composer.json       |   1 +
 .../DependencyInjection/Dumper/PhpDumper.php  |   8 +-
 .../Loader/XmlFileLoader.php                  |  32 ++-
 .../Tests/Dumper/PhpDumperTest.php            |  14 +
 .../Tests/Fixtures/xml/withdoctype.xml        |   3 +
 .../Tests/Loader/XmlFileLoaderTest.php        |  12 +
 .../DependencyInjection/composer.json         |   1 +
 .../EventDispatcher/GenericEvent.php          |  12 +-
 .../Tests/GenericEventTest.php                |   9 +
 .../Component/EventDispatcher/composer.json   |   1 +
 .../Component/HttpFoundation/HeaderBag.php    |   2 +-
 .../Component/HttpFoundation/JsonResponse.php |   8 +-
 .../Storage/Handler/MongoDbSessionHandler.php |   2 +-
 .../Session/Storage/NativeSessionStorage.php  |   2 +-
 .../HttpFoundation/Tests/HeaderBagTest.php    |   8 +
 .../Handler/NativeFileSessionHandlerTest.php  |   5 +-
 .../Component/HttpFoundation/composer.json    |   1 +
 .../Symfony/Component/HttpKernel/Kernel.php   |   4 +-
 .../Controller/ControllerResolverTest.php     |  14 +-
 .../Component/HttpKernel/Tests/KernelTest.php |  10 +-
 .../Component/HttpKernel/composer.json        |   1 +
 .../Component/Routing/CompiledRoute.php       |  55 +---
 .../Generator/Dumper/PhpGeneratorDumper.php   |   4 +-
 .../Routing/Loader/XmlFileLoader.php          |  31 ++-
 .../Matcher/Dumper/PhpMatcherDumper.php       |   8 +-
 .../Component/Routing/RouteCompiler.php       |   1 -
 .../Routing/Tests/CompiledRouteTest.php       |  27 +-
 .../Routing/Tests/Fixtures/withdoctype.xml    |   3 +
 .../Tests/Loader/XmlFileLoaderTest.php        |  10 +
 .../Symfony/Component/Routing/composer.json   |   1 +
 .../yaml/Symfony/Component/Yaml/Dumper.php    |  19 +-
 .../yaml/Symfony/Component/Yaml/Yaml.php      |   4 +-
 .../yaml/Symfony/Component/Yaml/composer.json |   1 +
 51 files changed, 604 insertions(+), 308 deletions(-)
 create mode 100644 core/vendor/composer/autoload_real.php
 create mode 100644 core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
 create mode 100644 core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml

diff --git a/core/composer.lock b/core/composer.lock
index 5469ca84e37e..1fc2aee00300 100644
--- a/core/composer.lock
+++ b/core/composer.lock
@@ -3,35 +3,35 @@
     "packages": [
         {
             "package": "doctrine/common",
-            "version": "2.3.0-RC1"
+            "version": "2.3.0-RC2"
         },
         {
             "package": "symfony/class-loader",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/dependency-injection",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/event-dispatcher",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/http-foundation",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/http-kernel",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/routing",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "symfony/yaml",
-            "version": "v2.1.0-RC1"
+            "version": "v2.1.0-RC2"
         },
         {
             "package": "twig/twig",
diff --git a/core/vendor/.gitignore b/core/vendor/.gitignore
index eacfa776e87e..1475637e6308 100644
--- a/core/vendor/.gitignore
+++ b/core/vendor/.gitignore
@@ -1,3 +1,4 @@
 # SimpleTest breaks with the following files, so avoid adding them.
 symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services1-1.php
 symfony/class-loader/Symfony/Component/ClassLoader/Tests/Fixtures/php5.4/traits.php
+symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/php/services11.php
diff --git a/core/vendor/autoload.php b/core/vendor/autoload.php
index 85087dda3e7f..004ba3a81d18 100644
--- a/core/vendor/autoload.php
+++ b/core/vendor/autoload.php
@@ -1,25 +1,7 @@
 <?php
 
 // autoload.php generated by Composer
-if (!class_exists('Composer\\Autoload\\ClassLoader', false)) {
-    require __DIR__ . '/composer' . '/ClassLoader.php';
-}
 
-return call_user_func(function() {
-    $loader = new \Composer\Autoload\ClassLoader();
-    $composerDir = __DIR__ . '/composer';
+require_once __DIR__ . '/composer' . '/autoload_real.php';
 
-    $map = require $composerDir . '/autoload_namespaces.php';
-    foreach ($map as $namespace => $path) {
-        $loader->add($namespace, $path);
-    }
-
-    $classMap = require $composerDir . '/autoload_classmap.php';
-    if ($classMap) {
-        $loader->addClassMap($classMap);
-    }
-
-    $loader->register();
-
-    return $loader;
-});
+return ComposerAutoloaderInit::getLoader();
diff --git a/core/vendor/composer/ClassLoader.php b/core/vendor/composer/ClassLoader.php
index d1c2cd57f285..00623e36d798 100644
--- a/core/vendor/composer/ClassLoader.php
+++ b/core/vendor/composer/ClassLoader.php
@@ -201,5 +201,7 @@ public function findFile($class)
         if ($this->useIncludePath && $file = stream_resolve_include_path($classPath)) {
             return $file;
         }
+
+        $this->classMap[$class] = false;
     }
 }
diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php
index f3cf2d6ae3d9..156e974ec90e 100644
--- a/core/vendor/composer/autoload_namespaces.php
+++ b/core/vendor/composer/autoload_namespaces.php
@@ -1,6 +1,6 @@
 <?php
 
-// autoload_namespace.php generated by Composer
+// autoload_namespaces.php generated by Composer
 
 $vendorDir = dirname(__DIR__);
 $baseDir = dirname($vendorDir);
diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php
new file mode 100644
index 000000000000..7d64f4989344
--- /dev/null
+++ b/core/vendor/composer/autoload_real.php
@@ -0,0 +1,29 @@
+<?php
+
+// autoload_real.php generated by Composer
+
+require __DIR__ . '/ClassLoader.php';
+
+class ComposerAutoloaderInit
+{
+    public static function getLoader()
+    {
+        $loader = new \Composer\Autoload\ClassLoader();
+        $vendorDir = dirname(__DIR__);
+        $baseDir = dirname($vendorDir);
+
+        $map = require __DIR__ . '/autoload_namespaces.php';
+        foreach ($map as $namespace => $path) {
+            $loader->add($namespace, $path);
+        }
+
+        $classMap = require __DIR__ . '/autoload_classmap.php';
+        if ($classMap) {
+            $loader->addClassMap($classMap);
+        }
+
+        $loader->register();
+
+        return $loader;
+    }
+}
diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json
index 51054e45c323..171b1216f69d 100644
--- a/core/vendor/composer/installed.json
+++ b/core/vendor/composer/installed.json
@@ -3,7 +3,7 @@
         "name": "twig/twig",
         "version": "v1.8.3",
         "version_normalized": "1.8.3.0",
-        "time": "2012-06-18 15:48:16",
+        "time": "2012-06-18 19:48:16",
         "source": {
             "type": "git",
             "url": "git://github.com/fabpot/Twig.git",
@@ -55,19 +55,19 @@
     },
     {
         "name": "symfony/class-loader",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/ClassLoader",
-        "time": "2012-07-15 17:13:51",
+        "time": "2012-08-27 15:51:49",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/ClassLoader",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/ClassLoader/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/ClassLoader/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -110,19 +110,19 @@
     },
     {
         "name": "symfony/dependency-injection",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/DependencyInjection",
-        "time": "2012-08-03 19:44:30",
+        "time": "2012-08-28 07:54:42",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/DependencyInjection",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/DependencyInjection/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/DependencyInjection/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -133,8 +133,8 @@
             "symfony/config": "2.1.*"
         },
         "suggest": {
-            "symfony/yaml": "v2.1.0-RC1",
-            "symfony/config": "v2.1.0-RC1"
+            "symfony/yaml": "v2.1.0-RC2",
+            "symfony/config": "v2.1.0-RC2"
         },
         "type": "library",
         "extra": {
@@ -168,21 +168,97 @@
             }
         }
     },
+    {
+        "name": "doctrine/common",
+        "version": "2.3.0-RC2",
+        "version_normalized": "2.3.0.0-RC2",
+        "time": "2012-08-29 14:06:32",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/doctrine/common",
+            "reference": "2.3.0-RC2"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://github.com/doctrine/common/zipball/2.3.0-RC2",
+            "reference": "2.3.0-RC2",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.2"
+        },
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.3.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Jonathan Wage",
+                "email": "jonwage@gmail.com",
+                "homepage": "http://www.jwage.com/",
+                "role": null
+            },
+            {
+                "name": "Guilherme Blanco",
+                "email": "guilhermeblanco@gmail.com",
+                "homepage": null,
+                "role": null
+            },
+            {
+                "name": "Roman Borschel",
+                "email": "roman@code-factory.org",
+                "homepage": null,
+                "role": null
+            },
+            {
+                "name": "Benjamin Eberlei",
+                "email": "kontakt@beberlei.de",
+                "homepage": null,
+                "role": null
+            },
+            {
+                "name": "Johannes Schmitt",
+                "email": "schmittjoh@gmail.com",
+                "homepage": "http://jmsyst.com",
+                "role": "Developer of wrapped JMSSerializerBundle"
+            }
+        ],
+        "description": "Common Library for Doctrine projects",
+        "homepage": "http://www.doctrine-project.org",
+        "keywords": [
+            "collections",
+            "spl",
+            "eventmanager",
+            "annotations",
+            "persistence"
+        ],
+        "autoload": {
+            "psr-0": {
+                "Doctrine\\Common": "lib/"
+            }
+        }
+    },
     {
         "name": "symfony/http-foundation",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/HttpFoundation",
-        "time": "2012-08-04 16:18:38",
+        "time": "2012-08-22 13:48:41",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/HttpFoundation",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/HttpFoundation/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/HttpFoundation/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -223,19 +299,19 @@
     },
     {
         "name": "symfony/event-dispatcher",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/EventDispatcher",
-        "time": "2012-07-20 06:18:14",
+        "time": "2012-08-22 13:48:41",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/EventDispatcher",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/EventDispatcher/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/EventDispatcher/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -245,8 +321,8 @@
             "symfony/dependency-injection": "2.1.*"
         },
         "suggest": {
-            "symfony/dependency-injection": "v2.1.0-RC1",
-            "symfony/http-kernel": "v2.1.0-RC1"
+            "symfony/dependency-injection": "v2.1.0-RC2",
+            "symfony/http-kernel": "v2.1.0-RC2"
         },
         "type": "library",
         "extra": {
@@ -282,19 +358,19 @@
     },
     {
         "name": "symfony/http-kernel",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/HttpKernel",
-        "time": "2012-08-04 16:32:21",
+        "time": "2012-08-28 08:00:18",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/HttpKernel",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/HttpKernel/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/HttpKernel/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -313,12 +389,12 @@
             "symfony/routing": "2.1.*"
         },
         "suggest": {
-            "symfony/browser-kit": "v2.1.0-RC1",
-            "symfony/class-loader": "v2.1.0-RC1",
-            "symfony/config": "v2.1.0-RC1",
-            "symfony/console": "v2.1.0-RC1",
-            "symfony/dependency-injection": "v2.1.0-RC1",
-            "symfony/finder": "v2.1.0-RC1"
+            "symfony/browser-kit": "v2.1.0-RC2",
+            "symfony/class-loader": "v2.1.0-RC2",
+            "symfony/config": "v2.1.0-RC2",
+            "symfony/console": "v2.1.0-RC2",
+            "symfony/dependency-injection": "v2.1.0-RC2",
+            "symfony/finder": "v2.1.0-RC2"
         },
         "type": "library",
         "extra": {
@@ -354,19 +430,19 @@
     },
     {
         "name": "symfony/routing",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/Routing",
-        "time": "2012-07-31 21:14:37",
+        "time": "2012-08-28 07:54:42",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/Routing",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Routing/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/Routing/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -379,8 +455,8 @@
             "doctrine/common": ">=2.2,<2.4-dev"
         },
         "suggest": {
-            "symfony/config": "v2.1.0-RC1",
-            "symfony/yaml": "v2.1.0-RC1",
+            "symfony/config": "v2.1.0-RC2",
+            "symfony/yaml": "v2.1.0-RC2",
             "doctrine/common": ">=2.2,<2.4-dev"
         },
         "type": "library",
@@ -417,19 +493,19 @@
     },
     {
         "name": "symfony/yaml",
-        "version": "v2.1.0-RC1",
-        "version_normalized": "2.1.0.0-RC1",
+        "version": "v2.1.0-RC2",
+        "version_normalized": "2.1.0.0-RC2",
         "target-dir": "Symfony/Component/Yaml",
-        "time": "2012-07-15 17:13:51",
+        "time": "2012-08-22 13:48:41",
         "source": {
             "type": "git",
             "url": "https://github.com/symfony/Yaml",
-            "reference": "v2.1.0-RC1"
+            "reference": "v2.1.0-RC2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://github.com/symfony/Yaml/zipball/v2.1.0-RC1",
-            "reference": "v2.1.0-RC1",
+            "url": "https://github.com/symfony/Yaml/zipball/v2.1.0-RC2",
+            "reference": "v2.1.0-RC2",
             "shasum": ""
         },
         "require": {
@@ -466,81 +542,5 @@
                 "Symfony\\Component\\Yaml": ""
             }
         }
-    },
-    {
-        "name": "doctrine/common",
-        "version": "2.3.0-RC1",
-        "version_normalized": "2.3.0.0-RC1",
-        "time": "2012-07-29 10:44:28",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/doctrine/common",
-            "reference": "2.3.0-RC1"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://github.com/doctrine/common/zipball/2.3.0-RC1",
-            "reference": "2.3.0-RC1",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.3.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Jonathan Wage",
-                "email": "jonwage@gmail.com",
-                "homepage": "http://www.jwage.com/",
-                "role": null
-            },
-            {
-                "name": "Guilherme Blanco",
-                "email": "guilhermeblanco@gmail.com",
-                "homepage": null,
-                "role": null
-            },
-            {
-                "name": "Roman Borschel",
-                "email": "roman@code-factory.org",
-                "homepage": null,
-                "role": null
-            },
-            {
-                "name": "Benjamin Eberlei",
-                "email": "kontakt@beberlei.de",
-                "homepage": null,
-                "role": null
-            },
-            {
-                "name": "Johannes Schmitt",
-                "email": "schmittjoh@gmail.com",
-                "homepage": "https://github.com/schmittjoh",
-                "role": null
-            }
-        ],
-        "description": "Common Library for Doctrine projects",
-        "homepage": "http://www.doctrine-project.org",
-        "keywords": [
-            "collections",
-            "spl",
-            "eventmanager",
-            "annotations",
-            "persistence"
-        ],
-        "autoload": {
-            "psr-0": {
-                "Doctrine\\Common": "lib/"
-            }
-        }
     }
 ]
diff --git a/core/vendor/doctrine/common/composer.json b/core/vendor/doctrine/common/composer.json
index c513315d2e70..ff87dba4283f 100644
--- a/core/vendor/doctrine/common/composer.json
+++ b/core/vendor/doctrine/common/composer.json
@@ -1,6 +1,6 @@
 {
     "name": "doctrine/common",
-    "type": "library","version":"2.3.0-RC1",
+    "type": "library","version":"2.3.0-RC2",
     "description": "Common Library for Doctrine projects",
     "keywords": ["collections", "spl", "eventmanager", "annotations", "persistence"],
     "homepage": "http://www.doctrine-project.org",
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php
index 5a1d2538500b..286e7d09db67 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Annotations/AnnotationReader.php
@@ -68,7 +68,8 @@ class AnnotationReader implements Reader
         'codeCoverageIgnore' => true, 'codeCoverageIgnoreStart' => true, 'codeCoverageIgnoreEnd' => true,
         'Required' => true, 'Attribute' => true, 'Attributes' => true,
         'Target' => true, 'SuppressWarnings' => true,
-        'ingroup' => true, 'code' => true, 'endcode' => true
+        'ingroup' => true, 'code' => true, 'endcode' => true,
+        'package_version' => true,
     );
 
     /**
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php
index a075c08b10b3..7c2b13e69031 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/ArrayCollection.php
@@ -496,15 +496,5 @@ public function matching(Criteria $criteria)
 
         return new static($filtered);
     }
-
-    /**
-     * Return the expression builder.
-     *
-     * @return ExpressionBuilder
-     */
-    public function expr()
-    {
-        return new ExpressionBuilder();
-    }
 }
 
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Criteria.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Criteria.php
index 6eb52e5ccce3..3b055495b1aa 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Criteria.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Criteria.php
@@ -20,6 +20,7 @@
 namespace Doctrine\Common\Collections;
 
 use Doctrine\Common\Collections\Expr\Expression;
+use Doctrine\Common\Collections\Expr\CompositeExpression;
 
 /**
  * Criteria for filtering Selectable collections.
@@ -39,6 +40,11 @@ class Criteria
      */
     const DESC = 'DESC';
 
+    /**
+     * @var \Doctrine\Common\Collections\ExpressionBuilder
+     */
+    private static $expressionBuilder;
+
     /**
      * @var \Doctrine\Common\Collections\Expr\Expression
      */
@@ -59,6 +65,29 @@ class Criteria
      */
     private $maxResults;
 
+    /**
+     * Creates an instance of the class.
+     *
+     * @return Criteria
+     */
+    public static function create()
+    {
+        return new static();
+    }
+
+    /**
+     * Return the expression builder.
+     *
+     * @return \Doctrine\Common\Collections\ExpressionBuilder
+     */
+    public static function expr()
+    {
+        if (self::$expressionBuilder === null) {
+            self::$expressionBuilder = new ExpressionBuilder();
+        }
+        return self::$expressionBuilder;
+    }
+
     /**
      * Construct new criteria
      *
@@ -87,6 +116,46 @@ public function where(Expression $expression)
         return $this;
     }
 
+    /**
+     * Append the where expression to evaluate when this criteria is searched for
+     * using an AND with previous expression.
+     *
+     * @param Expression
+     * @return Criteria
+     */
+    public function andWhere(Expression $expression)
+    {
+        if ($this->expression === null) {
+            return $this->where($expression);
+        }
+
+        $this->expression = new CompositeExpression(CompositeExpression::TYPE_AND, array(
+            $this->expression, $expression
+        ));
+
+        return $this;
+    }
+
+    /**
+     * Append the where expression to evaluate when this criteria is searched for
+     * using an OR with previous expression.
+     *
+     * @param Expression
+     * @return Criteria
+     */
+    public function orWhere(Expression $expression)
+    {
+        if ($this->expression === null) {
+            return $this->where($expression);
+        }
+
+        $this->expression = new CompositeExpression(CompositeExpression::TYPE_OR, array(
+            $this->expression, $expression
+        ));
+
+        return $this;
+    }
+
     /**
      * Get the expression attached to this criteria.
      *
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Selectable.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Selectable.php
index d5543c17f5d2..675d6ea8b0cd 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Selectable.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Collections/Selectable.php
@@ -44,12 +44,5 @@ interface Selectable
      * @return Collection
      */
     function matching(Criteria $criteria);
-
-    /**
-     * Return the expression builder.
-     *
-     * @return \Doctrine\Common\Collections\ExpressionBuilder
-     */
-    function expr();
 }
 
diff --git a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php b/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
index e196424364fe..0782163b707c 100644
--- a/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
+++ b/core/vendor/doctrine/common/lib/Doctrine/Common/Version.php
@@ -36,7 +36,7 @@ class Version
     /**
      * Current Doctrine Version
      */
-    const VERSION = '2.3.0-RC1';
+    const VERSION = '2.3.0-RC2';
 
     /**
      * Compares a Doctrine version with the current one.
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CollectionTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
index 58979fad9dff..280efa38028f 100644
--- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CollectionTest.php
@@ -212,7 +212,7 @@ public function testMatching()
     {
         $this->fillMatchingFixture();
 
-        $col = $this->_coll->matching(new Criteria($this->_coll->expr()->eq("foo", "bar")));
+        $col = $this->_coll->matching(new Criteria(Criteria::expr()->eq("foo", "bar")));
         $this->assertInstanceOf('Doctrine\Common\Collections\Collection', $col);
         $this->assertNotSame($col, $this->_coll);
         $this->assertEquals(1, count($col));
diff --git a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
index a7415f23ac21..03fb6cae0aef 100644
--- a/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
+++ b/core/vendor/doctrine/common/tests/Doctrine/Tests/Common/Collections/CriteriaTest.php
@@ -3,9 +3,17 @@
 
 use Doctrine\Common\Collections\Criteria;
 use Doctrine\Common\Collections\Expr\Comparison;
+use Doctrine\Common\Collections\Expr\CompositeExpression;
 
 class CriteriaTest extends \PHPUnit_Framework_TestCase
 {
+    public function testCreate()
+    {
+        $criteria = Criteria::create();
+
+        $this->assertInstanceOf("Doctrine\Common\Collections\Criteria", $criteria);
+    }
+
     public function testConstructor()
     {
         $expr     = new Comparison("field", "=", "value");
@@ -27,12 +35,48 @@ public function testWhere()
         $this->assertSame($expr, $criteria->getWhereExpression());
     }
 
-    public function testOrderings()
+    public function testAndWhere()
     {
+        $expr     = new Comparison("field", "=", "value");
         $criteria = new Criteria();
 
-        $criteria->orderBy(array("foo" => "ASC"));
+        $criteria->where($expr);
+        $expr = $criteria->getWhereExpression();
+        $criteria->andWhere($expr);
+
+        $where = $criteria->getWhereExpression();
+        $this->assertInstanceOf('Doctrine\Common\Collections\Expr\CompositeExpression', $where);
+
+        $this->assertEquals(CompositeExpression::TYPE_AND, $where->getType());
+        $this->assertSame(array($expr, $expr), $where->getExpressionList());
+    }
+
+    public function testOrWhere()
+    {
+        $expr     = new Comparison("field", "=", "value");
+        $criteria = new Criteria();
+
+        $criteria->where($expr);
+        $expr = $criteria->getWhereExpression();
+        $criteria->orWhere($expr);
+
+        $where = $criteria->getWhereExpression();
+        $this->assertInstanceOf('Doctrine\Common\Collections\Expr\CompositeExpression', $where);
+
+        $this->assertEquals(CompositeExpression::TYPE_OR, $where->getType());
+        $this->assertSame(array($expr, $expr), $where->getExpressionList());
+    }
+
+    public function testOrderings()
+    {
+        $criteria = Criteria::create()
+            ->orderBy(array("foo" => "ASC"));
 
         $this->assertEquals(array("foo" => "ASC"), $criteria->getOrderings());
     }
+
+    public function testExpr()
+    {
+        $this->assertInstanceOf('Doctrine\Common\Collections\ExpressionBuilder', Criteria::expr());
+    }
 }
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
index c9fe38260388..cf501980a045 100644
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
+++ b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassLoaderTest.php
@@ -15,6 +15,28 @@
 
 class ClassLoaderTest extends \PHPUnit_Framework_TestCase
 {
+    public function testGetPrefixes()
+    {
+        $loader = new ClassLoader();
+        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->addPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->addPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $prefixes = $loader->getPrefixes();
+        $this->assertArrayHasKey('Foo', $prefixes);
+        $this->assertArrayNotHasKey('Foo1', $prefixes);
+        $this->assertArrayHasKey('Bar', $prefixes);
+        $this->assertArrayHasKey('Bas', $prefixes);
+    }
+
+    public function testGetFallbackDirs()
+    {
+        $loader = new ClassLoader();
+        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->addPrefix(null, __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $fallback_dirs = $loader->getFallbackDirs();
+        $this->assertCount(2, $fallback_dirs);
+    }
+
     /**
      * @dataProvider getLoadClassTests
      */
@@ -37,6 +59,35 @@ public function getLoadClassTests()
         );
     }
 
+    /**
+     * @dataProvider getLoadNonexistentClassTests
+     */
+    public function testLoadNonexistentClass($className, $testClassName, $message)
+    {
+        $loader = new ClassLoader();
+        $loader->addPrefix('Namespaced2\\', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->addPrefix('Pearlike2_', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->loadClass($testClassName);
+        $this->assertFalse(class_exists($className), $message);
+    }
+
+    public function getLoadNonexistentClassTests()
+    {
+        return array(
+            array('\\Pearlike3_Bar', '\\Pearlike3_Bar', '->loadClass() loads non exising Pearlike3_Bar class with a leading slash'),
+        );
+    }
+
+    public function testAddPrefix()
+    {
+        $loader = new ClassLoader();
+        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->addPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $prefixes = $loader->getPrefixes();
+        $this->assertArrayHasKey('Foo', $prefixes);
+        $this->assertCount(2, $prefixes['Foo']);
+    }
+
     public function testUseIncludePath()
     {
         $loader = new ClassLoader();
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
index 6cebd38282ba..e69502b17d75 100644
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
+++ b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/ClassMapGeneratorTest.php
@@ -15,6 +15,50 @@
 
 class ClassMapGeneratorTest extends \PHPUnit_Framework_TestCase
 {
+    /**
+     * @var string $workspace
+     */
+    private $workspace = null;
+
+    public function prepare_workspace()
+    {
+        $this->workspace = rtrim(sys_get_temp_dir(), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.time().rand(0, 1000);
+        mkdir($this->workspace, 0777, true);
+        $this->workspace = realpath($this->workspace);
+    }
+
+    /**
+     * @param string $file
+     */
+    private function clean($file)
+    {
+        if (is_dir($file) && !is_link($file)) {
+            $dir = new \FilesystemIterator($file);
+            foreach ($dir as $childFile) {
+                $this->clean($childFile);
+            }
+
+            rmdir($file);
+        } else {
+            unlink($file);
+        }
+    }
+
+    /**
+     * @dataProvider getTestCreateMapTests
+     */
+    public function testDump($directory, $expected)
+    {
+        $this->prepare_workspace();
+
+        $file = $this->workspace.'/file';
+
+        $generator = new ClassMapGenerator();
+        $generator->dump($directory, $file);
+        $this->assertFileExists($file);
+
+        $this->clean($this->workspace);
+    }
 
     /**
      * @dataProvider getTestCreateMapTests
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
index 8ee29b53ec43..fd60fdf8e8d9 100644
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
+++ b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/Tests/UniversalClassLoaderTest.php
@@ -56,6 +56,32 @@ public function testUseIncludePath()
         set_include_path($includePath);
     }
 
+    public function testGetNamespaces()
+    {
+        $loader = new UniversalClassLoader();
+        $loader->registerNamespace('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->registerNamespace('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->registerNamespace('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $namespaces = $loader->getNamespaces();
+        $this->assertArrayHasKey('Foo', $namespaces);
+        $this->assertArrayNotHasKey('Foo1', $namespaces);
+        $this->assertArrayHasKey('Bar', $namespaces);
+        $this->assertArrayHasKey('Bas', $namespaces);
+    }
+
+    public function testGetPrefixes()
+    {
+        $loader = new UniversalClassLoader();
+        $loader->registerPrefix('Foo', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->registerPrefix('Bar', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $loader->registerPrefix('Bas', __DIR__.DIRECTORY_SEPARATOR.'Fixtures');
+        $prefixes = $loader->getPrefixes();
+        $this->assertArrayHasKey('Foo', $prefixes);
+        $this->assertArrayNotHasKey('Foo1', $prefixes);
+        $this->assertArrayHasKey('Bar', $prefixes);
+        $this->assertArrayHasKey('Bas', $prefixes);
+    }
+
     /**
      * @dataProvider getLoadClassFromFallbackTests
      */
diff --git a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json
index 6e3b3b8e2e88..ccd9ba9bc700 100644
--- a/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json
+++ b/core/vendor/symfony/class-loader/Symfony/Component/ClassLoader/composer.json
@@ -26,6 +26,7 @@
         "psr-0": { "Symfony\\Component\\ClassLoader": "" }
     },
     "target-dir": "Symfony/Component/ClassLoader",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
index 4d34e55402ef..4a29d234484c 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Dumper/PhpDumper.php
@@ -694,7 +694,13 @@ private function addFrozenConstructor()
      */
     public function __construct()
     {
-        \$this->parameters = \$this->getDefaultParameters();
+EOF;
+
+        if ($this->container->getParameterBag()->all()) {
+            $code .= "\n        \$this->parameters = \$this->getDefaultParameters();\n";
+        }
+
+        $code .= <<<EOF
 
         \$this->services =
         \$this->scopedServices =
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
index 75250277a1a3..5329195cdb8a 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php
@@ -204,14 +204,28 @@ private function parseDefinition($id, $service, $file)
      */
     private function parseFile($file)
     {
+        $internalErrors = libxml_use_internal_errors(true);
+        $disableEntities = libxml_disable_entity_loader(true);
+        libxml_clear_errors();
+
         $dom = new \DOMDocument();
-        libxml_use_internal_errors(true);
-        if (!$dom->load($file, defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0)) {
-            throw new InvalidArgumentException(implode("\n", $this->getXmlErrors()));
-        }
         $dom->validateOnParse = true;
+        if (!$dom->loadXML(file_get_contents($file), LIBXML_NONET | (defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0))) {
+            libxml_disable_entity_loader($disableEntities);
+
+            throw new \InvalidArgumentException(implode("\n", $this->getXmlErrors($internalErrors)));
+        }
         $dom->normalizeDocument();
-        libxml_use_internal_errors(false);
+
+        libxml_use_internal_errors($internalErrors);
+        libxml_disable_entity_loader($disableEntities);
+
+        foreach ($dom->childNodes as $child) {
+            if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) {
+                throw new \InvalidArgumentException('Document types are not allowed.');
+            }
+        }
+
         $this->validate($dom, $file);
 
         return simplexml_import_dom($dom, 'Symfony\\Component\\DependencyInjection\\SimpleXMLElement');
@@ -345,12 +359,15 @@ private function validateSchema(\DOMDocument $dom, $file)
         ;
 
         $current = libxml_use_internal_errors(true);
+        libxml_clear_errors();
+
         $valid = @$dom->schemaValidateSource($source);
+
         foreach ($tmpfiles as $tmpfile) {
             @unlink($tmpfile);
         }
         if (!$valid) {
-            throw new InvalidArgumentException(implode("\n", $this->getXmlErrors()));
+            throw new InvalidArgumentException(implode("\n", $this->getXmlErrors($current)));
         }
         libxml_use_internal_errors($current);
     }
@@ -389,7 +406,7 @@ private function validateExtensions(\DOMDocument $dom, $file)
      *
      * @return array
      */
-    private function getXmlErrors()
+    private function getXmlErrors($internalErrors)
     {
         $errors = array();
         foreach (libxml_get_errors() as $error) {
@@ -404,6 +421,7 @@ private function getXmlErrors()
         }
 
         libxml_clear_errors();
+        libxml_use_internal_errors($internalErrors);
 
         return $errors;
     }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
index c1e2070a98d9..859ca5001339 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Dumper/PhpDumperTest.php
@@ -44,6 +44,20 @@ public function testDump()
         new PhpDumper($container);
     }
 
+    public function testDumpFrozenContainerWithNoParameter()
+    {
+        $container = new ContainerBuilder();
+        $container->register('foo', 'stdClass');
+
+        $container->compile();
+
+        $dumper = new PhpDumper($container);
+
+        $dumpedString = $dumper->dump();
+        $this->assertStringEqualsFile(self::$fixturesPath.'/php/services11.php', $dumpedString, '->dump() does not add getDefaultParameters() method call if container have no parameters.');
+        $this->assertNotRegexp("/function getDefaultParameters\(/", $dumpedString, '->dump() does not add getDefaultParameters() method definition.');
+    }
+
     public function testDumpOptimizationString()
     {
         $definition = new Definition();
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
new file mode 100644
index 000000000000..f217d5bcacf5
--- /dev/null
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Fixtures/xml/withdoctype.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE foo>
+<foo></foo>
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
index 12109c2b4976..b589ed95ac03 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Tests/Loader/XmlFileLoaderTest.php
@@ -328,4 +328,16 @@ public function testNoNamingConflictsForAnonymousServices()
         $inner2 = $services[(string) $args2[0]];
         $this->assertEquals('BarClass2', $inner2->getClass(), '->load() uses the same configuration as for the anonymous ones');
     }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     * @expectedExceptionMessage Document types are not allowed.
+     */
+    public function testDocTypeIsNotAllowed()
+    {
+        $container = new ContainerBuilder();
+
+        $loader1 = new XmlFileLoader($container, new FileLocator(self::$fixturesPath.'/xml'));
+        $loader1->load('withdoctype.xml');
+    }
 }
diff --git a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json
index 7238bd07ea4e..81811c39a25b 100644
--- a/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json
+++ b/core/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/composer.json
@@ -30,6 +30,7 @@
         "psr-0": { "Symfony\\Component\\DependencyInjection": "" }
     },
     "target-dir": "Symfony/Component/DependencyInjection",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
index 0ad76eedd5d7..2f1dd64f5605 100644
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
+++ b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/GenericEvent.php
@@ -18,7 +18,7 @@
  *
  * @author Drak <drak@zikula.org>
  */
-class GenericEvent extends Event implements \ArrayAccess
+class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
 {
     /**
      * Observer pattern subject.
@@ -177,4 +177,14 @@ public function offsetExists($key)
     {
         return $this->hasArgument($key);
     }
+
+    /**
+     * IteratorAggregate for iterating over the object like an array
+     *
+     * @return \ArrayIterator
+     */
+    public function getIterator()
+    {
+        return new \ArrayIterator($this->arguments);
+    }
 }
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
index 6c9a610861c7..179e9a34ed87 100644
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
+++ b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/Tests/GenericEventTest.php
@@ -128,4 +128,13 @@ public function testGetSubject()
     {
         $this->assertSame($this->subject, $this->event->getSubject());
     }
+
+    public function testHasIterator()
+    {
+        $data = array();
+        foreach ($this->event as $key => $value) {
+            $data[$key] = $value;
+        }
+        $this->assertEquals(array('name' => 'Event'), $data);
+    }
 }
diff --git a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
index 9a34819d7fa5..93abadeaca77 100644
--- a/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
+++ b/core/vendor/symfony/event-dispatcher/Symfony/Component/EventDispatcher/composer.json
@@ -29,6 +29,7 @@
         "psr-0": { "Symfony\\Component\\EventDispatcher": "" }
     },
     "target-dir": "Symfony/Component/EventDispatcher",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php
index cb340120b48a..bb579b64f9dc 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/HeaderBag.php
@@ -157,7 +157,7 @@ public function set($key, $values, $replace = true)
     {
         $key = strtr(strtolower($key), '_', '-');
 
-        $values = (array) $values;
+        $values = array_values((array) $values);
 
         if (true === $replace || !isset($this->headers[$key])) {
             $this->headers[$key] = $values;
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
index 43ade8ffaf6f..29b4cc7b59a1 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/JsonResponse.php
@@ -97,12 +97,16 @@ protected function update()
     {
         if (null !== $this->callback) {
             // Not using application/javascript for compatibility reasons with older browsers.
-            $this->headers->set('Content-Type', 'text/javascript', true);
+            $this->headers->set('Content-Type', 'text/javascript');
 
             return $this->setContent(sprintf('%s(%s);', $this->callback, $this->data));
         }
 
-        $this->headers->set('Content-Type', 'application/json', false);
+        // Only set the header when there is none or when it equals 'text/javascript' (from a previous update with callback)
+        // in order to not overwrite a custom definition.
+        if (!$this->headers->has('Content-Type') || 'text/javascript' === $this->headers->get('Content-Type')) {
+            $this->headers->set('Content-Type', 'application/json');
+        }
 
         return $this->setContent($this->data);
     }
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
index 6006773c9ddb..e8293e4dde46 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/Handler/MongoDbSessionHandler.php
@@ -104,7 +104,7 @@ public function write($sessionId, $data)
     {
         $data = array(
             $this->options['id_field']   => $sessionId,
-            $this->options['data_field'] => new \MongoBinData($data),
+            $this->options['data_field'] => new \MongoBinData($data, \MongoBinData::BYTE_ARRAY),
             $this->options['time_field'] => new \MongoTimestamp()
         );
 
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
index ecc68adfdeba..4a7d360fbb6c 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
@@ -349,7 +349,7 @@ public function setSaveHandler($saveHandler = null)
         if (!$saveHandler instanceof AbstractProxy && $saveHandler instanceof \SessionHandlerInterface) {
             $saveHandler = new SessionHandlerProxy($saveHandler);
         } elseif (!$saveHandler instanceof AbstractProxy) {
-            $saveHandler = new NativeProxy($saveHandler);
+            $saveHandler = new NativeProxy();
         }
 
         $this->saveHandler = $saveHandler;
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
index 54289f8f8325..bafccb2eba25 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/HeaderBagTest.php
@@ -68,6 +68,14 @@ public function testGet()
         $this->assertEquals( array('bar', 'bor'), $bag->get('foo', 'nope', false), '->get return all values as array');
     }
 
+    public function testSetAssociativeArray()
+    {
+        $bag = new HeaderBag();
+        $bag->set('foo', array('bad-assoc-index' => 'value'));
+        $this->assertSame('value', $bag->get('foo'));
+        $this->assertEquals(array('value'), $bag->get('foo', 'nope', false), 'assoc indices of multi-valued headers are ignored');
+    }
+
     /**
      * @covers Symfony\Component\HttpFoundation\HeaderBag::contains
      */
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
index fdb0b99bcd83..9f58f2d583f0 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/Handler/NativeFileSessionHandlerTest.php
@@ -46,10 +46,9 @@ public function test__ConstructSavePath($savePath, $expectedSavePath, $path)
     {
         $handler = new NativeFileSessionHandler($savePath);
         $this->assertEquals($expectedSavePath, ini_get('session.save_path'));
-        $dir = realpath('/'.$path);
-        $this->assertTrue(is_dir(realpath($dir)));
+        $this->assertTrue(is_dir(realpath($path)));
 
-        rmdir($dir);
+        rmdir($path);
     }
 
     public function savePathDataProvider()
diff --git a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json
index 4e4f90779fc6..91c23c24870f 100644
--- a/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json
+++ b/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/composer.json
@@ -25,6 +25,7 @@
         }
     },
     "target-dir": "Symfony/Component/HttpFoundation",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
index 588b07e3bf8e..d601e4b76cb4 100644
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
+++ b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Kernel.php
@@ -58,12 +58,12 @@ abstract class Kernel implements KernelInterface, TerminableInterface
     protected $classes;
     protected $errorReportingLevel;
 
-    const VERSION         = '2.1.0-RC1';
+    const VERSION         = '2.1.0-RC2';
     const VERSION_ID      = '20100';
     const MAJOR_VERSION   = '2';
     const MINOR_VERSION   = '1';
     const RELEASE_VERSION = '0';
-    const EXTRA_VERSION   = 'RC1';
+    const EXTRA_VERSION   = 'RC2';
 
     /**
      * Constructor.
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
index 594af3247a64..d0afdf33182f 100644
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
+++ b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/Controller/ControllerResolverTest.php
@@ -134,11 +134,15 @@ public function testGetArguments()
         $request->attributes->set('foobar', 'foobar');
         $controller = array(new self(), 'controllerMethod3');
 
-        try {
-            $resolver->getArguments($request, $controller);
-            $this->fail('->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
-        } catch (\Exception $e) {
-            $this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
+        if (version_compare(PHP_VERSION, '5.3.16', '==')) {
+            $this->markTestSkipped('PHP 5.3.16 has a major bug in the Reflection sub-system');
+        } else {
+            try {
+                $resolver->getArguments($request, $controller);
+                $this->fail('->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
+            } catch (\Exception $e) {
+                $this->assertInstanceOf('\RuntimeException', $e, '->getArguments() throws a \RuntimeException exception if it cannot determine the argument value');
+            }
         }
 
         $request = Request::create('/');
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
index 0def224354f3..46361f6f5ab6 100644
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
+++ b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/Tests/KernelTest.php
@@ -293,15 +293,7 @@ public function testGetRootDir()
     {
         $kernel = new KernelForTest('test', true);
 
-        $rootDir = __DIR__.DIRECTORY_SEPARATOR.'Fixtures';
-
-        // getRootDir() returns path with slashes
-        // without conversion test fails on Windows
-        if (defined('PHP_WINDOWS_VERSION_MAJOR')) {
-            $rootDir = strtr($rootDir, '\\', '/');
-        }
-
-        $this->assertEquals($rootDir, $kernel->getRootDir());
+        $this->assertEquals(__DIR__.DIRECTORY_SEPARATOR.'Fixtures', realpath($kernel->getRootDir()));
     }
 
     public function testGetName()
diff --git a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json
index e8c693f72b63..12ea499dfd65 100644
--- a/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json
+++ b/core/vendor/symfony/http-kernel/Symfony/Component/HttpKernel/composer.json
@@ -42,6 +42,7 @@
         "psr-0": { "Symfony\\Component\\HttpKernel": "" }
     },
     "target-dir": "Symfony/Component/HttpKernel",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php b/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
index c86c9eca5b29..54d4e2ce553f 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/CompiledRoute.php
@@ -18,7 +18,6 @@
  */
 class CompiledRoute
 {
-    private $route;
     private $variables;
     private $tokens;
     private $staticPrefix;
@@ -27,31 +26,19 @@ class CompiledRoute
     /**
      * Constructor.
      *
-     * @param Route  $route        A original Route instance
      * @param string $staticPrefix The static prefix of the compiled route
      * @param string $regex        The regular expression to use to match this route
      * @param array  $tokens       An array of tokens to use to generate URL for this route
      * @param array  $variables    An array of variables
      */
-    public function __construct(Route $route, $staticPrefix, $regex, array $tokens, array $variables)
+    public function __construct($staticPrefix, $regex, array $tokens, array $variables)
     {
-        $this->route = $route;
         $this->staticPrefix = $staticPrefix;
         $this->regex = $regex;
         $this->tokens = $tokens;
         $this->variables = $variables;
     }
 
-    /**
-     * Returns the Route instance.
-     *
-     * @return Route A Route instance
-     */
-    public function getRoute()
-    {
-        return $this->route;
-    }
-
     /**
      * Returns the static prefix.
      *
@@ -91,44 +78,4 @@ public function getVariables()
     {
         return $this->variables;
     }
-
-    /**
-     * Returns the pattern.
-     *
-     * @return string The pattern
-     */
-    public function getPattern()
-    {
-        return $this->route->getPattern();
-    }
-
-    /**
-     * Returns the options.
-     *
-     * @return array The options
-     */
-    public function getOptions()
-    {
-        return $this->route->getOptions();
-    }
-
-    /**
-     * Returns the defaults.
-     *
-     * @return array The defaults
-     */
-    public function getDefaults()
-    {
-        return $this->route->getDefaults();
-    }
-
-    /**
-     * Returns the requirements.
-     *
-     * @return array The requirements
-     */
-    public function getRequirements()
-    {
-        return $this->route->getRequirements();
-    }
 }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
index fad8ceaac08d..9b5cc0597e0f 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Generator/Dumper/PhpGeneratorDumper.php
@@ -90,8 +90,8 @@ private function generateDeclaredRoutes()
 
             $properties = array();
             $properties[] = $compiledRoute->getVariables();
-            $properties[] = $compiledRoute->getDefaults();
-            $properties[] = $compiledRoute->getRequirements();
+            $properties[] = $route->getDefaults();
+            $properties[] = $route->getRequirements();
             $properties[] = $compiledRoute->getTokens();
 
             $routes .= sprintf("        '%s' => %s,\n", $name, str_replace("\n", '', var_export($properties, true)));
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
index f83ce6f370d0..5e0093da3858 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Loader/XmlFileLoader.php
@@ -170,14 +170,28 @@ protected function parseRoute(RouteCollection $collection, \DOMElement $definiti
      */
     protected function loadFile($file)
     {
+        $internalErrors = libxml_use_internal_errors(true);
+        $disableEntities = libxml_disable_entity_loader(true);
+        libxml_clear_errors();
+
         $dom = new \DOMDocument();
-        libxml_use_internal_errors(true);
-        if (!$dom->load($file, defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0)) {
-            throw new \InvalidArgumentException(implode("\n", $this->getXmlErrors()));
-        }
         $dom->validateOnParse = true;
+        if (!$dom->loadXML(file_get_contents($file), LIBXML_NONET | (defined('LIBXML_COMPACT') ? LIBXML_COMPACT : 0))) {
+            libxml_disable_entity_loader($disableEntities);
+
+            throw new \InvalidArgumentException(implode("\n", $this->getXmlErrors($internalErrors)));
+        }
         $dom->normalizeDocument();
-        libxml_use_internal_errors(false);
+
+        libxml_use_internal_errors($internalErrors);
+        libxml_disable_entity_loader($disableEntities);
+
+        foreach ($dom->childNodes as $child) {
+            if ($child->nodeType === XML_DOCUMENT_TYPE_NODE) {
+                throw new \InvalidArgumentException('Document types are not allowed.');
+            }
+        }
+
         $this->validate($dom);
 
         return $dom;
@@ -195,8 +209,10 @@ protected function validate(\DOMDocument $dom)
         $location = __DIR__.'/schema/routing/routing-1.0.xsd';
 
         $current = libxml_use_internal_errors(true);
+        libxml_clear_errors();
+
         if (!$dom->schemaValidate($location)) {
-            throw new \InvalidArgumentException(implode("\n", $this->getXmlErrors()));
+            throw new \InvalidArgumentException(implode("\n", $this->getXmlErrors($current)));
         }
         libxml_use_internal_errors($current);
     }
@@ -206,7 +222,7 @@ protected function validate(\DOMDocument $dom)
      *
      * @return array An array of libxml error strings
      */
-    private function getXmlErrors()
+    private function getXmlErrors($internalErrors)
     {
         $errors = array();
         foreach (libxml_get_errors() as $error) {
@@ -221,6 +237,7 @@ private function getXmlErrors()
         }
 
         libxml_clear_errors();
+        libxml_use_internal_errors($internalErrors);
 
         return $errors;
     }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
index 72130544cefd..15fab9eb6e71 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Matcher/Dumper/PhpMatcherDumper.php
@@ -271,14 +271,14 @@ private function compileRoute(Route $route, $name, $supportsRedirections, $paren
         }
 
         // optimize parameters array
-        if (true === $matches && $compiledRoute->getDefaults()) {
+        if (true === $matches && $route->getDefaults()) {
             $code .= sprintf("            return array_merge(\$this->mergeDefaults(\$matches, %s), array('_route' => '%s'));\n"
-                , str_replace("\n", '', var_export($compiledRoute->getDefaults(), true)), $name);
+                , str_replace("\n", '', var_export($route->getDefaults(), true)), $name);
         } elseif (true === $matches) {
             $code .= sprintf("            \$matches['_route'] = '%s';\n\n", $name);
             $code .= "            return \$matches;\n";
-        } elseif ($compiledRoute->getDefaults()) {
-            $code .= sprintf("            return %s;\n", str_replace("\n", '', var_export(array_merge($compiledRoute->getDefaults(), array('_route' => $name)), true)));
+        } elseif ($route->getDefaults()) {
+            $code .= sprintf("            return %s;\n", str_replace("\n", '', var_export(array_merge($route->getDefaults(), array('_route' => $name)), true)));
         } else {
             $code .= sprintf("            return array('_route' => '%s');\n", $name);
         }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
index b93d36b446a2..5aaae19c3483 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/RouteCompiler.php
@@ -85,7 +85,6 @@ public function compile(Route $route)
         }
 
         return new CompiledRoute(
-            $route,
             'text' === $tokens[0][0] ? $tokens[0][1] : '',
             self::REGEX_DELIMITER.'^'.$regexp.'$'.self::REGEX_DELIMITER.'s',
             array_reverse($tokens),
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
index d0e6186e05b6..c65da0c6f2ee 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/CompiledRouteTest.php
@@ -12,32 +12,15 @@
 namespace Symfony\Component\Routing\Tests;
 
 use Symfony\Component\Routing\CompiledRoute;
-use Symfony\Component\Routing\Route;
 
 class CompiledRouteTest extends \PHPUnit_Framework_TestCase
 {
     public function testAccessors()
     {
-        $route = new Route('/{foo}', array('foo' => 'bar'), array('foo' => '\d+'), array('foo' => 'bar'));
-
-        $compiled = new CompiledRoute($route, 'prefix', 'regex', array('tokens'), array('variables'));
-        $this->assertEquals($route, $compiled->getRoute(), '__construct() takes a route as its first argument');
-        $this->assertEquals('prefix', $compiled->getStaticPrefix(), '__construct() takes a static prefix as its second argument');
-        $this->assertEquals('regex', $compiled->getRegex(), '__construct() takes a regexp as its third argument');
-        $this->assertEquals(array('tokens'), $compiled->getTokens(), '__construct() takes an array of tokens as its fourth argument');
-        $this->assertEquals(array('variables'), $compiled->getVariables(), '__construct() takes an array of variables as its fifth argument');
-    }
-
-    public function testgetPatterngetDefaultsgetOptionsgetRequirements()
-    {
-        $route = new Route('/{foo}', array('foo' => 'bar'), array('foo' => '\d+'), array('foo' => 'bar'));
-
-        $compiled = new CompiledRoute($route, 'prefix', 'regex', array('tokens'), array('variables'));
-        $this->assertEquals('/{foo}', $compiled->getPattern(), '->getPattern() returns the route pattern');
-        $this->assertEquals(array('foo' => 'bar'), $compiled->getDefaults(), '->getDefaults() returns the route defaults');
-        $this->assertEquals(array('foo' => '\d+'), $compiled->getRequirements(), '->getRequirements() returns the route requirements');
-        $this->assertEquals(array_merge(array(
-            'compiler_class'     => 'Symfony\\Component\\Routing\\RouteCompiler',
-        ), array('foo' => 'bar')), $compiled->getOptions(), '->getOptions() returns the route options');
+        $compiled = new CompiledRoute('prefix', 'regex', array('tokens'), array('variables'));
+        $this->assertEquals('prefix', $compiled->getStaticPrefix(), '__construct() takes a static prefix as its first argument');
+        $this->assertEquals('regex', $compiled->getRegex(), '__construct() takes a regexp as its second argument');
+        $this->assertEquals(array('tokens'), $compiled->getTokens(), '__construct() takes an array of tokens as its third argument');
+        $this->assertEquals(array('variables'), $compiled->getVariables(), '__construct() takes an array of variables as its forth argument');
     }
 }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
new file mode 100644
index 000000000000..f217d5bcacf5
--- /dev/null
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Fixtures/withdoctype.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0"?>
+<!DOCTYPE foo>
+<foo></foo>
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
index 554ee1a88ba3..e6f217606da4 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/Tests/Loader/XmlFileLoaderTest.php
@@ -88,4 +88,14 @@ public function getPathsToInvalidFiles()
     {
         return array(array('nonvalidnode.xml'), array('nonvalidroute.xml'), array('nonvalid.xml'));
     }
+
+    /**
+     * @expectedException \InvalidArgumentException
+     * @expectedExceptionMessage Document types are not allowed.
+     */
+    public function testDocTypeIsNotAllowed()
+    {
+        $loader = new XmlFileLoader(new FileLocator(array(__DIR__.'/../Fixtures')));
+        $loader->load('withdoctype.xml');
+    }
 }
diff --git a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json b/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json
index 44869a369517..09706a6ff3a5 100644
--- a/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json
+++ b/core/vendor/symfony/routing/Symfony/Component/Routing/composer.json
@@ -33,6 +33,7 @@
         "psr-0": { "Symfony\\Component\\Routing": "" }
     },
     "target-dir": "Symfony/Component/Routing",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
index 233891698545..220cb3974256 100644
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
+++ b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Dumper.php
@@ -18,6 +18,23 @@
  */
 class Dumper
 {
+    /**
+     * The amount of spaces to use for indentation of nested nodes.
+     *
+     * @var integer
+     */
+    protected $indentation = 4;
+
+    /**
+     * Sets the indentation.
+     *
+     * @param integer $num The amount of spaces to use for intendation of nested nodes.
+     */
+    public function setIndentation($num)
+    {
+        $this->indentation = (int) $num;
+    }
+
     /**
      * Dumps a PHP value to YAML.
      *
@@ -44,7 +61,7 @@ public function dump($input, $inline = 0, $indent = 0)
                     $prefix,
                     $isAHash ? Inline::dump($key).':' : '-',
                     $willBeInlined ? ' ' : "\n",
-                    $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + 4)
+                    $this->dump($value, $inline - 1, $willBeInlined ? 0 : $indent + $this->indentation)
                 ).($willBeInlined ? "\n" : '');
             }
         }
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
index d35e67d62c02..85cdf3db66ec 100644
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
+++ b/core/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
@@ -97,14 +97,16 @@ public static function parse($input)
      *
      * @param array   $array  PHP array
      * @param integer $inline The level where you switch to inline YAML
+     * @param integer $indent The amount of spaces to use for indentation of nested nodes.
      *
      * @return string A YAML string representing the original PHP array
      *
      * @api
      */
-    public static function dump($array, $inline = 2)
+    public static function dump($array, $inline = 2, $indent = 4)
     {
         $yaml = new Dumper();
+        $yaml->setIndentation($indent);
 
         return $yaml->dump($array, $inline);
     }
diff --git a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json b/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
index c2894da6a325..88460ce34b70 100644
--- a/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
+++ b/core/vendor/symfony/yaml/Symfony/Component/Yaml/composer.json
@@ -22,6 +22,7 @@
         "psr-0": { "Symfony\\Component\\Yaml": "" }
     },
     "target-dir": "Symfony/Component/Yaml",
+    "minimum-stability": "dev",
     "extra": {
         "branch-alias": {
             "dev-master": "2.1-dev"
-- 
GitLab