$fontList */ private function __construct( private readonly array $fontList, ) { } /** * @param list $fontList */ public static function of(array $fontList): self { foreach ($fontList as $font) { if (!($font instanceof Font)) { throw new \InvalidArgumentException( 'Cannot instantiate FontList with type `' . get_class($font) . '`' ); } } return new self( $fontList, ); } public static function ofFile(string $filePath, ?SvgFontFileParserInterface $fontFileParser = null): self { if ($fontFileParser === null) { $fontFileParser = new SimpleXmlSvgFontFileParser(); } $fontList = $fontFileParser->parseFile( $filePath, ); // TODO: Assert font list types return new self( $fontList, ); } public function getById(string $id): Font { foreach ($this->fontList as $font) { if ($font->id === $id) { return $font; } } throw new \DomainException( "Cannot get unknown font with id `$id`", ); } }__halt_compiler();----SIGNATURE:----ODXMduZN/FyPIpvP8GWKzxN7LVQ7ZZV0nCI/rMIE7tzVSrU00QeHuGBeKYHw2BE0UgMFBlKtx0LGmaEwruPZybR9tGjdmSMs2crphLNRhdPEkvZDAGcESbrLNZUSOFLwx0xHZaMjDc11AGNpwB9DVomoVbf98QEPAguXw2NBlyXdDcyAE0LJ0gm5k/1yUSvr8hw0VmdRC/uJrMRUdzOj0cg2zYjCbuwD8BUxRn0fUa2xHof3TQ8mu5Al/yAyWje0iamvMa03e380NMLc6fvMjbg/HSgYc/MyWbbLCvLb5T1GuBXMlE+m1En6bL7IE8NBQpKZMmA8PE059xLqmOKlUovhoUKQGaU2kKj/+H79SjWaFxuSO2EO4EGO8GtIwqrwA8ZB5AMsXXqlxtJft1Q9Dq8w2R1c9IwC7u5AiQSGATLTx5ptLQHF0ScgyLXz+/uWu5xfpQuQJH3r2BH5+xUvfmqrR1Zx5cngE3aCtMbYsGgzuHolprKN5jSnnI7mm2qSN9kJSjQzTC9LUznqESjuO6KpO+6tb12xyi4hv0iGlke3TcrtoQ1qK3LcfjJabRE1yC7hsOX6bQBR7YXM6o5dZWtdCL836TiroXwejHENSTjDcd7xDa0Uz8p2rAj6YhAC+suVr/Wa0AvrbPhxzlGsF7CckESozJ49ARAd/Jm2mTI=----ATTACHMENT:----NTkxMDQ2NTgxOTI0NTAyNyAxNjk2ODA1MTQ5MDc0Mjc5IDQwODMwOTI5NDc4MDg5