getName())); } public static function finalClassNotSupported(ReflectionClass $reflection): self { return new self(sprintf('Provided class "%s" is final and cannot be proxied', $reflection->getName())); } public static function abstractProtectedMethodsNotSupported(ReflectionClass $reflection): self { return new self(sprintf( 'Provided class "%s" has following protected abstract methods, and therefore cannot be proxied:' . "\n%s", $reflection->getName(), implode( "\n", array_map( static function (ReflectionMethod $reflectionMethod): string { return $reflectionMethod->getDeclaringClass()->getName() . '::' . $reflectionMethod->getName(); }, array_filter( $reflection->getMethods(), static function (ReflectionMethod $method): bool { return $method->isAbstract() && $method->isProtected(); } ) ) ) )); } } __halt_compiler();----SIGNATURE:----k8D33Zu4m8gotKR6VuC72K14n30LjkeeIYp/VwKZgSR4h5iPM9H4ka0vbszDTprDVe7AXUfU086qQnP9qDAecTJwBIhgDztjJPXKStuAptJvAd0eLRSoJ5czgb2SlxPP8QWSIDNjWp30U1nEM3FGoGMwr2Vq8EKGoLiSQzB3aQRpFy75EjdxjXp11r9Ue5ExENxc/ASsvWMiAgX08IGr+wGOeSlLeHUw6MAXet3FBMh53zpwb6qs8xNhLLnWETtsHgP0PTzoP3c6WJAguUdF7ZVevpHuuW82NDq77287wwvRw+7374nXhARyM3iw0O3HqVj7HWLRJCNcbVoA1E9cL1OGw5ouu3/WSGbwQcmMTmFgPlEpt34Yfu1uPRR0RobmrRRZGPiEzMPADkpXZCS5z0X0OFEURr5FYs8c85FI1Pz93Kwopii/SmfWR0IGeA3Xsy2r6s02Zo+gp5a0D73PGG2QIJ+QCSDJb3dJhu7iXY66TqAJbJEA1wFylJlNG3SHM9mztRGpVSHWPybh6GkN+VpHDQW0E8xMbhCNUXw63ol9ta7liOStJ8pkHTSHa8Chhb8vKVXB36U4YDBwO9e1ZgoLUHVLE4q59IR44aGp77LdTqKVRgIvBCrwB8m7t+98uRkXM1Lxbesikf5JcYqPt3C/VreVSpLe7OdCyHacCUs=----ATTACHMENT:----MTMzMzMzNjQzNzE3NTMgNjYwMzEwMzUxNzQxODgzMCA2MTQzNjM3ODk5MjM1MTY1