*/ 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:----a2hS6EcmrsME2wSrnCWJb2Y3quj0VwSDHuap0EpPHk6Q1RxyAColanY4pXuFumQocMIWq3V3z2cNvDpCUp5N92W8suxyUb0ZmVhbXMVlx2FTtwODJOQDhFO/0K0BG/+hCLCK3lkaKeBXFq8CqCjxiLB8APeVw6sJv31tDrip9VvPmzNYS5g6QFsZnddvALBF3Q5t+0GnkRsrqvzlSeo9bJhvF2fusJu8wwblnj3/gecc50h/o+XNR4UM9Yrvy/J20nm30YogjLTBeqmPlIrSlZiqdzbLVBJ/RnOptCFAnaUxmSjhG3Mrpa9sD6LJsFo4NrANvE6p5Qj5aTRDMi0yA7SQnFftO2OZWylMSFPDIjhZDkpmXNxICnZTJjBxknsgqObKN5w2Ofl6geE8USyWnztHS0buVVDMIaze8pfaJ4mIyMdh3bIlynHfkDA/Ts887IAcsKU/bK17MaQb32T5BOm/RVUTau6uFjr96JvKJRZLB7oaEW6uZ5a6h79sksKj7pozPz211ugMHU74zxGbgGOK5xrdo7UtXdvgx5iyvX554p/KioWvpKSmGl3mCuxn9XHOip7blzmJQVnsprWsZakbB8dalMeTIAEZtmRgsMwB+y2IU51GCXB755j9wKRjz1DjhzoOseD3WDGSjim2aHNMkrnyzr1eYHxC2+uqevg=----ATTACHMENT:----ODY5NDI0MDY4NTcxMDkxOCAxNzc0NTcxODA5NDQyNjk3IDI0MDQ5MjAwNDI1NDUxNzM=