§
    ¥”jÐ  ã                   ó†  — d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 ddl
mZmZ dd	lmZmZmZmZmZ g d
¢Ze j         G d„ de j        ¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z ed¬¦  «         G d„ d¦  «        ¦   «         Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    N)Ú	dataclass)ÚIterableÚOptional)Úcms)ÚTimeStamperé   )ÚCMSAttributeProviderÚTSTProvideré   )ÚCertifiedAttributeChoicesÚCommitmentTypeIdentifierÚCommitmentTypeIndicationÚSignaturePolicyIdentifierÚSignerAttributesV2)ÚCAdESSignedAttrSpecÚGenericCommitmentÚSignerAttrSpecc                   óÞ   — e Zd Z ej        ¦   «         Z ej        ¦   «         Z ej        ¦   «         Z ej        ¦   «         Z ej        ¦   «         Z	 ej        ¦   «         Z
edefd„¦   «         ZdS )r   Úreturnc                 ól   — t          dt          | j                             ¦   «         ¦  «        i¦  «        S )NÚcommitment_type_id)r   r   ÚnameÚlower)Úselfs    úd/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/pyhanko/sign/ades/api.pyÚasn1zGenericCommitment.asn1    s1   € å'Ø!Õ#;¸D¼I¿OºOÑ<MÔ<MÑ#NÔ#NÐOñ
ô 
ð 	
ó    N)Ú__name__Ú
__module__Ú__qualname__ÚenumÚautoÚPROOF_OF_ORIGINÚPROOF_OF_RECEIPTÚPROOF_OF_DELIVERYÚPROOF_OF_SENDERÚPROOF_OF_APPROVALÚPROOF_OF_CREATIONÚpropertyr   r   © r   r   r   r      sŒ   € € € € € à�d”i‘k”k€OØ �t”y‘{”{ÐØ!˜œ	™œÐØ�d”i‘k”k€OØ!˜œ	™œÐØ!˜œ	™œÐàð
Ð.ð 
ð 
ð 
ñ „Xð
ð 
ð 
r   r   T)Úfrozenc                   óV   — e Zd ZU dZeej                 ed<   	 eej                 ed<   dS )r   aO  
    Class that controls the ``signer-attributes-v2`` signed CAdES attribute.

    These represent attributes of the signing entity, not the signature or
    signed content.

    .. note::
        Out of the box, only basic claimed attributes and certified attributes
        through V2 X.509 attribute certificates are supported.
    Úclaimed_attrsÚcertified_attrsN)	r   r   r    Ú__doc__r   r   ÚAttCertAttributeÚ__annotations__ÚAttributeCertificateV2r*   r   r   r   r   '   sQ   € € € € € € ð	ð 	ð ˜CÔ0Ô1Ð1Ð1Ñ1ðð ˜cÔ8Ô9Ð9Ð9Ñ9ðð r   r   c                   ó”   — e Zd ZU dZdZee         ed<   	 dZe	ed<   	 dZ
ee         ed<   	 dZee         ed<   	 	 d
dee         fd	„ZdS )r   zI
    Class that controls signed CAdES attributes on a PDF signature.
    NÚcommitment_typeFÚtimestamp_contentÚsignature_policy_identifierÚsigner_attributesÚtimestamperc              #   óú   K  — | j         r|�t          |||dd¬¦  «        V — | j        �t          | j        ¦  «        V — | j        �t          | j        ¦  «        V — | j        �t          | j        ¦  «        V — d S d S )NÚcontent_time_stampT)Údigest_algorithmÚ
