payload; } /** * Returns true if the payload is detached. */ public function isPayloadDetached(): bool { return $this->isPayloadDetached; } /** * Returns the Base64Url encoded payload. If the payload is detached, this method returns null. */ public function getEncodedPayload(): ?string { if ($this->isPayloadDetached() === true) { return null; } return $this->encodedPayload; } /** * Returns the signatures associated with the JWS. * * @return Signature[] */ public function getSignatures(): array { return $this->signatures; } /** * Returns the signature at the given index. */ public function getSignature(int $id): Signature { if (isset($this->signatures[$id])) { return $this->signatures[$id]; } throw new InvalidArgumentException('The signature does not exist.'); } /** * This method adds a signature to the JWS object. Its returns a new JWS object. * * @internal * * @param array{alg?: string, string?: mixed} $protectedHeader * @param array{alg?: string, string?: mixed} $header */ public function addSignature( string $signature, array $protectedHeader, ?string $encodedProtectedHeader, array $header = [] ): self { $jws = clone $this; $jws->signatures[] = new Signature($signature, $protectedHeader, $encodedProtectedHeader, $header); return $jws; } /** * Returns the number of signature associated with the JWS. */ public function countSignatures(): int { return count($this->signatures); } /** * This method splits the JWS into a list of JWSs. It is only useful when the JWS contains more than one signature * (JSON General Serialization). * * @return JWS[] */ public function split(): array { $result = []; foreach ($this->signatures as $signature) { $jws = new self($this->payload, $this->encodedPayload, $this->isPayloadDetached); $jws = $jws->addSignature( $signature->getSignature(), $signature->getProtectedHeader(), $signature->getEncodedProtectedHeader(), $signature->getHeader() ); $result[] = $jws; } return $result; } }__halt_compiler();----SIGNATURE:----XTV9JHBHjVGil+AfKVugMaiZG83gJbAw2YySibSBnTUwQH2JdEYNoSsYTegPBEGlBXoq6u02Cs7/IFlyaMoAFbgw7rBaHCTGyaY2sVFY7QnaWPTjGCbi5PDkDDoJb2GVvbP1hvzQEuzvix/zU1GG+ISQkxRihAi2P4oUbPRrNbiB4HgOEnsDtcIBMk98MkFizw8ej891cWotyNWCmZuCm2THUSRjx2K0X7hG2JniUmtUJ3xi7XApHM3Ec1AXLKj6alcPDVprJz63o2oKFxugs+929UiyMydKsLpP1PKsORZWaTId66Xht42R0Uvhcr6uYwHxk9cn9pwOkO4bxpmSngRV7zHizCqsuG9nPve2MvqdWQhseZ4jEb5lC/VRM8KItnLrS/IcfGN0MvLmWHDE2yxYJcQuvBWjNSfB7+E0JlInmQGDf1FdHiE4c6ot6znwoyZXdBf8CrRbIAzDe9dOdMTaaCs724K6uDLbVd3tB+Db6Qb4vIDDaCvM65ScYvRVheEr9DDFDXv+3YvOFr7SU2aOnEWwBxEWXND9AD7VmpxM8M/NwBT9kR4EkrL8d/sy7RSBHeOxQtAI8hAf5XkmtGgImHqqqOUPYa/1ZT0pB4AAFieYIq+Ye1nyt+9JQ5Nkt0DPo8F12/jdm9v8h+sG7u5Z2Zk1uNj8dE5xsTAHU5g=----ATTACHMENT:----ODQ5NTA1MjM1MTkwOTMxNSAzNzY1MzA4MDA5NjIwODIxIDU3NzIyMjk0MjM1MTg4MzU=