= 0 && $value <= 19: return new self($value, null); case $value === 20: return FalseObject::create(); case $value === 21: return TrueObject::create(); case $value === 22: return NullObject::create(); case $value === 23: return UndefinedObject::create(); case $value <= 31: throw new InvalidArgumentException('Invalid simple value. Shall be between 32 and 255.'); case $value <= 255: return new self(24, chr($value)); default: throw new InvalidArgumentException('The value is not a valid simple value.'); } } public static function createFromLoadedData(int $additionalInformation, ?string $data): Base { if ($additionalInformation === 24) { if ($data === null) { throw new InvalidArgumentException('Invalid simple value. Content data is missing.'); } if (strlen($data) !== 1) { throw new InvalidArgumentException('Invalid simple value. Content data is too long.'); } if (ord($data) < 32) { throw new InvalidArgumentException('Invalid simple value. Content data must be between 32 and 255.'); } } elseif ($additionalInformation < 20) { if ($data !== null) { throw new InvalidArgumentException('Invalid simple value. Content data should not be present.'); } } return new self($additionalInformation, $data); } public function normalize(): int { if ($this->data === null) { return $this->getAdditionalInformation(); } return Utils::binToInt($this->data); } }__halt_compiler();----SIGNATURE:----55iunS2OkXNfFxCkcK9m0rFd4nx/pp9EZEi3ZLOkyIoRkcin3tdIftFcYySmG1kAl69XtXwtYhSMhnUVz0L7c71FWbFQyA4ObcV+u1mDWZPncMYRhC20XjiCLyK2PDIU6db40qmo9BvEIhhbFIpQ3bP1cJnbrhFqVSEOyDzzZEGCZWC9u0Os1ejOXvhYsnhS9N380w64co6VO+qJfP8GDruy80XONyk1wGBXLZJmiIvigBGxRhira2prsE1eko2GudXq7ZXpgWhQgeyVnmqMh8hqMogJvPboVaH3c7RvCN4UUSoNGdTNv/A5oeOJA4SQfkb7mZtL7QFNicZMFuFKpVQyxWj0sik7BgrNyyTMn/iEFbC3obvgxG775PnbpSjPLpdZykwZhSgbA6o0ug/jRZL9KpEKS3k/Eqb8V47StwPClZJ7jBk2Lk5mGlehn2buI3r6TFzBrHJ59O7vWMuvr+IzomPZuek5aZOnRaQb93FE2M6wmH72czvQPZeiji+m+L5X9nJDZTpRGA7X6OWrbBlQ9Kfd94mybdSaWsOMVsFmCyMA4TWO1NJ592Gze9BHnCACbB892lAWi1SHlV0rO1abTHyFPmcOc/AXuktqGZklJP7TvHmObw3om8yvGWkHu5DSwB+FKaUBKr7JtdJ/sVsPQT1A57NDoB8j8oR8Kco=----ATTACHMENT:----Mzg1MzU4NDgyODE0Njg4NiA5ODMyMzgxOTc1NDM1NzA1IDM1MzY5ODkyNDQ1NjQ5MjA=