data_to_tsr8   Ú	attr_typeÚ	prehashed)r5   r
   r6   ÚSigPolicyIDProviderr4   ÚCommitmentTypeProviderr7   ÚSignerAttributesProvider)r   Úmessage_digestÚmd_algorithmr8   s       r   Úprepare_providersz%CAdESSignedAttrSpec.prepare_providersh   s¸   è è € ð Ô!ð 	 kÐ&=ÝØ!-Ø)Ø'Ø.Øðñ ô ð ð ð ð Ô+Ð7Ý% dÔ&FÑGÔGÐGÐGÐGØÔÐ+Ý(¨Ô)=Ñ>Ô>Ð>Ð>Ð>ØÔ!Ð-Ý*¨4Ô+AÑBÔBÐBÐBÐBÐBÐBð .Ð-r   ©N)r   r   r    r/   r4   r   r   r1   r5   Úboolr6   r   r7   r   r   rD   r*   r   r   r   r   ?   sÇ   € € € € € € ðð ð ;?€O�XÐ6Ô7Ð>Ð>Ñ>ðð
 $Ð�tÐ#Ð#Ñ#ðð HLÐ Ð*CÔ!DÐKÐKÑKð	ð 37Ð�x Ô/Ð6Ð6Ñ6ðð .2ð	Cð Cð ˜kÔ*ð	Cð Cð Cð Cð Cð Cr   r   c                   ó,   — e Zd ZdZdefd„Zddefd„ZdS )r@   r4   c                 ó   — || _         d S rE   ©r4   )r   r4   s     r   Ú__init__zCommitmentTypeProvider.__init__�   s   € Ø.ˆÔÐÐr   Fr   c              ƒ   ó   K  — | j         S rE   rI   ©r   Údry_runs     r   Úbuild_attr_valuez'CommitmentTypeProvider.build_attr_value„   s   è è € ØÔ#Ð#r   N©F)r   r   r    Úattribute_typer   rJ   rN   r*   r   r   r@   r@   ~   sV   € € € € € Ø&€Nð/Ð(@ð /ð /ð /ð /ð$ð $Ð7Oð $ð $ð $ð $ð $ð $r   r@   c                   ó.   — e Zd ZdZdefd„Z	 ddefd„ZdS )	r?   r6   Ú	policy_idc                 ó   — || _         d S rE   ©rR   )r   rR   s     r   rJ   zSigPolicyIDProvider.__init__‹   s   € Ø"ˆŒˆˆr   Fr   c              ƒ   ó   K  — | j         S rE   rT   rL   s     r   rN   z$SigPolicyIDProvider.build_attr_valueŽ   s   è è € ð Œ~Ðr   NrO   )r   r   r    rP   r   rJ   rN   r*   r   r   r?   r?   ˆ   s[   € € € € € Ø2€Nð#Ð";ð #ð #ð #ð #ð ðð à	"ðð ð ð ð ð r   r?   c                   ó,   — e Zd ZdZdefd„Zddefd„ZdS )	rA   Úsigner_attributes_v2Úsigner_attr_specc                 ó   — || _         d S rE   )rX   )r   rX   s     r   rJ   z!SignerAttributesProvider.__init__—   s   € Ø 0ˆÔÐÐr   Fr   c              ƒ   ó¶   K  — | j         }t          |j        ¦  «        }t          |j        ¦  «        }i }|r||d<   |rd„ |D ¦   «         |d<   t	          |¦  «        S )NÚclaimed_attributesc                 ó0   — g | ]}t          d |¬¦  «        ‘ŒS )Ú	attr_cert)r   Úvalue)r   )Ú.0r]   s     r   ú
<listcomp>z=SignerAttributesProvider.build_attr_value.<locals>.<listcomp>¢   s5   € ð 1ð 1ð 1àõ *¨{À)ÐLÑLÔLð1ð 1ð 1r   Úcertified_attributes_v2)rX   Úlistr-   r.   r   )r   rM   ÚspecÚclaimedÚ	certifiedÚresults         r   rN   z)SignerAttributesProvider.build_attr_valueš   s‚   è è € ØÔ$ˆÝ�tÔ)Ñ*Ô*ˆÝ˜Ô-Ñ.Ô.ˆ	ØˆØð 	3Ø+2ˆFÐ'Ñ(Øð 	ð1ð 1à!*ð1ñ 1ô 1ˆFÐ,Ñ-õ " &Ñ)Ô)Ð)r   NrO   )r   r   r    rP   r   rJ   r   rN   r*   r   r   rA   rA   ”   sU   € € € € € Ø+€Nð1¨ð 1ð 1ð 1ð 1ð*ð *Ð7Ið *ð *ð *ð *ð *ð *r   rA   )r!   Údataclassesr   Útypingr   r   Ú
asn1cryptor   Úpyhanko.sign.timestampsr   Ú
attributesr	   r
   Ú
cades_asn1r   r   r   r   r   Ú__all__ÚuniqueÚEnumr   r   r   r@   r?   rA   r*   r   r   ú<module>rp      s  ðØ €€€Ø !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :ðð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ
HÐ
H€ð „ð
ð 
ð 
ð 
ð 
˜œ	ñ 
ô 
ñ „ð
ð €�$ÐÑÔðð ð ð ð ñ ô ñ Ôðð. €�$ÐÑÔð;Cð ;Cð ;Cð ;Cð ;Cñ ;Cô ;Cñ Ôð;Cð|$ð $ð $ð $ð $Ð1ñ $ô $ð $ð	ð 	ð 	ð 	ð 	Ð.ñ 	ô 	ð 	ð*ð *ð *ð *ð *Ð3ñ *ô *ð *ð *ð *r   