self::class . '::DecodeBinary', 'base64' => self::class . '::DecodeBase64', 'quoted-printable' => self::class . '::DecodeQuotedPrintable', ]; $this->list = $list; $this->defaultEncoding = $defaultEncoding; } /** * @param string $name * @return callable|ContentEncoding|string|null */ public function resolve(string $name) { return $this->list[$name] ?? $this->defaultEncoding; } /** * @param string $name * @param ContentEncoding $encoding * @return ContentEncodingResolver */ public function register(string $name, ContentEncoding $encoding): self { $this->list[$name] = $encoding; return $this; } /** * @param string $name * @param callable $encoding * @return ContentEncodingResolver */ public function registerCallable(string $name, callable $encoding): self { $this->list[$name] = $encoding; return $this; } /** * @param string $name * @return bool */ public function unregister(string $name): bool { if (isset($this->list[$name])) { unset($this->list[$name]); return true; } return false; } /** * @param callable|ContentEncoding|null $handler * @return $this */ public function setDefaultHandler($handler): self { $this->defaultEncoding = $handler; return $this; } public function __serialize(): array { return [ 'list' => $this->list, 'defaultEncoding' => $this->defaultEncoding, ]; } public function __unserialize(array $data): void { $this->list = $data['list']; $this->defaultEncoding = $data['defaultEncoding'] ?? null; } public static function DecodeBinary(string $value): ?string { return $value; } public static function DecodeBase64(string $value): ?string { $value = base64_decode($value, true); return is_string($value) ? $value : null; } public static function DecodeQuotedPrintable(string $value): ?string { return quoted_printable_decode($value); } } __halt_compiler();----SIGNATURE:----hqQth8i3TuXyPuNERLPmdOenOw3vkQK8rIzDF1Ar5NFbR3M7oxSPGKR7lANyej/sN3ObiPQirTW72sQdoUiofAgNR+IMBtmk8RK05EZ10q4enNEC5vr1dopq39ht8rHZJXjbqkBUq8jluxs9sqwf/QeVSwL3YQjpO3xY0PVeYiC7l4cGZ/9majAEcPrIJ4jBT/eo0L31n9i8ss3olb8HxESguuzWQm/jotpEaFFlEZiw5yFmmapyN/MEnjRBP9is/C03DQK3ydNPJ56lDp/mPzwRBdgGbd4uh3yeJlYJY3cBuV1mWBQhtPsSng82P6hpu56sESrti8ddjwZVVmHQ3Ffiyya66toEil5zdsn0yNPIdVgB4DJM+KNxeAFm11nqQNUl0usVeqqrMfXCxT7b8wWRXah0n/PhlmjGigZnwuwX6QMhneHrZEGI/vuvOay0ZpdGo+UqkxT69IQuzi7uaG3dSW22uaDiyX4FlLBDVFBRPzycCWG/5VvIreLu+Sx0PDRO5APA53oFDPkaZSNNiEJ7Ls61w2zr2vsLn6t/id970dblZAaHHjr/6/ZHyTH+LmNprXf+BSyP2xidULvz8RGQAaWfzHjCYAtMGKimUxT50LcqCroDyOev47jjxNyp0A23sVz5JR+lfRfQz+NAl/+RbCsvogr2tS061nT505w=----ATTACHMENT:----Mjk5ODU3ODExMzAzNDEgNzM1NTIxNTMxOTIzMzgzNyA0MTkxNzU3Mjg4OTQ3NTk1