diff --git src/composer.json src/composer.json
index 6742c64..09e1287 100644
--- src/composer.json
+++ src/composer.json
@@ -22,19 +22,25 @@
 		"source": "https://core.trac.wordpress.org/browser"
 	},
 	"require": {
-		"xrstf/composer-php52": "^1.0"
+		"schlessera/composer-wp-autoload": "^1"
 	},
 	"scripts": {
 		"post-install-cmd": [
-			"xrstf\\Composer52\\Generator::onPostInstallCmd"
+			"WordPress\\ComposerAutoload\\Generator::dump"
 		],
 		"post-update-cmd": [
-			"xrstf\\Composer52\\Generator::onPostInstallCmd"
+			"WordPress\\ComposerAutoload\\Generator::dump"
 		],
 		"post-autoload-dump": [
-			"xrstf\\Composer52\\Generator::onPostInstallCmd"
+			"WordPress\\ComposerAutoload\\Generator::dump"
 		]
 	},
+	"extra": {
+		"wordpress-autoloader": {
+			"class-root": "ABSPATH",
+			"case-sensitive": false
+		}
+	},
 	"autoload": {
 		"classmap": [
 			"wp-includes/",
diff --git src/composer.lock src/composer.lock
index b06c1af..8e4c10b 100644
--- src/composer.lock
+++ src/composer.lock
@@ -4,39 +4,35 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "hash": "a72f57ac77499086388d3fd01787fc07",
-    "content-hash": "4b675f5b2ea4e6f58fcbdf81132e35bb",
+    "hash": "1435a145ab49178a87b0f5526d17bbe9",
+    "content-hash": "98e6ce3147f1b052bd0e17517e6d858f",
     "packages": [
         {
-            "name": "xrstf/composer-php52",
-            "version": "v1.0.20",
+            "name": "schlessera/composer-wp-autoload",
+            "version": "v1.0.0",
             "source": {
                 "type": "git",
-                "url": "https://github.com/composer-php52/composer-php52.git",
-                "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
+                "url": "https://github.com/schlessera/composer-wp-autoload.git",
+                "reference": "922dfb27e57ae09b9541de2463fda592110e4f27"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
-                "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
+                "url": "https://api.github.com/repos/schlessera/composer-wp-autoload/zipball/922dfb27e57ae09b9541de2463fda592110e4f27",
+                "reference": "922dfb27e57ae09b9541de2463fda592110e4f27",
                 "shasum": ""
             },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-default": "1.x-dev"
-                }
-            },
             "autoload": {
-                "psr-0": {
-                    "xrstf\\Composer52": "lib/"
+                "psr-4": {
+                    "WordPress\\ComposerAutoload\\": "src"
                 }
             },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "MIT"
             ],
-            "time": "2016-04-16 21:52:24"
+            "description": "WordPress Core Autoloader for Composer.",
+            "time": "2016-08-30 10:56:09"
         }
     ],
     "packages-dev": [],
diff --git src/wp-settings.php src/wp-settings.php
index 93a48be..c8815ad 100644
--- src/wp-settings.php
+++ src/wp-settings.php
@@ -18,7 +18,7 @@
 define( 'WPINC', 'wp-includes' );
 
 // WordPress Core PHP 5.2-compatible Autoloader
-require_once( ABSPATH . 'wp-vendor/autoload_52.php' );
+require_once( ABSPATH . 'wp-vendor/autoload_wordpress.php' );
 
 // Include files required for initialization.
 require( ABSPATH . WPINC . '/load.php' );
