$layout @param string[] $semantic_manifest */ public function template_payload( string $key, int $version, string $origin, array $layout, string $html, string $css, array $semantic_manifest, ?int $effective_from, ?int $effective_until ): array { return array( 'template_key' => $key, 'version' => $version, 'origin' => $origin, 'layout' => $layout, 'template_html' => $html, 'template_css' => $css, 'semantic_manifest' => array_values( $semantic_manifest ), 'effective_from' => $effective_from, 'effective_until' => $effective_until, ); } /** @param array $content @param array $review_metadata */ public function legal_payload( string $key, string $language, int $version, string $origin, string $ruleset_reference, array $content, ?int $effective_from, ?int $effective_until, array $review_metadata ): array { return array( 'text_set_key' => $key, 'language_code' => $language, 'version' => $version, 'origin' => $origin, 'ruleset_reference' => $ruleset_reference, 'content' => $content, 'effective_from' => $effective_from, 'effective_until' => $effective_until, 'review_metadata' => $review_metadata, ); } /** @param array $payload */ public function fingerprint( array $payload ): string { return $this->serializer->fingerprint( $payload ); } public function template( TemplateVersion $version ): string { return $this->fingerprint( $this->template_payload( $version->template_key(), $version->version(), $version->origin(), $version->layout(), $version->template_html(), $version->template_css(), $version->semantic_manifest(), $version->effective_from(), $version->effective_until() ) ); } public function legal( LegalTextVersion $version ): string { return $this->fingerprint( $this->legal_payload( $version->text_set_key(), $version->language_code(), $version->version(), $version->origin(), $version->ruleset_reference(), $version->content(), $version->effective_from(), $version->effective_until(), $version->review_metadata() ) ); } }