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:----ekv2XDo20S0UbUk/rlVCucQmBCj5p+5KHGbZNrawpM5IGXW5FvtMe1nI3iu2UUfYEpkQ0V1sx5D5r7uScmPlEP4aQEK6WrASCTgIWQzKGc1aFuMDv/zzL4bXozrMCfegnD1TqMmCfv3X8cT3zSibwxd9A8sM3LzCBfhGgb9oRaF9HaB7UUY/AUp9GnuPOyFvhJss4tmFs9pI7esFDtE1nK5wYJ/Zr6JbBX8oGivXlYU1w0li8n3beDpV78Tn0ej3zHDjvi6G6xekGNDob+aeYrRdm3TkeGW2YTOZqvUIXu+CtuQa8YEyLOcnadRthDA2SxV+5YkOWGotige5sqCQ+NI5VLx4BUi40zinFmsbwvhhlXCuDRRg90h08UhmcDN/4XkLsF57TX64vchIl13rHiIwBUI+jmebF9JD6t0dczpDZdqqigvgfgQR5fS8Bz/Pff+xutgJsY+M3clPoqRBmD8pW4SU0fzN4goccFj3XNxq4feTkBq+315LbXQt4D2H8ZjMSv1Cj+tWk55RbE4Ja7wrp82r10mFOYvpZuS6Qslp2VjZz8plP1CnvrIV5/x/J0bSm6u9jXQsqRZyw8zfOOMTpYa5mdH56/vCLl36KiSlWbAlCHsEJp/V+gAO9l/CVBLxNWoIKnDQIpCUNq6arZeWMgJsMt4hPD9cOq6YNyE=----ATTACHMENT:----MjcwNjI5OTEwMzE2NzkyNyA5ODc2MDYwMDk1NTc2NDQwIDk2OTI2MjU2NzI5MDY4OTE=