diff --git src/wp-vendor/autoload_52.php src/wp-vendor/autoload_52.php
deleted file mode 100644
index d664386..0000000
--- src/wp-vendor/autoload_52.php
+++ /dev/null
@@ -1,7 +0,0 @@
-<?php
-
-// autoload_52.php generated by xrstf/composer-php52
-
-require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
-
-return ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9::getLoader();
diff --git src/wp-vendor/composer/ClassLoader52.php src/wp-vendor/composer/ClassLoader52.php
deleted file mode 100644
index d721c7e..0000000
--- src/wp-vendor/composer/ClassLoader52.php
+++ /dev/null
@@ -1,271 +0,0 @@
-<?php
-/*
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
- *
- * This file is released under the terms of the MIT license. You can find the
- * complete text in the attached LICENSE file or online at:
- *
- * http://www.opensource.org/licenses/mit-license.php
- *
- * --------------------------------------------------------------------------
- *
- * 99% of this is copied as-is from the original Composer source code and is
- * released under MIT license as well. Copyright goes to:
- *
- * - Fabien Potencier <fabien@symfony.com>
- * - Jordi Boggiano <j.boggiano@seld.be>
- */
-
-class xrstf_Composer52_ClassLoader {
-	private $prefixes              = array();
-	private $fallbackDirs          = array();
-	private $useIncludePath        = false;
-	private $classMap              = array();
-	private $classMapAuthoratative = false;
-	private $allowUnderscore       = false;
-
-	/**
-	 * @param boolean $flag  true to allow class names with a leading underscore, false to disable
-	 */
-	public function setAllowUnderscore($flag) {
-		$this->allowUnderscore = (boolean) $flag;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getPrefixes() {
-		return $this->prefixes;
-	}
-
-	/**
-	 * Turns off searching the prefix and fallback directories for classes
-	 * that have not been registered with the class map.
-	 *
-	 * @param bool $classMapAuthoratative
-	 */
-	public function setClassMapAuthoritative($classMapAuthoratative) {
-		$this->classMapAuthoratative = $classMapAuthoratative;
-	}
-
-	/**
-	 * Should class lookup fail if not found in the current class map?
-	 *
-	 * @return bool
-	 */
-	public function getClassMapAuthoratative() {
-		return $this->classMapAuthoratative;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getFallbackDirs() {
-		return $this->fallbackDirs;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getClassMap() {
-		return $this->classMap;
-	}
-
-	/**
-	 * @param array $classMap  class to filename map
-	 */
-	public function addClassMap(array $classMap) {
-		if ($this->classMap) {
-			$this->classMap = array_merge($this->classMap, $classMap);
-		}
-		else {
-			$this->classMap = $classMap;
-		}
-	}
-
-	/**
-	 * Registers a set of classes, merging with any others previously set.
-	 *
-	 * @param string       $prefix   the classes prefix
-	 * @param array|string $paths    the location(s) of the classes
-	 * @param bool         $prepend  prepend the location(s)
-	 */
-	public function add($prefix, $paths, $prepend = false) {
-		if (!$prefix) {
-			if ($prepend) {
-				$this->fallbackDirs = array_merge(
-					(array) $paths,
-					$this->fallbackDirs
-				);
-			}
-			else {
-				$this->fallbackDirs = array_merge(
-					$this->fallbackDirs,
-					(array) $paths
-				);
-			}
-
-			return;
-		}
-
-		if (!isset($this->prefixes[$prefix])) {
-			$this->prefixes[$prefix] = (array) $paths;
-			return;
-		}
-
-		if ($prepend) {
-			$this->prefixes[$prefix] = array_merge(
-				(array) $paths,
-				$this->prefixes[$prefix]
-			);
-		}
-		else {
-			$this->prefixes[$prefix] = array_merge(
-				$this->prefixes[$prefix],
-				(array) $paths
-			);
-		}
-	}
-
-	/**
-	 * Registers a set of classes, replacing any others previously set.
-	 *
-	 * @param string       $prefix  the classes prefix
-	 * @param array|string $paths   the location(s) of the classes
-	 */
-	public function set($prefix, $paths) {
-		if (!$prefix) {
-			$this->fallbackDirs = (array) $paths;
-			return;
-		}
-
-		$this->prefixes[$prefix] = (array) $paths;
-	}
-
-	/**
-	 * Turns on searching the include path for class files.
-	 *
-	 * @param bool $useIncludePath
-	 */
-	public function setUseIncludePath($useIncludePath) {
-		$this->useIncludePath = $useIncludePath;
-	}
-
-	/**
-	 * Can be used to check if the autoloader uses the include path to check
-	 * for classes.
-	 *
-	 * @return bool
-	 */
-	public function getUseIncludePath() {
-		return $this->useIncludePath;
-	}
-
-	/**
-	 * Registers this instance as an autoloader.
-	 */
-	public function register() {
-		spl_autoload_register(array($this, 'loadClass'), true);
-	}
-
-	/**
-	 * Unregisters this instance as an autoloader.
-	 */
-	public function unregister() {
-		spl_autoload_unregister(array($this, 'loadClass'));
-	}
-
-	/**
-	 * Loads the given class or interface.
-	 *
-	 * @param  string $class  the name of the class
-	 * @return bool|null      true, if loaded
-	 */
-	public function loadClass($class) {
-		if ($file = $this->findFile($class)) {
-			include $file;
-			return true;
-		}
-	}
-
-	/**
-	 * Finds the path to the file where the class is defined.
-	 *
-	 * @param  string $class  the name of the class
-	 * @return string|null    the path, if found
-	 */
-	public function findFile($class) {
-		if ('\\' === $class[0]) {
-			$class = substr($class, 1);
-		}
-
-		if (isset($this->classMap[$class])) {
-			return $this->classMap[$class];
-		}
-		elseif ($this->classMapAuthoratative) {
-			return false;
-		}
-
-		$classPath = $this->getClassPath($class);
-
-		foreach ($this->prefixes as $prefix => $dirs) {
-			if (0 === strpos($class, $prefix)) {
-				foreach ($dirs as $dir) {
-					if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-						return $dir.DIRECTORY_SEPARATOR.$classPath;
-					}
-				}
-			}
-		}
-
-		foreach ($this->fallbackDirs as $dir) {
-			if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-				return $dir.DIRECTORY_SEPARATOR.$classPath;
-			}
-		}
-
-		if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
-			return $file;
-		}
-
-		return $this->classMap[$class] = false;
-	}
-
-	private function getClassPath($class) {
-		if (false !== $pos = strrpos($class, '\\')) {
-			// namespaced class name
-			$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
-			$className = substr($class, $pos + 1);
-		}
-		else {
-			// PEAR-like class name
-			$classPath = null;
-			$className = $class;
-		}
-
-		$className = str_replace('_', DIRECTORY_SEPARATOR, $className);
-
-		// restore the prefix
-		if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
-			$className[0] = '_';
-		}
-
-		$classPath .= $className.'.php';
-
-		return $classPath;
-	}
-
-	public static function resolveIncludePath($classPath) {
-		$paths = explode(PATH_SEPARATOR, get_include_path());
-
-		foreach ($paths as $path) {
-			$path = rtrim($path, '/\\');
-
-			if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
-				return $file;
-			}
-		}
-
-		return false;
-	}
-}
diff --git src/wp-vendor/composer/autoload_classmap.php src/wp-vendor/composer/autoload_classmap.php
index 8182131..085acdd 100644
--- src/wp-vendor/composer/autoload_classmap.php
+++ src/wp-vendor/composer/autoload_classmap.php
@@ -170,6 +170,8 @@ return array(
     'Walker_Nav_Menu_Edit' => $baseDir . '/wp-admin/includes/class-walker-nav-menu-edit.php',
     'Walker_Page' => $baseDir . '/wp-includes/class-walker-page.php',
     'Walker_PageDropdown' => $baseDir . '/wp-includes/class-walker-page-dropdown.php',
+    'WordPress\\ComposerAutoload\\AutoloadGenerator' => $vendorDir . '/schlessera/composer-wp-autoload/src/AutoloadGenerator.php',
+    'WordPress\\ComposerAutoload\\Generator' => $vendorDir . '/schlessera/composer-wp-autoload/src/Generator.php',
     '_WP_Dependency' => $baseDir . '/wp-includes/class-wp-dependency.php',
     '_WP_Editors' => $baseDir . '/wp-includes/class-wp-editor.php',
     '_WP_List_Table_Compat' => $baseDir . '/wp-admin/includes/class-wp-list-table-compat.php',
@@ -179,6 +181,4 @@ return array(
     'ftp_sockets' => $baseDir . '/wp-admin/includes/class-ftp-sockets.php',
     'wp_xmlrpc_server' => $baseDir . '/wp-includes/class-wp-xmlrpc-server.php',
     'wpdb' => $baseDir . '/wp-includes/wp-db.php',
-    'xrstf\\Composer52\\AutoloadGenerator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php',
-    'xrstf\\Composer52\\Generator' => $vendorDir . '/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php',
 );
diff --git src/wp-vendor/composer/autoload_namespaces.php src/wp-vendor/composer/autoload_namespaces.php
index 420e846..b7fc012 100644
--- src/wp-vendor/composer/autoload_namespaces.php
+++ src/wp-vendor/composer/autoload_namespaces.php
@@ -6,5 +6,4 @@ $vendorDir = dirname(dirname(__FILE__));
 $baseDir = dirname($vendorDir);
 
 return array(
-    'xrstf\\Composer52' => array($vendorDir . '/xrstf/composer-php52/lib'),
 );
diff --git src/wp-vendor/composer/autoload_psr4.php src/wp-vendor/composer/autoload_psr4.php
index b265c64..cec9c7b 100644
--- src/wp-vendor/composer/autoload_psr4.php
+++ src/wp-vendor/composer/autoload_psr4.php
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
 $baseDir = dirname($vendorDir);
 
 return array(
+    'WordPress\\ComposerAutoload\\' => array($vendorDir . '/schlessera/composer-wp-autoload/src'),
 );
diff --git src/wp-vendor/composer/autoload_real_52.php src/wp-vendor/composer/autoload_real_52.php
deleted file mode 100644
index 2531a9f..0000000
--- src/wp-vendor/composer/autoload_real_52.php
+++ /dev/null
@@ -1,44 +0,0 @@
-<?php
-
-// autoload_real_52.php generated by xrstf/composer-php52
-
-class ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9 {
-	private static $loader;
-
-	public static function loadClassLoader($class) {
-		if ('xrstf_Composer52_ClassLoader' === $class) {
-			require dirname(__FILE__).'/ClassLoader52.php';
-		}
-	}
-
-	/**
-	 * @return xrstf_Composer52_ClassLoader
-	 */
-	public static function getLoader() {
-		if (null !== self::$loader) {
-			return self::$loader;
-		}
-
-		spl_autoload_register(array('ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9', 'loadClassLoader'), true /*, true */);
-		self::$loader = $loader = new xrstf_Composer52_ClassLoader();
-		spl_autoload_unregister(array('ComposerAutoloaderInit1dd196791ebd0cfea0668c22edc062f9', 'loadClassLoader'));
-
-		$vendorDir = dirname(dirname(__FILE__));
-		$baseDir   = dirname($vendorDir);
-		$dir       = dirname(__FILE__);
-
-		$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(true);
-
-		return $loader;
-	}
-}
diff --git src/wp-vendor/composer/installed.json src/wp-vendor/composer/installed.json
index fa402a9..af752cb 100644
--- src/wp-vendor/composer/installed.json
+++ src/wp-vendor/composer/installed.json
@@ -1,35 +1,31 @@
 [
     {
-        "name": "xrstf/composer-php52",
-        "version": "v1.0.20",
-        "version_normalized": "1.0.20.0",
+        "name": "schlessera/composer-wp-autoload",
+        "version": "v1.0.0",
+        "version_normalized": "1.0.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/composer-php52/composer-php52.git",
-            "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8"
+            "url": "https://github.com/schlessera/composer-wp-autoload.git",
+            "reference": "922dfb27e57ae09b9541de2463fda592110e4f27"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/composer-php52/composer-php52/zipball/bd41459d5e27df8d33057842b32377c39e97a5a8",
-            "reference": "bd41459d5e27df8d33057842b32377c39e97a5a8",
+            "url": "https://api.github.com/repos/schlessera/composer-wp-autoload/zipball/922dfb27e57ae09b9541de2463fda592110e4f27",
+            "reference": "922dfb27e57ae09b9541de2463fda592110e4f27",
             "shasum": ""
         },
-        "time": "2016-04-16 21:52:24",
+        "time": "2016-08-30 10:56:09",
         "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-default": "1.x-dev"
-            }
-        },
         "installation-source": "dist",
         "autoload": {
-            "psr-0": {
-                "xrstf\\Composer52": "lib/"
+            "psr-4": {
+                "WordPress\\ComposerAutoload\\": "src"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
             "MIT"
-        ]
+        ],
+        "description": "WordPress Core Autoloader for Composer."
     }
 ]
