Ë
    I»jÒ  ã                   ó8   — d Z ddlmZ ddlmZmZ  G d„ d«      Zy)z3Face verification / liveness stub (SOW proctoring).é    )Ú	JobStatus)ÚFaceVerificationRequestÚFaceVerificationResponsec                   ó   — e Zd Zdedefd„Zy)ÚFaceVerificationServiceÚpayloadÚreturnc              ƒ   óæ  K  — t        |j                  «      }t        |j                  xs |j                  xs |j                  «      }|r|rdn|rdnd}|j                  s|j                  rdnd}|dk\  xr |dk\  }g }|s|j                  d«       |j                  s|j                  s|j                  d	«       t        |j                  |j                  t        j                  d
d||||¬«	      S ­w)Ng=
×£p=ê?gš™™™™™á?gš™™™™™Ù?gš™™™™™é?g      à?g      è?gffffffæ?u/   No ID image provided â€” identity match limitedu-   No live frame â€” liveness confidence reducedTu@   Face verification local stub â€” wire CV provider for production)	Úcorrelation_idÚinterview_idÚstatusÚstubÚmessageÚverifiedÚmatch_scoreÚliveness_scoreÚwarnings)ÚboolÚid_image_base64Úlive_image_base64Úidle_image_base64Ú
source_urlÚappendr   r   r   r   Ú	SUCCEEDED)Úselfr   Úhas_idÚhas_liver   Úlivenessr   r   s           ú8/var/www/html/TJ-AI/tj/app/services/face_verification.pyÚverifyzFaceVerificationService.verify   sã   è ø€ ä�g×-Ñ-Ó.ˆÜ˜×1Ñ1Òd°W×5NÑ5NÒdÐRY×RdÑRdÓeˆÙ%©(‘dÁ¹ÈsˆØ!×3Ò3°w×7IÒ7I‘3ÈsˆØ $Ñ&Ò:¨8°s©?ˆØ ˆÙØ�O‰OÐMÔNØ×(Ò(°×1CÒ1CØ�O‰OÐKÔLÜ'Ø"×1Ñ1Ø ×-Ñ-Ü×&Ñ&ØØVØØ#Ø#Øô

ð 
	
ùs   ‚C/C1N)Ú__name__Ú
__module__Ú__qualname__r   r   r    © ó    r   r   r      s   „ ð
Ð$;ð 
Ð@Xô 
r%   r   N)Ú__doc__Úapp.schemas.commonr   Úapp.schemas.face_verificationr   r   r   r$   r%   r   Ú<module>r)      s   ðÙ 9å (ß [÷
ò 
r%   