0p07ЌLR16pG70E6Ќp66%h6X6Xq6-5Ъ707Ќpq66X7Ќ00`7Ќ`0p47Ќ0 60X7Ќ pP7 Y5I^:7`;7Q#ᆳ=706n+P7]5 0@4ЌP0635s6Xs6 t6s6s6Xs6h"7 Xs6s6h"74Xs6s6h"75"7s6Xs6s6h"7t6t66Xr6"766A 6600u6kyztepxjaz-dcked7m2gvkgva0e6ƞ10e6ƞЌ0 v610e6ƞЌ 0I4a0e6ƞЌ1)6`L4p Y4pu6@S6`4!!ᆳ3!6ƞ4 ᆳ46ƞp4 ᆳ@5A'66`*4ᆳ2pp6p6~3pd4 ᆳP3a'6ƞ_4ᆳ4'6ƞ@43ᆳ4'6ƞ3P4 ᆳ46'6ƞ 4e5ᆳ@4'6ƞ3C6ᆳ51'6ƞ4p4 ᆳ47@B6Ќ{675 0717ƞЌp728 p>8 ᆳ+8)8487v7 7J57ᆳ@7@5p176@6}6a57 @p6ƞ! 7ƞ`6 ~6@~6~6}6!6 &6 6ƞ3!3ƞ`@ #6'!ƞƞq6(5&6q6T6036p4a3 4 4ƞ6Ap~6ƞ p6ƞ` 4@6trigger_deprecation($deprecation['package'], $deprecation['version'], $deprecation['message']); } $visited[] = $name; $name = $alias->getId(); } return $this->routes[$name] ?? null; } /** * Removes a route or an array of routes by name from the collection. * * @param string|string[] $name The route name or an array of route names */ public function remove($name) { $routes = []; foreach ((array) $name as $n) { if (isset($this->routes[$n])) { $routes[] = $n; } unset($this->routes[$n], $this->priorities[$n], $this->aliases[$n]); } if (!$routes) { return; } foreach ($this->aliases as $k => $alias) { if (\in_array($alias->getId(), $routes, true)) { unset($this->aliases[$k]); } } } /** * Adds a route collection at the end of the current set by appending all * routes of the added collection. */ public function addCollection(self $collection) { // we need to remove all routes with the same names first because just replacing them // would not place the new route at the end of the merged array foreach ($collection->all() as $name => $route) { unset($this->routes[$name], $this->priorities[$name], $this->aliases[$name]); $this->routes[$name] = $route; if (isset($collection->priorities[$name])) { $this->priorities[$name] = $collection->priorities[$name]; } } foreach ($collection->getAliases() as $name => $alias) { unset($this->routes[$name], $this->priorities[$name], $this->aliases[$name]); $this->aliases[$name] = $alias; } foreach ($collection->getResources() as $resource) { $this->addResource($resource); } } /** * Adds a prefix to the path of all child routes. */ public function addPrefix(string $prefix, array $defaults = [], array $requirements = []) { $prefix = trim(trim($prefix), '/'); if ('' === $prefix) { return; } foreach ($this->routes as $route) { $route->setPath('/'.$prefix.$route->getPath()); $route->addDefaults($defaults); $route->addRequirements($requirements); } } /** * Adds a prefix to the name of all the routes within in the collection. */ public function addNamePrefix(string $prefix) { $prefixedRoutes = []; $prefixedPriorities = []; $prefixedAliases = []; foreach ($this->routes as $name => $route) { $prefixedRoutes[$prefix.$name] = $route; if (null !== $canonicalName = $route->getDefault('_canonical_route')) { $route->setDefault('_canonical_route', $prefix.$canonicalName); } if (isset($this->priorities[$name])) { $prefixedPriorities[$prefix.$name] = $this->priorities[$name]; } } foreach ($this->aliases as $name => $alias) { $prefixedAliases[$prefix.$name] = $alias->withId($prefix.$alias->getId()); } $this->routes = $prefixedRoutes; $this->priorities = $prefixedPriorities; $this->aliases = $prefixedAliases; } /** * Sets the host pattern on all routes. */ public function setHost(?string $pattern, array $defaults = [], array $requirements = []) { foreach ($this->routes as $route) { $route->setHost($pattern); $route->addDefaults($defaults); $route->addRequirements($requirements); } } /** * Sets a condition on all routes. * * Existing conditions will be overridden. */ public function setCondition(?string $condition) { foreach ($this->routes as $route) { $route->setCondition($condition); } } /** * Adds defaults to all routes. * * An existing default value under the same name in a route will be overridden. */ public function addDefaults(array $defaults) { if ($defaults) { foreach ($this->routes as $route) { $route->addDefaults($defaults); } } } /** * Adds requirements to all routes. * * An existing requirement under the same name in a route will be overridden. */ public function addRequirements(array $requirements) { if ($requirements) { foreach ($this->routes as $route) { $route->addRequirements($requirements); } } } /** * Adds options to all routes. * * An existing option value under the same name in a route will be overridden. */ public function addOptions(array $options) { if ($options) { foreach ($this->routes as $route) { $route->addOptions($options); } } } /** * Sets the schemes (e.g. 'https') all child routes are restricted to. * * @param string|string[] $schemes The scheme or an array of schemes */ public function setSchemes($schemes) { foreach ($this->routes as $route) { $route->setSchemes($schemes); } } /** * Sets the HTTP methods (e.g. 'POST') all child routes are restricted to. * * @param string|string[] $methods The method or an array of methods */ public function setMethods($methods) { foreach ($this->routes as $route) { $route->setMethods($methods); } } /** * Returns an array of resources loaded to build this collection. * * @return ResourceInterface[] */ public function getResources() { return array_values($this->resources); } /** * Adds a resource for this collection. If the resource already exists * it is not added. */ public function addResource(ResourceInterface $resource) { $key = (string) $resource; if (!isset($this->resources[$key])) { $this->resources[$key] = $resource; } } /** * Sets an alias for an existing route. * * @param string $name The alias to create * @param string $alias The route to alias * * @throws InvalidArgumentException if the alias is for itself */ public function addAlias(string $name, string $alias): Alias { if ($name === $alias) { throw new InvalidArgumentException(sprintf('Route alias "%s" can not reference itself.', $name)); } unset($this->routes[$name], $this->priorities[$name]); return $this->aliases[$name] = new Alias($alias); } /** * @return array */ public function getAliases(): array { return $this->aliases; } public function getAlias(string $name): ?Alias { return $this->aliases[$name] ?? null; } public function getPriority(string $name): ?int { return $this->priorities[$name] ?? null; } } An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.

An Error Occurred: Internal Server Error

Oops! An Error Occurred

The server returned a "500 Internal Server Error".

Something is broken. Please let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.