getHost()) { $asciiHost = self::idnToAsci($uri->getHost(), $options, $info); if ($asciiHost === false) { $errorBitSet = isset($info['errors']) ? $info['errors'] : 0; $errorConstants = array_filter(array_keys(get_defined_constants()), function ($name) { return substr($name, 0, 11) === 'IDNA_ERROR_'; }); $errors = []; foreach ($errorConstants as $errorConstant) { if ($errorBitSet & constant($errorConstant)) { $errors[] = $errorConstant; } } $errorMessage = 'IDN conversion failed'; if ($errors) { $errorMessage .= ' (errors: ' . implode(', ', $errors) . ')'; } throw new InvalidArgumentException($errorMessage); } else { if ($uri->getHost() !== $asciiHost) { // Replace URI only if the ASCII version is different $uri = $uri->withHost($asciiHost); } } } return $uri; } /** * @param string $domain * @param int $options * @param array $info * * @return string|false */ private static function idnToAsci($domain, $options, &$info = []) { if (\preg_match('%^[ -~]+$%', $domain) === 1) { return $domain; } if (\extension_loaded('intl') && defined('INTL_IDNA_VARIANT_UTS46')) { return \idn_to_ascii($domain, $options, INTL_IDNA_VARIANT_UTS46, $info); } /* * The Idn class is marked as @internal. Verify that class and method exists. */ if (method_exists(Idn::class, 'idn_to_ascii')) { return Idn::idn_to_ascii($domain, $options, Idn::INTL_IDNA_VARIANT_UTS46, $info); } throw new \RuntimeException('ext-intl or symfony/polyfill-intl-idn not loaded or too old'); } } __halt_compiler();----SIGNATURE:----INyWCvXxuKsIYvzetAupNizSKxZNEPZO6vSfM0kEVnmTrjj0ZC3V1TJiQ1DOcbP6x3Mroe9CF91Z+f/KbE1PP68EX3m3LxSlXW86FY2prqywptWYOtY/ERh58IMMvuj3qWgQrT8NGtN5B+o/YL0Hr6SqdM3NzyesK3fbS6zNgBJGgZmmEA9l1Xjl9gLjuvFzMrrLqGBCGV5xJl11O9QwBT+uIazxAKx7k7MnUnjMscvPJOmzR9hSXEZoReW/kkpfyqy8XTjuzfPFppNQf+GMRHcuAnPorhsRxS4qhP8xOLKZRbfUW7jqOyAhJZ3xCOgaE6IieqK3zCOzbYnpZzGwLpTOMGYlSm8D/WY4FyRueD5tRSfUJdaFbogqJ3xjoqFa+CVGqlXyuFwffmZi2dPUbqVFjrkx8YmeyhceXY/l30jg3/MW5PC0Q+6MLHRu9N3AF1QxgZQQpYma5Mp/+qaGurlMqKFVxY/nJ4P+3KZMNUhgE18+ZKQZPoUYtVzvNyc0aOY0XXkAiDjsGbYTw7c434Q4T6TjPFjm8E877EooJNtY78ddm3r/DI3AygztCU45RRcnWYZf/Qfs8iB0pU6YSSCJBBsUz1wfKakKI76+xSX2YiOQQfesY16FDkSQfXtzKBq7LeGL3VMLeyzNH415dnAax31+IENpBaBg2Jh+ooc=----ATTACHMENT:----NzE5Mjg0NzgzNzA2NjY4MiAyODI0MzM4MzE5NjI0NjQwIDQwOTEwMzkxNjYwOTUzNQ==