diff --git src/wp-vendor/xrstf/composer-php52/LICENSE src/wp-vendor/xrstf/composer-php52/LICENSE
deleted file mode 100644
index 0e81028..0000000
--- src/wp-vendor/xrstf/composer-php52/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright (c) 2013 Christoph Mewes
-
-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 src/wp-vendor/xrstf/composer-php52/README.md src/wp-vendor/xrstf/composer-php52/README.md
deleted file mode 100644
index e0b6cda..0000000
--- src/wp-vendor/xrstf/composer-php52/README.md
+++ /dev/null
@@ -1,37 +0,0 @@
-PHP 5.2 Autoloading for Composer
-================================
-
-This package provides an easy way to get a PHP 5.2 compatible autoloader out of Composer. The generated autoloader is fully compatible to the original and is written into separate files, each ending with `_52.php`.
-
-Legacy
-------
-
-Please do not use this, if you can avoid it. It's a horrible hack, often breaks and is extremely tied to Composer's interna. This package was originally developed in 2012, when PHP 5.2 was much more common on cheap webhosts.
-
-In 2016, this package has been moved from Bitbucket to a Github organization, because the original developer could no longer reliably maintain it. This is the reason for this legacy package name ``xrstf/...``.
-
-Usage
------
-
-In your project's `composer.json`, add the following lines:
-
-```json
-{
-    "require": {
-        "xrstf/composer-php52": "1.*"
-    },
-    "scripts": {
-        "post-install-cmd": [
-            "xrstf\\Composer52\\Generator::onPostInstallCmd"
-        ],
-        "post-update-cmd": [
-            "xrstf\\Composer52\\Generator::onPostInstallCmd"
-        ],
-        "post-autoload-dump": [
-            "xrstf\\Composer52\\Generator::onPostInstallCmd"
-        ]
-    }
-}
-```
-
-After the next update/install, you will have a `vendor/autoload_52.php` file, that you can simply include and use in PHP 5.2 projects.
diff --git src/wp-vendor/xrstf/composer-php52/composer.json src/wp-vendor/xrstf/composer-php52/composer.json
deleted file mode 100644
index c6d6a9e..0000000
--- src/wp-vendor/xrstf/composer-php52/composer.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-    "name": "xrstf/composer-php52",
-    "license": "MIT",
-    "support": {
-        "source": "https://github.com/composer-php52/composer-php52",
-        "issues": "https://github.com/composer-php52/composer-php52/issues"
-    },
-    "autoload": {
-        "psr-0": {
-            "xrstf\\Composer52": "lib/"
-        }
-    },
-    "scripts": {
-        "post-install-cmd": [
-            "xrstf\\Composer52\\Generator::onPostInstallCmd"
-        ],
-        "post-update-cmd": [
-            "xrstf\\Composer52\\Generator::onPostInstallCmd"
-        ]
-    },
-    "extra": {
-        "branch-alias": {
-            "dev-default": "1.x-dev"
-        }
-    }
-}
diff --git src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php
deleted file mode 100644
index 2e93e6f..0000000
--- src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/AutoloadGenerator.php
+++ /dev/null
@@ -1,346 +0,0 @@
-<?php
-/*
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
- *
- * This file is released under the terms of the MIT license. You can find the
- * complete text in the attached LICENSE file or online at:
- *
- * http://www.opensource.org/licenses/mit-license.php
- *
- * --------------------------------------------------------------------------
- *
- * 99% of this is copied as-is from the original Composer source code and is
- * released under MIT license as well. Copyright goes to:
- *
- * - Igor Wiedler <igor@wiedler.ch>
- * - Jordi Boggiano <j.boggiano@seld.be>
- */
-
-namespace xrstf\Composer52;
-
-use Composer\Autoload\AutoloadGenerator as BaseGenerator;
-use Composer\Autoload\ClassMapGenerator;
-use Composer\Config;
-use Composer\Installer\InstallationManager;
-use Composer\Package\AliasPackage;
-use Composer\Package\PackageInterface;
-use Composer\Repository\InstalledRepositoryInterface;
-use Composer\Util\Filesystem;
-
-class AutoloadGenerator extends BaseGenerator {
-
-	/**
-	 * @var bool
-	 */
-	private $classMapAuthoritative = false;
-
-	public function __construct() {
-		// do nothing (but keep this constructor so we can build an instance without the need for an event dispatcher)
-	}
-
-	/**
-	 * Whether or not generated autoloader considers the class map
-	 * authoritative.
-	 *
-	 * @param bool $classMapAuthoritative
-	 */
-	public function setClassMapAuthoritative($classMapAuthoritative)
-	{
-		$this->classMapAuthoritative = (boolean) $classMapAuthoritative;
-	}
-
-	public function dump(Config $config, InstalledRepositoryInterface $localRepo, PackageInterface $mainPackage, InstallationManager $installationManager, $targetDir, $scanPsr0Packages = false, $suffix = '') {
-		if ($this->classMapAuthoritative) {
-			// Force scanPsr0Packages when classmap is authoritative
-			$scanPsr0Packages = true;
-		}
-
-		$filesystem = new Filesystem();
-		$filesystem->ensureDirectoryExists($config->get('vendor-dir'));
-
-		$cwd        = getcwd();
-		$basePath   = $filesystem->normalizePath($cwd);
-		$vendorPath = $filesystem->normalizePath(realpath($config->get('vendor-dir')));
-		$targetDir  = $vendorPath.'/'.$targetDir;
-		$filesystem->ensureDirectoryExists($targetDir);
-
-		$useGlobalIncludePath  = (bool) $config->get('use-include-path');
-		$prependAutoloader     = $config->get('prepend-autoloader') === false ? 'false' : 'true';
-		$classMapAuthoritative = $config->get('classmap-authoritative');
-
-		$vendorPathCode            = $filesystem->findShortestPathCode(realpath($targetDir), $vendorPath, true);
-		$vendorPathToTargetDirCode = $filesystem->findShortestPathCode($vendorPath, realpath($targetDir), true);
-
-		$appBaseDirCode = $filesystem->findShortestPathCode($vendorPath, $basePath, true);
-		$appBaseDirCode = str_replace('__DIR__', '$vendorDir', $appBaseDirCode);
-
-		// add 5.2 compat
-		$vendorPathCode            = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathCode);
-		$vendorPathToTargetDirCode = str_replace('__DIR__', 'dirname(__FILE__)', $vendorPathToTargetDirCode);
-
-		$packageMap = $this->buildPackageMap($installationManager, $mainPackage, $localRepo->getCanonicalPackages());
-		$autoloads = $this->parseAutoloads($packageMap, $mainPackage);
-
-		// add custom psr-0 autoloading if the root package has a target dir
-		$targetDirLoader = null;
-		$mainAutoload = $mainPackage->getAutoload();
-		if ($mainPackage->getTargetDir() && !empty($mainAutoload['psr-0'])) {
-			$levels   = count(explode('/', $filesystem->normalizePath($mainPackage->getTargetDir())));
-			$prefixes = implode(', ', array_map(function ($prefix) {
-				return var_export($prefix, true);
-			}, array_keys($mainAutoload['psr-0'])));
-
-			$baseDirFromTargetDirCode = $filesystem->findShortestPathCode($targetDir, $basePath, true);
-
-			$targetDirLoader = <<<EOF
-
-	public static function autoload(\$class) {
-		\$dir      = $baseDirFromTargetDirCode.'/';
-		\$prefixes = array($prefixes);
-
-		foreach (\$prefixes as \$prefix) {
-			if (0 !== strpos(\$class, \$prefix)) {
-				continue;
-			}
-
-			\$path = explode(DIRECTORY_SEPARATOR, self::getClassPath(\$class));
-			\$path = \$dir.implode('/', array_slice(\$path, $levels));
-
-			if (!\$path = self::resolveIncludePath(\$path)) {
-				return false;
-			}
-
-			require \$path;
-			return true;
-		}
-	}
-
-EOF;
-		}
-
-		$filesCode = "";
-		$autoloads['files'] = new \RecursiveIteratorIterator(new \RecursiveArrayIterator($autoloads['files']));
-		foreach ($autoloads['files'] as $functionFile) {
-			// don't include file if it is using PHP 5.3+ syntax
-			// https://bitbucket.org/xrstf/composer-php52/issue/4
-			if ($this->isPHP53($functionFile)) {
-				$filesCode .= '//		require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile)."; // disabled because of PHP 5.3 syntax\n";
-			}
-			else {
-				$filesCode .= '		require '.$this->getPathCode($filesystem, $basePath, $vendorPath, $functionFile).";\n";
-			}
-		}
-
-		if (!$suffix) {
-			$suffix = md5(uniqid('', true));
-		}
-
-		$includePathFile = $this->getIncludePathsFile($packageMap, $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode);
-
-		file_put_contents($vendorPath.'/autoload_52.php', $this->getAutoloadFile($vendorPathToTargetDirCode, $suffix));
-		file_put_contents($targetDir.'/autoload_real_52.php', $this->getAutoloadRealFile(true, (bool) $includePathFile, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader));
-
-		// use stream_copy_to_stream instead of copy
-		// to work around https://bugs.php.net/bug.php?id=64634
-		$sourceLoader = fopen(__DIR__.'/ClassLoader.php', 'r');
-		$targetLoader = fopen($targetDir.'/ClassLoader52.php', 'w+');
-		stream_copy_to_stream($sourceLoader, $targetLoader);
-		fclose($sourceLoader);
-		fclose($targetLoader);
-		unset($sourceLoader, $targetLoader);
-	}
-
-	protected function isPHP53($file) {
-		$tokens = token_get_all(file_get_contents($file));
-		$php53  = array(T_DIR, T_GOTO, T_NAMESPACE, T_NS_C, T_NS_SEPARATOR, T_USE);
-
-		// PHP 5.4+
-		if (defined('T_TRAIT')) {
-			$php53[] = T_TRAIT;
-			$php53[] = T_TRAIT_C;
-			$php53[] = T_TRAIT_C;
-		}
-
-		// PHP 5.5+
-		if (defined('T_FINALLY')) {
-			$php53[] = T_FINALLY;
-			$php53[] = T_YIELD;
-		}
-
-		foreach ($tokens as $token) {
-			if (is_array($token) && in_array($token[0], $php53)) {
-				return true;
-			}
-		}
-
-		return false;
-	}
-
-	protected function getIncludePathsFile(array $packageMap, Filesystem $filesystem, $basePath, $vendorPath, $vendorPathCode, $appBaseDirCode) {
-		$includePaths = array();
-
-		foreach ($packageMap as $item) {
-			list($package, $installPath) = $item;
-
-			if (null !== $package->getTargetDir() && strlen($package->getTargetDir()) > 0) {
-				$installPath = substr($installPath, 0, -strlen('/'.$package->getTargetDir()));
-			}
-
-			foreach ($package->getIncludePaths() as $includePath) {
-				$includePath = trim($includePath, '/');
-				$includePaths[] = empty($installPath) ? $includePath : $installPath.'/'.$includePath;
-			}
-		}
-
-		if (!$includePaths) {
-			return;
-		}
-
-		$includePathsFile = <<<EOF
-<?php
-
-// include_paths_52.php generated by xrstf/composer-php52
-
-\$vendorDir = $vendorPathCode;
-\$baseDir = $appBaseDirCode;
-
-return array(
-
-EOF;
-
-		foreach ($includePaths as $path) {
-			$includePathsFile .= "\t" . $this->getPathCode($filesystem, $basePath, $vendorPath, $path) . ",\n";
-		}
-
-		return $includePathsFile . ");\n";
-	}
-
-	protected function getAutoloadFile($vendorPathToTargetDirCode, $suffix) {
-		return <<<AUTOLOAD
-<?php
-
-// autoload_52.php generated by xrstf/composer-php52
-
-require_once $vendorPathToTargetDirCode.'/autoload_real_52.php';
-
-return ComposerAutoloaderInit$suffix::getLoader();
-
-AUTOLOAD;
-	}
-
-	protected function getAutoloadRealFile($useClassMap, $useIncludePath, $targetDirLoader, $filesCode, $vendorPathCode, $appBaseDirCode, $suffix, $useGlobalIncludePath, $prependAutoloader, $staticPhpVersion = 70000) {
-		// TODO the class ComposerAutoloaderInit should be revert to a closure
-		// when APC has been fixed:
-		// - https://github.com/composer/composer/issues/959
-		// - https://bugs.php.net/bug.php?id=52144
-		// - https://bugs.php.net/bug.php?id=61576
-		// - https://bugs.php.net/bug.php?id=59298
-
-		if ($filesCode) {
-				$filesCode = "\n\n".rtrim($filesCode);
-		}
-
-		$file = <<<HEADER
-<?php
-
-// autoload_real_52.php generated by xrstf/composer-php52
-
-class ComposerAutoloaderInit$suffix {
-	private static \$loader;
-
-	public static function loadClassLoader(\$class) {
-		if ('xrstf_Composer52_ClassLoader' === \$class) {
-			require dirname(__FILE__).'/ClassLoader52.php';
-		}
-	}
-
-	/**
-	 * @return xrstf_Composer52_ClassLoader
-	 */
-	public static function getLoader() {
-		if (null !== self::\$loader) {
-			return self::\$loader;
-		}
-
-		spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'), true /*, true */);
-		self::\$loader = \$loader = new xrstf_Composer52_ClassLoader();
-		spl_autoload_unregister(array('ComposerAutoloaderInit$suffix', 'loadClassLoader'));
-
-		\$vendorDir = $vendorPathCode;
-		\$baseDir   = $appBaseDirCode;
-		\$dir       = dirname(__FILE__);
-
-
-HEADER;
-
-		if ($useIncludePath) {
-			$file .= <<<'INCLUDE_PATH'
-		$includePaths = require $dir.'/include_paths.php';
-		array_push($includePaths, get_include_path());
-		set_include_path(implode(PATH_SEPARATOR, $includePaths));
-
-
-INCLUDE_PATH;
-		}
-
-		$file .= <<<'PSR0'
-		$map = require $dir.'/autoload_namespaces.php';
-		foreach ($map as $namespace => $path) {
-			$loader->add($namespace, $path);
-		}
-
-
-PSR0;
-
-		if ($useClassMap) {
-			$file .= <<<'CLASSMAP'
-		$classMap = require $dir.'/autoload_classmap.php';
-		if ($classMap) {
-			$loader->addClassMap($classMap);
-		}
-
-
-CLASSMAP;
-		}
-
-		if ($this->classMapAuthoritative) {
-			$file .= <<<'CLASSMAPAUTHORITATIVE'
-		$loader->setClassMapAuthoritative(true);
-
-CLASSMAPAUTHORITATIVE;
-		}
-
-		if ($useGlobalIncludePath) {
-			$file .= <<<'INCLUDEPATH'
-		$loader->setUseIncludePath(true);
-
-
-INCLUDEPATH;
-		}
-
-		if ($targetDirLoader) {
-			$file .= <<<REGISTER_AUTOLOAD
-		spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true);
-
-
-REGISTER_AUTOLOAD;
-
-		}
-
-		$file .= <<<METHOD_FOOTER
-		\$loader->register($prependAutoloader);{$filesCode}
-
-		return \$loader;
-	}
-
-METHOD_FOOTER;
-
-		$file .= $targetDirLoader;
-
-		return $file . <<<FOOTER
-}
-
-FOOTER;
-
-	}
-}
diff --git src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php
deleted file mode 100644
index d721c7e..0000000
--- src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/ClassLoader.php
+++ /dev/null
@@ -1,271 +0,0 @@
-<?php
-/*
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
- *
- * This file is released under the terms of the MIT license. You can find the
- * complete text in the attached LICENSE file or online at:
- *
- * http://www.opensource.org/licenses/mit-license.php
- *
- * --------------------------------------------------------------------------
- *
- * 99% of this is copied as-is from the original Composer source code and is
- * released under MIT license as well. Copyright goes to:
- *
- * - Fabien Potencier <fabien@symfony.com>
- * - Jordi Boggiano <j.boggiano@seld.be>
- */
-
-class xrstf_Composer52_ClassLoader {
-	private $prefixes              = array();
-	private $fallbackDirs          = array();
-	private $useIncludePath        = false;
-	private $classMap              = array();
-	private $classMapAuthoratative = false;
-	private $allowUnderscore       = false;
-
-	/**
-	 * @param boolean $flag  true to allow class names with a leading underscore, false to disable
-	 */
-	public function setAllowUnderscore($flag) {
-		$this->allowUnderscore = (boolean) $flag;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getPrefixes() {
-		return $this->prefixes;
-	}
-
-	/**
-	 * Turns off searching the prefix and fallback directories for classes
-	 * that have not been registered with the class map.
-	 *
-	 * @param bool $classMapAuthoratative
-	 */
-	public function setClassMapAuthoritative($classMapAuthoratative) {
-		$this->classMapAuthoratative = $classMapAuthoratative;
-	}
-
-	/**
-	 * Should class lookup fail if not found in the current class map?
-	 *
-	 * @return bool
-	 */
-	public function getClassMapAuthoratative() {
-		return $this->classMapAuthoratative;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getFallbackDirs() {
-		return $this->fallbackDirs;
-	}
-
-	/**
-	 * @return array
-	 */
-	public function getClassMap() {
-		return $this->classMap;
-	}
-
-	/**
-	 * @param array $classMap  class to filename map
-	 */
-	public function addClassMap(array $classMap) {
-		if ($this->classMap) {
-			$this->classMap = array_merge($this->classMap, $classMap);
-		}
-		else {
-			$this->classMap = $classMap;
-		}
-	}
-
-	/**
-	 * Registers a set of classes, merging with any others previously set.
-	 *
-	 * @param string       $prefix   the classes prefix
-	 * @param array|string $paths    the location(s) of the classes
-	 * @param bool         $prepend  prepend the location(s)
-	 */
-	public function add($prefix, $paths, $prepend = false) {
-		if (!$prefix) {
-			if ($prepend) {
-				$this->fallbackDirs = array_merge(
-					(array) $paths,
-					$this->fallbackDirs
-				);
-			}
-			else {
-				$this->fallbackDirs = array_merge(
-					$this->fallbackDirs,
-					(array) $paths
-				);
-			}
-
-			return;
-		}
-
-		if (!isset($this->prefixes[$prefix])) {
-			$this->prefixes[$prefix] = (array) $paths;
-			return;
-		}
-
-		if ($prepend) {
-			$this->prefixes[$prefix] = array_merge(
-				(array) $paths,
-				$this->prefixes[$prefix]
-			);
-		}
-		else {
-			$this->prefixes[$prefix] = array_merge(
-				$this->prefixes[$prefix],
-				(array) $paths
-			);
-		}
-	}
-
-	/**
-	 * Registers a set of classes, replacing any others previously set.
-	 *
-	 * @param string       $prefix  the classes prefix
-	 * @param array|string $paths   the location(s) of the classes
-	 */
-	public function set($prefix, $paths) {
-		if (!$prefix) {
-			$this->fallbackDirs = (array) $paths;
-			return;
-		}
-
-		$this->prefixes[$prefix] = (array) $paths;
-	}
-
-	/**
-	 * Turns on searching the include path for class files.
-	 *
-	 * @param bool $useIncludePath
-	 */
-	public function setUseIncludePath($useIncludePath) {
-		$this->useIncludePath = $useIncludePath;
-	}
-
-	/**
-	 * Can be used to check if the autoloader uses the include path to check
-	 * for classes.
-	 *
-	 * @return bool
-	 */
-	public function getUseIncludePath() {
-		return $this->useIncludePath;
-	}
-
-	/**
-	 * Registers this instance as an autoloader.
-	 */
-	public function register() {
-		spl_autoload_register(array($this, 'loadClass'), true);
-	}
-
-	/**
-	 * Unregisters this instance as an autoloader.
-	 */
-	public function unregister() {
-		spl_autoload_unregister(array($this, 'loadClass'));
-	}
-
-	/**
-	 * Loads the given class or interface.
-	 *
-	 * @param  string $class  the name of the class
-	 * @return bool|null      true, if loaded
-	 */
-	public function loadClass($class) {
-		if ($file = $this->findFile($class)) {
-			include $file;
-			return true;
-		}
-	}
-
-	/**
-	 * Finds the path to the file where the class is defined.
-	 *
-	 * @param  string $class  the name of the class
-	 * @return string|null    the path, if found
-	 */
-	public function findFile($class) {
-		if ('\\' === $class[0]) {
-			$class = substr($class, 1);
-		}
-
-		if (isset($this->classMap[$class])) {
-			return $this->classMap[$class];
-		}
-		elseif ($this->classMapAuthoratative) {
-			return false;
-		}
-
-		$classPath = $this->getClassPath($class);
-
-		foreach ($this->prefixes as $prefix => $dirs) {
-			if (0 === strpos($class, $prefix)) {
-				foreach ($dirs as $dir) {
-					if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-						return $dir.DIRECTORY_SEPARATOR.$classPath;
-					}
-				}
-			}
-		}
-
-		foreach ($this->fallbackDirs as $dir) {
-			if (file_exists($dir.DIRECTORY_SEPARATOR.$classPath)) {
-				return $dir.DIRECTORY_SEPARATOR.$classPath;
-			}
-		}
-
-		if ($this->useIncludePath && $file = self::resolveIncludePath($classPath)) {
-			return $file;
-		}
-
-		return $this->classMap[$class] = false;
-	}
-
-	private function getClassPath($class) {
-		if (false !== $pos = strrpos($class, '\\')) {
-			// namespaced class name
-			$classPath = str_replace('\\', DIRECTORY_SEPARATOR, substr($class, 0, $pos)).DIRECTORY_SEPARATOR;
-			$className = substr($class, $pos + 1);
-		}
-		else {
-			// PEAR-like class name
-			$classPath = null;
-			$className = $class;
-		}
-
-		$className = str_replace('_', DIRECTORY_SEPARATOR, $className);
-
-		// restore the prefix
-		if ($this->allowUnderscore && DIRECTORY_SEPARATOR === $className[0]) {
-			$className[0] = '_';
-		}
-
-		$classPath .= $className.'.php';
-
-		return $classPath;
-	}
-
-	public static function resolveIncludePath($classPath) {
-		$paths = explode(PATH_SEPARATOR, get_include_path());
-
-		foreach ($paths as $path) {
-			$path = rtrim($path, '/\\');
-
-			if ($file = file_exists($path.DIRECTORY_SEPARATOR.$file)) {
-				return $file;
-			}
-		}
-
-		return false;
-	}
-}
diff --git src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php
deleted file mode 100644
index 7c8af4d..0000000
--- src/wp-vendor/xrstf/composer-php52/lib/xrstf/Composer52/Generator.php
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/*
- * Copyright (c) 2013, Christoph Mewes, http://www.xrstf.de
- *
- * This file is released under the terms of the MIT license. You can find the
- * complete text in the attached LICENSE file or online at:
- *
- * http://www.opensource.org/licenses/mit-license.php
- */
-
-namespace xrstf\Composer52;
-
-use Composer\Repository\CompositeRepository;
-use Composer\Script\Event;
-
-class Generator {
-	public static function onPostInstallCmd(Event $event) {
-		$composer            = $event->getComposer();
-		$installationManager = $composer->getInstallationManager();
-		$repoManager         = $composer->getRepositoryManager();
-		$localRepo           = $repoManager->getLocalRepository();
-		$package             = $composer->getPackage();
-		$config              = $composer->getConfig();
-
-		// We can't gain access to the Command's input object, so we have to look
-		// for -o / --optimize-autoloader ourselves. Sadly, neither getopt() works
-		// (always returns an empty array), nor does Symfony's Console Input, as
-		// it expects a full definition of the current command line and we can't
-		// provide that.
-
-		$args     = $_SERVER['argv'];
-		$optimize = in_array('-o', $args) || in_array('--optimize-autoloader', $args) || in_array('--optimize', $args);
-
-		$suffix   = $config->get('autoloader-suffix');
-
-		$generator = new AutoloadGenerator();
-		$generator->dump($config, $localRepo, $package, $installationManager, 'composer', $optimize, $suffix);
-	}
-}
