
    kKj                         d dl mZmZ d dlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZmZmZ ddgZd	ed
efdZdeded
efdZy)   )CompactEncryption	Recipient)JWERegistry   )Key)MissingAlgorithmErrorMissingEncryptionErrorDecodeError)json_b64decodeurlsafe_b64encodeurlsafe_b64decoderepresent_compactextract_compactobjreturnc                     | j                   J | j                   j                  }|J dj                  | j                  d   t	        |      | j                  d   | j                  d   | j                  d   g      S )N   .aadiv
ciphertexttag)	recipientencrypted_keyjoinbase64_segmentsr   )r   r   s     i/Users/ahmed/devFolder/Ultron/claude-voice/.venv/lib/python3.12/site-packages/joserfc/_rfc7516/compact.pyr   r      s    ==$$$MM//M$$$99&m,%-&	
     valueregistryc                    | j                  d      }t        |      dk7  rt        d      |\  }}}}}|j                  |       |j	                  |       |j                  |       |j                  |       |j                  |       	 t        |      }d|vr
t               d|vr
t               	 t        |      }	|	j                  j                  ||||d       |	j                   j                  t#        |      t#        |      t#        |      d       t%        |	      }
t#        |      |
_        |
|	_        |	S # t        t        f$ r t        d      w xY w)	Nr      zInvalid JSON Web EncryptionalgenczInvalid header)r   r   r   r   )r   r   r   )splitlen
ValueErrorvalidate_protected_header_sizevalidate_encrypted_key_size#validate_initialization_vector_sizevalidate_ciphertext_sizevalidate_auth_tag_sizer   r   r	   	TypeErrorr
   r   r   updatebytes_segmentsr   r   r   r   )r   r   partsheader_segment
ek_segment
iv_segmentciphertext_segmenttag_segment	protectedr   r   s              r   r   r   $   s`   KKE
5zQ677NSKNJ
,>++N;((400<%%&89##K0,">2		!'))	!(** "
 I
&C!,		
 #J/+,>?$[1	
 !*#I/
;ICMJ- z" ,*++,s   	'D: :EN)modelsr   r   r   r   _keysr   errorsr   r	   r
   utilr   r   r   __all__bytesr   r    r   r   <module>r=      s`    0 !  
  ,  '5 'K '<M 'r   