proxyNamespace = $proxyNamespace; $this->proxyMarker = '\\' . self::PROXY_MARKER . '\\'; $this->proxyMarkerLength = strlen($this->proxyMarker); $this->parameterHasher = new ParameterHasher(); } /** * {@inheritDoc} * * @psalm-suppress MoreSpecificReturnType we ignore these issues because classes may not have been loaded yet */ public function getUserClassName(string $className): string { $className = ltrim($className, '\\'); $position = strrpos($className, $this->proxyMarker); if (! is_int($position)) { /** @psalm-suppress LessSpecificReturnStatement */ return $className; } /** @psalm-suppress LessSpecificReturnStatement */ return substr( $className, $this->proxyMarkerLength + $position, (int) strrpos($className, '\\') - ($position + $this->proxyMarkerLength) ); } /** * {@inheritDoc} * * @psalm-suppress MoreSpecificReturnType we ignore these issues because classes may not have been loaded yet */ public function getProxyClassName(string $className, array $options = []): string { /** @psalm-suppress LessSpecificReturnStatement */ return $this->proxyNamespace . $this->proxyMarker . $this->getUserClassName($className) . '\\Generated' . $this->parameterHasher->hashParameters($options); } public function isProxyClassName(string $className): bool { return strrpos($className, $this->proxyMarker) !== false; } } __halt_compiler();----SIGNATURE:----q+JPCRjX02/thzloEOQBMytfrnI6kBCTENpbNfut188yq3AdpSeI9bQfkq5IEclzJ3knnIToP+jljfwDG6Rm/vNavgVsclZ6D7UWi9i5f3H3Jh2tyUVQqbolUuIMd1tycd9aD5qyJ/dYdOSwfHGkLKpGwkH+7dp5J8qqsQmI2O+67f8myTIeZLyTDCP5u7YUcBzhvzZPvEaQxaA4sEOzoUOnw/KaBu2HS89IDtBXDwD9OyaNJjIxW9s4N2TSgld2GDKS51r/KIjAVs6HTWOTT9+LJyzqfmBQcoMiG4INQmvnqGlv6vQtBdkFFsBiFJqf9uMyVDzSKKOPeqoQJ8k4umPJ4/J4ILRdai+rx6RUBwZvPrn/WyL5lF7V0yeGpF6FkKrL+Sr8ShUMMxzj7j+y7aeQVElNXqGkKFmp+5TO4Jb46EK9RChAw6ejcy0uR31f6DYU4gBkdWeCMVtil1+PkxHuVZwmqj0vQ1pzOIrMlE6Kgwod9brUoexXwQxGfrWntGpO4+EyQoBeMIIaVNaBcLkG0Ycekm5fcD1/MBP5z8oCDiVF/53FJjbi+1hi4LDAj25cepvoP60DxHm6o+YTGBmSP8BNPw593TTpGFO6dLhigrl5BFtddpAsfVgGABRz3EVHM/2e3W9IJzz7uFbzMuWOaqDFZr5jZCQRRwmafd0=----ATTACHMENT:----Njg5MjQ3MTA3MDQzOTk1OSAyMTY4MDcxNzgyMzIxNjU1IDI2ODU0NTQ2MDI0MTE0ODk=