* * @psalm-var TokenSetAttributesType */ private $attributes = []; /** * @var array * * @psalm-var TokenSetClaimsType */ private $claims = []; /** * @psalm-param TokenSetAttributesType $attributes * @psalm-param TokenSetClaimsType $claims */ private function __construct(array $attributes, array $claims) { $this->attributes = $attributes; $this->claims = $claims; } /** * @param array $data * * @psalm-param TokenSetMixedType $data */ public static function fromParams(array $data): TokenSetInterface { $claims = []; if (array_key_exists('claims', $data)) { $claims = $data['claims']; unset($data['claims']); } /** @psalm-var TokenSetAttributesType $data */ return new static($data, $claims); } public function getAttributes(): array { return $this->attributes; } public function getCode(): ?string { return $this->attributes['code'] ?? null; } public function getState(): ?string { return $this->attributes['state'] ?? null; } public function getTokenType(): ?string { return $this->attributes['token_type'] ?? null; } public function getAccessToken(): ?string { return $this->attributes['access_token'] ?? null; } public function getIdToken(): ?string { return $this->attributes['id_token'] ?? null; } public function getRefreshToken(): ?string { return $this->attributes['refresh_token'] ?? null; } public function getExpiresIn(): ?int { /** @var int|string|null $expiresIn */ $expiresIn = $this->attributes['expires_in'] ?? null; return null !== $expiresIn ? (int) $expiresIn : null; } public function getCodeVerifier(): ?string { return $this->attributes['code_verifier'] ?? null; } public function withIdToken(string $idToken): TokenSetInterface { $clone = clone $this; $clone->attributes['id_token'] = $idToken; return $clone; } public function withClaims(array $claims): TokenSetInterface { $clone = clone $this; $clone->claims = $claims; return $clone; } /** * @return array * * @psalm-return TokenSetType */ public function jsonSerialize(): array { return $this->attributes; } public function claims(): array { return $this->claims; } }__halt_compiler();----SIGNATURE:----1XcXdjWGMb2YKtCENKqLlrE9k+G6AaVmMi1SwA6IlJEzkQR6YJ7NTuRTsFgRqJgcTdmlOmCvcH9ntX93kUuUYm8Zh41yHCH7rBUC2dCnmXRSjKl/1oh2CkFKMkitu/G+M+sjix9uNUV62CZ8BxFeAPQ4mTiWvy2bb2t6VatiwdR6mlABSJDkLd3n15jSRtQJhkRiCg7TrHZ8JD7pUjcVAchpWG3DvH4EtrqzI0lVEM2EM7sMiS/E0Qyv2ch9b5FPAU2A66VGjXJkJzzJdDqog/vPB9FH1olQq1+WZ51apJIbint56eX5uEzAhnRJuIc6bFaWUCrIff/Ms61Lun/a73OeHjy7F+48zjJHOvcLe9eHrOXPEyjXx/IuLJXVxiCgquJ4CIqFXD/5uk5il9g0cDMUQ1B94KkWkkLlYSadJZVavnGKyyPHNOe3e2Oytw0SEwAnf2zuqQaKsvSKebqE4kKvhv4fnOENdcSiDxL0TPIa317AGV9/kusslC3J2g2Wcltj6dUZz7bc3G5Eq6y8OcRDtsr3O8A0bv+ntjVpdpruGDECXzoDqpX79/plq8+ilJiWQCwG0bkLjhrIJA+PGoElYK3FDo8c64A/VLQ3o7WnzM9HPWJTCFTlpKuaHtiwEWOF1mgtRCVsvD7dHZiBnL6Ld2+vzMd7XHElXTcc22o=----ATTACHMENT:----NjkzNzY3OTU4NjA1NjgzIDg0ODc0NjU4MzgzMjU0ODMgMjEwNzA3NDYyMjU0NTEzOQ==