*/ class ChainPrivateKeyGenerator implements PrivateKeyGeneratorInterface { /** @var PrivateKeyGeneratorInterface[] */ private $generators; /** * @param PrivateKeyGeneratorInterface[] $generators */ public function __construct(iterable $generators) { $this->generators = $generators; } public function generatePrivateKey(KeyOption $keyOption): PrivateKey { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return $generator->generatePrivateKey($keyOption); } } throw new \LogicException(sprintf('Unable to find a generator for a key option of type %s', \get_class($keyOption))); } public function supportsKeyOption(KeyOption $keyOption): bool { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return true; } } return false; } }__halt_compiler();----SIGNATURE:----F/HiQW4OtK7zLRatv3QO4gwGx/jjBFU+ulBtS3VN03y4hG/9LH7kZdqXARpP7eTljK+jqpFl6xXnPnRweZm5iVQNqm36JhCLNfhGKGUsUM6iQX2WFhE70RPAon9JJhMcIv4cVaKpYIJwB3XOJr1O5Dv6p6r40CgF6awju5TW76D7vFzuAbc9tzJ0tZTJ/Tfz3mTHY/EqrG1G8UMdtihZMYWQd3E++QB2jCl1yLcroNBbdUetsW5i6vKh1VU7bWBwc8/2MPpWq/rGKD/1AqeOhRuseNOtBRbRVSoY9NvYceQ+wx91rh6V5hgfIhhgpNhPCqh4PY7TaDQGT0tjULyoa7SePwevMRD8lcje98aoThEq6c9gwKLu2WSQvJTML5FEDvZTh7jNSxl3OpzaxKf55DrBln1zw3ur3eGu2s/IF848+V0NX2H6IqOB9H9Kobq6hCcjw83F+l7TYtLVNWTlV82h2kiIDhL8Dtoh0bsfrN2nC4db5w+cjNjpGMBZAp1piF6OHBla8u8FPCnORTUS1il6IRxcCIRu8U7AmAlcQgxdxhs3pCT1I9nPNXZ/MawsUylYdKSuAdWBYgoDDyVWad0xGia9mGBd7obkDwc1sVDA+2LtYQWMd1WfuR4RJDgnmIN/n672YzNFrrO2dQKHTiHQCg+Ls8CHFz7KR69VtRA=----ATTACHMENT:----Njk1NTY1MjAwNDY1MjA4MSA3MDM5MTM5NjIxNzgzOTYgMzA0NTI3MTE1NTI1Njkz