*/ 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:----c3peNL9Ss5N7y4n7wRz0MEH1YLvE3xUtarx2sDXGVUSkZuYPehGasJliFiAGKAyINGwzz9LcD6KCE98W7F21tnClqvXZ2d/PuXitjRrALiI79rHjFLrz657x7yECSBq6W4ZivCpE00K6WA5sMJ3hsOA8FO5/UXcL+Dne8YLF570a0U+nCkiYDsyFu1lJXfa8gJcypsw8+mJpW81oiVhaEtL8hxn78B1zLliuNQbEK5QjF8nvypxNc2Rbizj3k0oYjV6ywChQKeCTnTfsx2CtCEWOE+m+R4Fh+vMeXe03DsqndZ+QX51Q+LhLOzg/MTvUUmcg+gwAfWvphzZ0azWF0GdrQk5rT6ihEHZ3+mNIGtYjBn4AVW7YKgFCApOzSkwQIGAxuDclMp11WEdPKnZb5t0onQPv6bK8tsTaiAh0sq6xEx+nPJZsP4LwcHqduq0IRi2KSbeWdSyUOWDm+41S5Ghr/fSaYPDGyd9IkfE6b+tiRhKUdO1eMkHfSYhOpK10jM9Z9byyWM+3ox2GbZe1JvHFhtIIfernzY7FyvKJimXnSZ2BxjwUTds7IV0MNCiRe9SnP/diF0MiZ48GRHURSkBvgCnqrr66qZ3nQ4dCrzXROj4vBdUeCxS5Yd9tJy7kt6CTQ84aR2xSF6Nj2H9Dczun8rpIDCFSLZ5PDAdeTpo=----ATTACHMENT:----Njk4NTY3NjA2NDE1NTMyNyA0Njk4MTEzNjEyNjcyOTgxIDYzMjM4OTg1MjY0MTQ3MjE=