§
    üxIf�  ã                   ó  — d dl Zd dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZmZmZ ddlmZmZmZmZ  ej        d¦  «        Zej        dd…         dk    r	d dlmZmZ n?ej        r	d dlmZmZ n/	 d dlmZmZ n%# e$ r  G d	„ d
¦  «        Z G d„ d¦  «        ZY nw xY w	 e  e Z n# e!$ r  G d„ de"¦  «        Z Y nw xY w G d„ de#¦  «        Z$ G d„ ded¬¦  «        Z%h d£Z&h d£Z'dhZ(de)dee)         fd„Z*dee)         de
e)e)f         fd„Z+dej,        j-        dee.e)f         de)fd„Z/i dd“d d!“d"d#“d$d$“d%d&“d'd(“d)d)“d*d+“d,d,“d-d-“d.d.“d/d0“d1d2“d3d3“d4d4“d5d6“d7d8“dd9d:d;d<d=d>d?d@dAdBdCœ¥Z0dD„ e0 1                    ¦   «         D ¦   «         Z2dee.e)f         dee%e
e)ee)         f         f         fdE„Z3 e4¦   «         Z5g dF¢Z6edF         Z7 e8g dG¢¦  «        Z9 G dH„ dIee         ¦  «        Z: G dJ„ dK¦  «        Z;dS )Lé    N)
ÚAnyÚCallableÚDictÚGenericÚListÚOptionalÚTupleÚTypeÚUnionÚcasté   )ÚrequirementsÚ
specifiersÚutilsÚversionÚTé   )é   é   )ÚLiteralÚ	TypedDictc                   ó   — e Zd Zd„ ZdS )r   c                  ó   — d S ©N© ©Ú_argsÚ_kwargss     úF/var/www/piapp/venv/lib/python3.11/site-packages/packaging/metadata.pyÚ__init_subclass__zLiteral.__init_subclass__#   ó   € Ø�Dó    N©Ú__name__Ú
__module__Ú__qualname__r    r   r"   r   r   r   "   ó#   € € € € € ðð ð ð ð r"   r   c                   ó   — e Zd Zd„ ZdS )r   c                  ó   — d S r   r   r   s     r   r    zTypedDict.__init_subclass__'   r!   r"   Nr#   r   r"   r   r   r   &   r'   r"   r   c                   ó`   — e Zd ZU dZeed<   ee         ed<   dedee         ddfd„Zdefd„Z	dS )ÚExceptionGroupzËA minimal implementation of :external:exc:`ExceptionGroup` from Python 3.11.

        If :external:exc:`ExceptionGroup` is already defined by Python itself,
        that version is used instead.
        ÚmessageÚ
exceptionsÚreturnNc                 ó"   — || _         || _        d S r   )r,   r-   )Úselfr,   r-   s      r   Ú__init__zExceptionGroup.__init__9   s   € Ø"ˆDŒLØ(ˆDŒOˆOˆOr"   c                 ó@   — | j         j        › d| j        ›d| j        ›d�S )Nú(z, ú))Ú	__class__r$   r,   r-   )r0   s    r   Ú__repr__zExceptionGroup.__repr__=   s*   € Ø”nÔ-ÐVÐV°´ÐVÐVÀ$Ä/ÐVÐVÐVÐVr"   )
r$   r%   r&   Ú__doc__ÚstrÚ__annotations__r   Ú	Exceptionr1   r6   r   r"   r   r+   r+   /   sŠ   € € € € € € ð	ð 	ð ˆˆ‰Ø˜”OÐ#Ð#Ñ#ð	) Cð 	)°T¸)´_ð 	)Èð 	)ð 	)ð 	)ð 	)ð	W˜cð 	Wð 	Wð 	Wð 	Wð 	Wð 	Wr"   r+   c                   ó>   ‡ — e Zd ZU dZeed<   	 dededdfˆ fd„Zˆ xZS )ÚInvalidMetadataz'A metadata field contains invalid data.Úfieldr,   r.   Nc                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r=   Úsuperr1   )r0   r=   r,   r5   s      €r   r1   zInvalidMetadata.__init__J   s(   ø€ ØˆŒ
Ý‰Œ×Ò˜Ñ!Ô!Ð!Ð!Ð!r"   )r$   r%   r&   r7   r8   r9   r1   Ú__classcell__)r5   s   @r   r<   r<   D   sf   ø€ € € € € € Ø1Ð1à€J€J�JØ;ð"˜cð "¨Cð "°Dð "ð "ð "ð "ð "ð "ð "ð "ð "ð "r"   r<   c                   óØ  — e Zd ZU dZeed<   eed<   eed<   ee         ed<   eed<   eed<   ee         ed<   eed	<   eed
<   eed<   eed<   ee         ed<   eed<   ee         ed<   ee         ed<   ee         ed<   ee         ed<   eed<   eed<   ee         ed<   ee         ed<   ee         ed<   eed<   ee         ed<   eeef         ed<   eed<   ee         ed<   ee         ed<   dS )ÚRawMetadataa¿  A dictionary of raw core metadata.

    Each field in core metadata maps to a key of this dictionary (when data is
    provided). The key is lower-case and underscores are used instead of dashes
    compared to the equivalent core metadata field. Any core metadata field that
    can be specified multiple times or can hold multiple values in a single
    field have a key with a plural name. See :class:`Metadata` whose attributes
    match the keys of this dictionary.

    Core metadata fields that can be specified multiple times are stored as a
    list or dict depending on which is appropriate for the field. Any fields
    which hold multiple values in a single field are stored as a list.

    Úmetadata_versionÚnamer   Ú	platformsÚsummaryÚdescriptionÚkeywordsÚ	home_pageÚauthorÚauthor_emailÚlicenseÚsupported_platformsÚdownload_urlÚclassifiersÚrequiresÚprovidesÚ	obsoletesÚ
maintainerÚmaintainer_emailÚrequires_distÚprovides_distÚobsoletes_distÚrequires_pythonÚrequires_externalÚproject_urlsÚdescription_content_typeÚprovides_extraÚdynamicN)r$   r%   r&   r7   r8   r9   r   r   r   r"   r   rB   rB   S   s�  € € € € € € ðð ð  ÐÐÑØ
€I€I�IØ€L€L�LØ�CŒyÐÐÑØ€L€L�LØÐÐÑØ�3ŒiÐÐÑØ€N€N�NØ€K€K�KØÐÐÑØ€L€L�Lð ˜cœÐ"Ð"Ñ"ØÐÐÑØ�c”ÐÐÑØ�3ŒiÐÐÑØ�3ŒiÐÐÑØ�CŒyÐÐÑð €O€O�OØÐÐÑØ˜”9ÐÐÑØ˜”9ÐÐÑØ˜”IÐÐÑØÐÐÑØ˜C”yÐ Ð Ñ Ø�s˜C�x”.Ð Ð Ñ ð "Ð!Ð!Ñ!Ø˜”IÐÐÑð �#ŒYÐÐÑÐÐr"   rB   F)Útotal>   rD   rJ   rL   rF   r   rI   rS   rG   rK   rN   rX   rT   rC   r[   >   r]   rQ   rP   rR   rE   rO   rV   rU   rW   r\   rY   rM   rZ   Údatar.   c                 ó@   — d„ |                       d¦  «        D ¦   «         S )zCSplit a string of comma-separate keyboards into a list of keywords.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Ústrip)Ú.0Úks     r   ú
<listcomp>z#_parse_keywords.<locals>.<listcomp>¾   s    € Ð/Ð/Ð/˜!ˆA�GŠG‰IŒIÐ/Ð/Ð/r"   ú,)Úsplit)r_   s    r   Ú_parse_keywordsri   ¼   s    € à/Ð/˜tŸzšz¨#™œÐ/Ñ/Ô/Ð/r"   c                 óü   — i }| D ]v}d„ |                      dd¦  «        D ¦   «         }|                     dgt          ddt          |¦  «        z
  ¦  «        z  ¦  «         |\  }}||v rt	          d¦  «        ‚|||<   Œw|S )z?Parse a list of label/URL string pairings separated by a comma.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rb   )rd   Úps     r   rf   z'_parse_project_urls.<locals>.<listcomp>Ö   s    € Ð7Ð7Ð7˜q�—’‘”Ð7Ð7Ð7r"   rg   r   Ú r   r   z duplicate labels in project urls)rh   ÚextendÚmaxÚlenÚKeyError)r_   ÚurlsÚpairÚpartsÚlabelÚurls         r   Ú_parse_project_urlsrw   Á   s›   € à€DØð  ð  ˆð$ 8Ð7 D§J¢J¨s°AÑ$6Ô$6Ð7Ñ7Ô7ˆØ�Š�b�T�S  A­¨E©
¬
¡NÑ3Ô3Ñ4Ñ5Ô5Ð5ð ‰
ˆˆsØ�Dˆ=ˆ=õ Ð=Ñ>Ô>Ð>ØˆˆU‰ˆà€Kr"   ÚmsgÚsourcec                 óì   — t          |t          ¦  «        r|                      ¦   «         }|S |                      d¬¦  «        }	 |                     dd¦  «        S # t          $ r t          d¦  «        ‚w xY w)zGet the body of the message.T©ÚdecodeÚutf8Ústrictzpayload in an invalid encoding)Ú
isinstancer8   Úget_payloadr|   ÚUnicodeDecodeErrorÚ
ValueError)rx   ry   ÚpayloadÚbpayloads       r   Ú_get_payloadr…   é   s‚   € õ �&�#ÑÔð 
?Ø—’Ñ(Ô(ˆØˆð Ÿ/š/°˜/Ñ6Ô6ˆð	?Ø—?’? 6¨8Ñ4Ô4Ð4øÝ!ð 	?ð 	?ð 	?ÝÐ=Ñ>Ô>Ð>ð	?øøøs   ÁA ÁA3rJ   zauthor-emailrK   Ú
classifierrO   rG   zdescription-content-typer[   zdownload-urlrN   r]   z	home-pagerI   rH   rL   rS   zmaintainer-emailrT   úmetadata-versionrC   rD   rR   zobsoletes-distrW   ÚplatformrE   rQ   rV   r\   rP   rU   rY   rX   rF   rM   r   )zproject-urlrQ   zprovides-distzprovides-extrarP   zrequires-distzrequires-externalzrequires-pythonrF   zsupported-platformr   c                 ó   — i | ]\  }}||“Œ	S r   r   )rd   ÚemailÚraws      r   ú
<dictcomp>rŒ   $  s   € ÐTÐTÐT©
¨¨s˜˜eÐTÐTÐTr"   c           	      ó²  — i }i }t          | t          ¦  «        rCt          j                             t          j        j        ¬¦  «                             | ¦  «        }nBt          j                             t          j        j        ¬¦  «         	                    | ¦  «        }t          |                     ¦   «         ¦  «        D �]}|                     ¦   «         }|                     |¦  «        pg }g }d}|D �]}t          |t          j        j        t          f¦  «        sJ ‚t          |t          j        j        ¦  «        r¬g }	t          j                             |¦  «        D ]J\  }
}	 |
                     dd¦  «         d}n# t$          $ r d}d}Y nw xY w|	                     |
|f¦  «         ŒK|                     t          t          j                             |	¦  «        ¦  «        ¦  «         Œö|                     |¦  «         �Œ|s|||<   �ŒJt*                               |¦  «        }|€|||<   �Œm|t.          v r t1          |¦  «        dk    r|d	         ||<   �Œ–|t2          v r|||<   �Œ¦|d
k    r-t1          |¦  «        dk    rt5          |d	         ¦  «        ||<   �ŒÙ|dk    r+	 t7          |¦  «        ||<   �Œô# t8          $ r	 |||<   Y �Œw xY w|||<   �Œ	 t;          || ¦  «        }|r}d|v rTt=          t          |                     d¦  «        ¦  «        }|                      dg ¦  «         !                    ||g¦  «         n†d|v r|d                              |¦  «         nf||d<   n`# tD          $ rS |                      dg ¦  «                             | #                    t          | tH          ¦  «        ¬¦  «        ¦  «         Y nw xY wt=          tJ          |¦  «        |fS )a
  Parse a distribution's metadata stored as email headers (e.g. from ``METADATA``).

    This function returns a two-item tuple of dicts. The first dict is of
    recognized fields from the core metadata specification. Fields that can be
    parsed and translated into Python's built-in types are converted
    appropriately. All other fields are left as-is. Fields that are allowed to
    appear multiple times are stored as lists.

    The second dict contains all other fields from the metadata. This includes
    any unrecognized fields. It also includes any fields which are expected to
    be parsed into a built-in type but were not formatted appropriately. Finally,
    any fields that are expected to appear only once but are repeated are
    included in this dict.

    )ÚpolicyTr}   r~   Úlatin1FNr   r   rH   rZ   rG   r{   )&r   r8   rŠ   ÚparserÚParserrŽ   Úcompat32ÚparsestrÚBytesParserÚ
parsebytesÚ	frozensetÚkeysÚlowerÚget_allÚheaderÚHeaderÚdecode_headerr|   r�   ÚappendÚmake_headerÚ_EMAIL_TO_RAW_MAPPINGÚgetÚ_STRING_FIELDSrp   Ú_LIST_FIELDSri   rw   rq   r…   r   ÚpopÚ
setdefaultrn   r‚   r€   ÚbytesrB   )r_   r‹   ÚunparsedÚparsedrD   ÚheadersÚvalueÚvalid_encodingÚhÚchunksÚbinÚencodingÚraw_namerƒ   Údescription_headers                  r   Úparse_emailr±   '  s/  € ð  =?€CØ%'€Hå�$�ÑÔð YÝ”×$Ò$­E¬LÔ,AÐ$ÑBÔB×KÒKÈDÑQÔQˆˆå”×)Ò)µ´Ô1FÐ)ÑGÔG×RÒRÐSWÑXÔXˆõ
 ˜&Ÿ+š+™-œ-Ñ(Ô(ð t#ñ t#ˆð �zŠz‰|Œ|ˆð
 —.’. Ñ&Ô&Ð,¨"ˆð ˆð ˆØð #	 ñ #	 ˆAõ ˜a¥%¤,Ô"5µsÐ!;Ñ<Ô<Ð<Ð<Ð<õ ˜!�Uœ\Ô0Ñ1Ô1ð  ð =?�Ý%*¤\×%?Ò%?ÀÑ%BÔ%Bð 	3ð 	3‘M�C˜ð*ØŸ
š
 6¨8Ñ4Ô4Ð4ð $*˜˜øõ .ð /ð /ð /à#+˜Ø).˜˜˜ð/øøøð —M’M 3¨ /Ñ2Ô2Ð2Ð2ð
 —’�S¥¤×!9Ò!9¸&Ñ!AÔ!AÑBÔBÑCÔCÐCÐCð —’˜Q‘”�‘ð
 ð 	Ø"ˆH�T‰NÙå(×,Ò,¨TÑ2Ô2ˆØÐð #ˆH�T‰NÙð •~Ð%Ð%­#¨e©*¬*¸ª/¨/Ø! !œHˆC�‰M‰Mð �Ð%Ð%Ø!ˆC�‰M‰Mð ˜Ò#Ð#­¨E©
¬
°aª¨Ý+¨E°!¬HÑ5Ô5ˆC�‰M‰Mð ˜Ò'Ð'ð'Ý 3°EÑ :Ô :��H‘‘øÝð 'ð 'ð 'Ø!&�˜‘�‘ð'øøøð
 #ˆH�T‰N‰Nð-Ý˜v tÑ,Ô,ˆð ð 	-ð  Ð#Ð#Ý%)­#¨s¯wªw°}Ñ/EÔ/EÑ%FÔ%FÐ"Ø×#Ò# M°2Ñ6Ô6×=Ò=Ø'¨Ð1ñô ð ð ð  (Ð*Ð*Ø˜Ô'×.Ò.¨wÑ7Ô7Ð7Ð7à%,��MÑ"øøõ! ð 
ð 
ð 
Ø×Ò˜M¨2Ñ.Ô.×5Ò5Ø×Ò¥j°µuÑ&=Ô&=ÐÑ>Ô>ñ	
ô 	
ð 	
ð 	
ð 	
ð
øøøõ, •˜SÑ!Ô! 8Ð+Ð+s7   Å%E>Å>F	ÆF	Ê J4Ê4KËKËM" Í"AN?Î>N?)ú1.0ú1.1ú1.2ú2.1ú2.2z2.3)rC   rD   r   c                   ó   — e Zd ZU dZeed<   eed<   eed<   ddœdeddfd	„Zd
ddeddfd„Zddd
e	d         de
fd„Z	 ddedee         defd„Zdedefd„Zdedefd„Zdedej        fd„Zdedefd„Zdedefd„Zdee         dee         fd„Zdee         deej                 fd„Zdedej        fd„Zdee         deej                  fd„Z!dS )Ú
_Validatorav  Validate a metadata field.

    All _process_*() methods correspond to a core metadata field. The method is
    called with the field's raw value. If the raw value is valid it is returned
    in its "enriched" form (e.g. ``version.Version`` for the ``Version`` field).
    If the raw value is invalid, :exc:`InvalidMetadata` is raised (with a cause
    as appropriate).
    rD   r¯   Úaddedr²   ©r¹   r.   Nc                ó   — || _         d S r   rº   )r0   r¹   s     r   r1   z_Validator.__init__ï  s   € ð
 ˆŒ
ˆ
ˆ
r"   Ú_ownerÚMetadatac                 ó8   — || _         t          |         | _        d S r   )rD   Ú_RAW_TO_EMAIL_MAPPINGr¯   )r0   r¼   rD   s      r   Ú__set_name__z_Validator.__set_name__ö  s   € ØˆŒ	Ý-¨dÔ3ˆŒˆˆr"   Úinstancec                 óT  — |j         }|j                             | j        ¦  «        }| j        t          v s|�5	 t          | d| j        › �¦  «        } ||¦  «        }n# t          $ r Y nw xY w||| j        <   	 |j        | j        = n# t          $ r Y nw xY wt          t          |¦  «        S )NÚ	_process_)
Ú__dict__Ú_rawr    rD   Ú_REQUIRED_ATTRSÚgetattrÚAttributeErrorrq   r   r   )r0   rÁ   r¼   Úcacher©   Ú	converters         r   Ú__get__z_Validator.__get__ú  sÝ   € ð Ô!ˆØ”×!Ò! $¤)Ñ,Ô,ˆð Œ9�Ð'Ð'¨5Ð+<ð)Ý07¸Ð>UÈ$Ì)Ð>UÐ>UÑ0VÔ0V�	ð "˜	 %Ñ(Ô(��øõ "ð ð ð Ø�ðøøøð
 !ˆˆdŒiÑð	Ø”˜dœiÐ(Ð(øÝð 	ð 	ð 	ØˆDð	øøøõ •A�u‰~Œ~Ðs#   ¸A Á
A)Á(A)Á7B Â
BÂBrx   Úcausec           	      óŒ   — t          | j        |                     dt          | j        ¦  «        i¦  «        ¦  «        }||_        |S )Nr=   )r<   r¯   Ú
format_mapÚreprÚ	__cause__)r0   rx   rÌ   Úexcs       r   Ú_invalid_metadataz_Validator._invalid_metadata  sC   € õ ØŒM˜3Ÿ>š>¨7µD¸¼Ñ4GÔ4GÐ*HÑIÔIñ
ô 
ˆð ˆŒØˆ
r"   r©   c                 ón   — |t           vr|                      |›d�¦  «        ‚t          t          |¦  «        S )Nz  is not a valid metadata version)Ú_VALID_METADATA_VERSIONSrÒ   r   Ú_MetadataVersion©r0   r©   s     r   Ú_process_metadata_versionz$_Validator._process_metadata_version  s<   € àÕ0Ð0Ð0Ø×(Ò(¨EÐ)UÐ)UÐ)UÑVÔVÐVÝÕ$ eÑ,Ô,Ð,r"   c                 óÄ   — |s|                       d¦  «        ‚	 t          j        |d¬¦  «         |S # t          j        $ r}|                       |›d�|¬¦  «        ‚d }~ww xY w)Nú{field} is a required fieldT©Úvalidateú is invalid for {field}©rÌ   )rÒ   r   Úcanonicalize_nameÚInvalidName©r0   r©   rÑ   s      r   Ú_process_namez_Validator._process_name$  s‘   € Øð 	HØ×(Ò(Ð)FÑGÔGÐGð	ÝÔ# E°DÐ9Ñ9Ô9Ð9ð ˆLøõ Ô ð 	ð 	ð 	Ø×(Ò(ØÐ5Ð5Ð5¸Sð )ñ ô ð øøøøð	øøøs   ™1 ±AÁ AÁAc                 ó¼   — |s|                       d¦  «        ‚	 t          j        |¦  «        S # t          j        $ r}|                       |›d�|¬¦  «        ‚d }~ww xY w)NrÙ   rÜ   rÝ   )rÒ   Úversion_moduleÚparseÚInvalidVersionrà   s      r   Ú_process_versionz_Validator._process_version1  sƒ   € Øð 	HØ×(Ò(Ð)FÑGÔGÐGð	Ý!Ô'¨Ñ.Ô.Ð.øÝÔ,ð 	ð 	ð 	Ø×(Ò(ØÐ5Ð5Ð5¸Sð )ñ ô ð øøøøð	øøøs   ™- ­A¼AÁAc                 ó8   — d|v r|                       d¦  «        ‚|S )z%Check the field contains no newlines.ú
z{field} must be a single line)rÒ   rÖ   s     r   Ú_process_summaryz_Validator._process_summary;  s%   € à�5ˆ=ˆ=Ø×(Ò(Ð)HÑIÔIÐIØˆr"   c                 óX  — h d£}t           j                             ¦   «         }||d<   |                     ¦   «                              ¦   «         |d         j        }}||vs||                     ¦   «         vr(|                      dt          |¦  «        › d|›�¦  «        ‚|                     dd¦  «        }|dk    r%|                      dt          |¦  «        › �¦  «        ‚dd	h}|                     d
d¦  «        }|dk    r,||vr(|                      dt          |¦  «        › d|›�¦  «        ‚|S )N>   ú
text/plainú
text/x-rstútext/markdownzcontent-typez{field} must be one of z, not ÚcharsetzUTF-8z0{field} can only specify the UTF-8 charset, not ÚGFMÚ
CommonMarkÚvariantrí   z(valid Markdown variants for {field} are )	rŠ   r,   ÚEmailMessageÚget_content_typer˜   ÚparamsrÒ   Úlistr    )	r0   r©   Úcontent_typesr,   Úcontent_typeÚ
parametersrî   Úmarkdown_variantsrñ   s	            r   Ú!_process_description_content_typez,_Validator._process_description_content_typeA  sp  € ØEÐEÐEˆÝ”-×,Ò,Ñ.Ô.ˆØ"'ˆ�Ñð ×$Ò$Ñ&Ô&×,Ò,Ñ.Ô.Ø�NÔ#Ô*ð !ˆð ˜}Ð,Ð,°ÀEÇKÂKÁMÄMÐ0QÐ0QØ×(Ò(ØP­D°Ñ,?Ô,?ÐPÐPÀuÐPÐPñô ð ð —.’. ¨GÑ4Ô4ˆØ�gÒÐØ×(Ò(ØTÅTÈ'Á]Ä]ÐTÐTñô ð ð # LÐ1ÐØ—.’. ¨EÑ2Ô2ˆØ˜?Ò*Ð*¨wÐ>OÐ/OÐ/OØ×(Ò(ð#½TÐBSÑ=TÔ=Tð #ð #Øð#ð #ñô ð ð ˆr"   c                 ó  — t          t          j        |¦  «        D ]?}|dv r|                      |›d�¦  «        ‚|t          vr|                      |›d�¦  «        ‚Œ@t          t          t          j        |¦  «        ¦  «        S )N>   rD   r   r‡   z" is not allowed as a dynamic fieldz is not a valid dynamic field)Úmapr8   r˜   rÒ   rŸ   rõ   )r0   r©   Údynamic_fields      r   Ú_process_dynamicz_Validator._process_dynamica  s™   € Ý ¥¤¨EÑ2Ô2ð 	Xð 	XˆMØÐ GÐGÐGØ×,Ò,ØÐBÐBÐBñô ð ð Õ&;Ð;Ð;Ø×,Ò,°Ð-VÐ-VÐ-VÑWÔWÐWð <å•C�œ	 5Ñ)Ô)Ñ*Ô*Ð*r"   c                 óÌ   — g }	 |D ]+}|                      t          j        |d¬¦  «        ¦  «         Œ,	 |S # t          j        $ r}|                      |›d�|¬¦  «        ‚d }~ww xY w)NTrÚ   rÜ   rÝ   )r�   r   rÞ   rß   rÒ   )r0   r©   Únormalized_namesrD   rÑ   s        r   Ú_process_provides_extraz"_Validator._process_provides_extrak  s¤   € ð Ðð	$Øð Vð V�Ø ×'Ò'­Ô(?ÀÈtÐ(TÑ(TÔ(TÑUÔUÐUÐUðVð $Ð#øõ Ô ð 	ð 	ð 	Ø×(Ò(ØÐ4Ð4Ð4¸Cð )ñ ô ð øøøøð	øøøs   „.5 µA#ÁAÁA#c                 óŽ   — 	 t          j        |¦  «        S # t           j        $ r}|                      |›d�|¬¦  «        ‚d }~ww xY w©NrÜ   rÝ   )r   ÚSpecifierSetÚInvalidSpecifierrÒ   rà   s      r   Ú_process_requires_pythonz#_Validator._process_requires_pythonz  se   € ð	ÝÔ*¨5Ñ1Ô1Ð1øÝÔ*ð 	ð 	ð 	Ø×(Ò(ØÐ5Ð5Ð5¸Sð )ñ ô ð øøøøð	øøøs   ‚ –A¥?¿Ac                 óÈ   — g }	 |D ])}|                      t          j        |¦  «        ¦  «         Œ*	 |S # t          j        $ r}|                      |›d�|¬¦  «        ‚d }~ww xY wr  )r�   r   ÚRequirementÚInvalidRequirementrÒ   )r0   r©   ÚreqsÚreqrÑ   s        r   Ú_process_requires_distz!_Validator._process_requires_dist‚  s”   € ð ˆð	Øð ;ð ;�Ø—’�LÔ4°SÑ9Ô9Ñ:Ô:Ð:Ð:ð;ð
 ˆKøõ Ô.ð 	Yð 	Yð 	YØ×(Ò(¨CÐ)LÐ)LÐ)LÐTWÐ(ÑXÔXÐXøøøøð	Yøøøs   „,3 ³A!ÁAÁA!r   )"r$   r%   r&   r7   r8   r9   rÕ   r1   rÀ   r
   r   rË   r   r:   r<   rÒ   r×   rá   rã   ÚVersionræ   ré   rú   r   rþ   r   ÚNormalizedNamer  r   r  r  r   r  r  r   r"   r   r¸   r¸   á  sk  € € € € € € ðð ð €I€I�IØ€M€M�MØÐÐÑð
 #(ðð ð ð  ðð 
ð	ð ð ð ð4 :ð 4°Sð 4¸Tð 4ð 4ð 4ð 4ð 
ð °D¸Ô4Dð Èð ð ð ð ð8 6:ðð ØðØ'¨	Ô2ðà	ðð ð ð ð-¨sð -Ð7Gð -ð -ð -ð -ð 3ð ¨3ð ð ð ð ð cð ¨nÔ.Dð ð ð ð ð cð ¨cð ð ð ð ð°sð ¸sð ð ð ð ð@+ d¨3¤ið +°D¸´Ið +ð +ð +ð +ð$à�CŒyð$ð 
ˆeÔ"Ô	#ð$ð $ð $ð $ð¨cð °jÔ6Mð ð ð ð ðà�CŒyðð 
ˆlÔ&Ô	'ðð ð ð ð ð r"   r¸   c                   ó”  — e Zd ZU dZeed<   eddœdededd fd„¦   «         Zeddœde	e
ef         dedd fd	„¦   «         Z e¦   «         Zee         ed
<   	  e¦   «         Zee         ed<   	  e¦   «         Zeej                 ed<   	  ed¬¦  «        Zeeee                           ed<   	  e¦   «         Zeeee                           ed<   	  ed¬¦  «        Zeeee                           ed<   	  e¦   «         Zeee                  ed<   	  e¦   «         Zeee                  ed<   	  ed¬¦  «        Zeee                  ed<   	  e¦   «         Zeeee                           ed<   	  e¦   «         Zeee                  ed<   	  ed¬¦  «        Zeee                  ed<   	  e¦   «         Zeee                  ed<   	  e¦   «         Z eee                  ed<   	  ed¬¦  «        Z!eee                  ed<   	  ed¬¦  «        Z"eee                  ed<   	  e¦   «         Z#eee                  ed<   	  ed¬¦  «        Z$eeee                           ed <   	  ed¬¦  «        Z%eeee&j'                                   ed!<   	  ed¬¦  «        Z(eee)j*                          ed"<   	  ed¬¦  «        Z+eeee                           ed#<   	  ed¬¦  «        Z,eee-eef                           ed$<   	  ed¬¦  «        Z.eeee/j0                                   ed%<   	  ed¬¦  «        Z1eeee                           ed&<   	  ed¬¦  «        Z2eeee                           ed'<   	  ed¬¦  «        Z3eeee                           ed(<   	  ed¬¦  «        Z4eeee                           ed)<   	  ed¬¦  «        Z5eeee                           ed*<   d+S ),r½   aJ  Representation of distribution metadata.

    Compared to :class:`RawMetadata`, this class provides objects representing
    metadata fields instead of only using built-in types. Any invalid metadata
    will cause :exc:`InvalidMetadata` to be raised (with a
    :py:attr:`~BaseException.__cause__` attribute as appropriate).
    rÅ   TrÚ   r_   rÛ   r.   c                ó&  —  | ¦   «         }|                      ¦   «         |_        |�rjg }	 |j        }t                               |¦  «        }n.# t
          $ r!}|                     |¦  «         d}Y d}~nd}~ww xY wt          |j        ¦  «        t          z  }|dhz  }|D ]à}		 |rŸ	 | j	        |	         j
        }
n8# t          $ r+ t          |	d|	›�¦  «        }|                     |¦  «         Y ŒMw xY wt                               |
¦  «        }||k    r3t          |	         }t          |d¦  «        }|                     |¦  «         Œ¤t          ||	¦  «         Œµ# t
          $ r}|                     |¦  «         Y d}~ŒÙd}~ww xY w|rt          d|¦  «        ‚|S )zÞCreate an instance from :class:`RawMetadata`.

        If *validate* is true, all metadata will be validated. All exceptions
        related to validation will be gathered and raised as an :class:`ExceptionGroup`.
        NrC   úunrecognized field: zW{field} introduced in metadata version {field_metadata_version}, not {metadata_version}zinvalid metadata)ÚcopyrÅ   rC   rÔ   Úindexr<   r�   r–   rÆ   rÄ   r¹   rq   r¿   rÇ   r+   )Úclsr_   rÛ   Úinsr-   rC   Úmetadata_ageÚmetadata_version_excÚfields_to_checkÚkeyÚfield_metadata_versionrÑ   Ú	field_ager=   s                 r   Úfrom_rawzMetadata.from_raw›  s  € ð ˆc‰eŒeˆØ—9’9‘;”;ˆŒàñ +	EØ*,ˆJð(Ø#&Ô#7Ð Ý7×=Ò=Ð>NÑOÔO��øÝ"ð (ð (ð (Ø×!Ò!Ð"6Ñ7Ô7Ð7Ø#'Ð Ð Ð Ð Ð Ð øøøøð(øøøõ (¨¬Ñ1Ô1µOÑCˆOàÐ 2Ð3Ñ3ˆOà&ð +ð +�ð+Ø'ð %ð%Ø58´\À#Ô5FÔ5LÐ2Ð2øÝ'ð %ð %ð %Ý"1°#Ð7UÈcÐ7UÐ7UÑ"VÔ"V˜CØ&×-Ò-¨cÑ2Ô2Ð2Ø$˜Hð%øøøõ %=×$BÒ$BØ2ñ%ô %˜	ð % |Ò3Ð3Ý$9¸#Ô$>˜EÝ"1Ø %ð!Sñ#ô #˜Cð
 '×-Ò-¨cÑ2Ô2Ð2Ø$Ý˜C Ñ%Ô%Ð%Ð%øÝ&ð +ð +ð +Ø×%Ò% cÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*øøøøð+øøøð ð EÝ$Ð%7¸ÑDÔDÐDàˆ
sZ   ª!A Á
A7ÁA2Á2A7Â!EÂ$B7Â6EÂ72C,Ã)EÃ+C,Ã,AEÅEÅ
E<ÅE7Å7E<c                óJ  — t          |¦  «        \  }}|rPg }|D ]9}|t          v r|›d�}nd|›�}|                     t          ||¦  «        ¦  «         Œ:|rt	          d|¦  «        ‚	 |                      ||¬¦  «        S # t          $ r}t	          d|j        ¦  «        d‚d}~ww xY w)zÓParse metadata from email headers.

        If *validate* is true, the metadata will be validated. All exceptions
        related to validation will be gathered and raised as an :class:`ExceptionGroup`.
        z has invalid datar  r¦   rÚ   zinvalid or unparsed metadataN)r±   rŸ   r�   r<   r+   r  r-   )	r  r_   rÛ   r‹   r¦   r-   Úunparsed_keyr,   Ú	exc_groups	            r   Ú
from_emailzMetadata.from_emailÔ  sì   € õ $ DÑ)Ô)‰ˆˆXàð 
	=Ø*,ˆJØ (ð Jð J�ØÕ#8Ð8Ð8Ø!-ÐBÐBÐB�G�GàE°\ÐEÐE�GØ×!Ò!¥/°,ÀÑ"HÔ"HÑIÔIÐIÐIàð =Ý$ Z°Ñ<Ô<Ð<ð	Ø—<’< ¨h�<Ñ7Ô7Ð7øÝð 	ð 	ð 	Ý Ø.°	Ô0Dñô àðøøøøð	øøøs   Á&A= Á=
B"ÂBÂB"rC   rD   r   r¶   rº   r]   rE   r³   rM   rF   rG   rµ   r[   rH   rI   rN   rJ   rK   r´   rS   rT   rL   rO   rU   rX   rY   rZ   r\   rV   rW   rP   rQ   rR   N)6r$   r%   r&   r7   rB   r9   ÚclassmethodÚboolr  r   r¥   r8   r   r¸   rC   rÕ   rD   r   rã   r  r]   r   r   rE   rM   rF   rG   r[   rH   rI   rN   rJ   rK   rS   rT   rL   rO   rU   r   r  rX   r   r  rY   rZ   r   r\   r   r  rV   rW   rP   rQ   rR   r   r"   r   r½   r½   �  s�  € € € € € € ðð ð ÐÐÑàØ=Að 6ð 6ð 6˜Kð 6°dð 6Àjð 6ð 6ð 6ñ „[ð6ðp à:>ðð ð Ø˜ ˜Ô$ðØ37ðà	ðð ð ñ „[ðð: 6@°Z±\´\Ð�jÐ!1Ô2ÐAÐAÑAð<à&˜J™LœL€Dˆ*�SŒ/Ð(Ð(Ñ(ðð 3=°*±,´,€GˆZ˜Ô.Ô/Ð>Ð>Ñ>Ø:Ø/9¨zØð0ñ 0ô 0€GˆZ˜  c¤Ô+Ô,ð ð ñ ðDà1;°±´€Iˆz˜( 4¨¤9Ô-Ô.Ð=Ð=Ñ=Ø0Ø;E¸:ÈEÐ;RÑ;RÔ;RÐ˜ H¨T°#¬YÔ$7Ô8ÐRÐRÑRØ:Ø)3¨©¬€GˆZ˜ œÔ&Ð5Ð5Ñ5ØRØ-7¨Z©\¬\€K�˜H SœMÔ*Ð9Ð9Ñ9Ø3Ø:D¸*È5Ð:QÑ:QÔ:QÐ˜j¨°#¬Ô7ÐQÐQÑQØLØ0:°
±´€Hˆj˜ $ s¤)Ô,Ô-Ð<Ð<Ñ<Ø0Ø+5¨:©<¬<€Iˆz˜( 3œ-Ô(Ð7Ð7Ñ7Ø1Ø.8¨j¸uÐ.EÑ.EÔ.E€L�*˜X cœ]Ô+ÐEÐEÑEØ4Ø(2¨
©¬€FˆJ�x ”}Ô%Ð4Ð4Ñ4Ø.Ø.8¨j©l¬l€L�*˜X cœ]Ô+Ð:Ð:Ñ:Ø4Ø,6¨J¸UÐ,CÑ,CÔ,C€J�
˜8 Cœ=Ô)ÐCÐCÑCØ2Ø2<°*À5Ð2IÑ2IÔ2IÐ�j ¨#¤Ô/ÐIÐIÑIØ8Ø)3¨©¬€GˆZ˜ œÔ&Ð5Ð5Ñ5Ø/Ø3=°:ÀEÐ3JÑ3JÔ3J€K�˜H T¨#¤YÔ/Ô0ÐJÐJÑJØ2ØJTÈ*ØðKñ Kô K€M�:˜h t¨LÔ,DÔ'EÔFÔGð ð ñ ð 6ØEOÀZØðFñ Fô F€O�Z ¨Ô)@Ô AÔBð ð ñ ð 8ð :D¸È%Ð9PÑ9PÔ9PÐ�z (¨4°¬9Ô"5Ô6ÐPÐPÑPØ9Ø9C¸È%Ð9PÑ9PÔ9P€L�*˜X d¨3°¨8¤nÔ5Ô6ÐPÐPÑPØ3ð HRÀzØðHñ Hô H€N�J˜x¨¨UÔ-AÔ(BÔCÔDð ð ñ ð 7Ø5?°ZÀeÐ5LÑ5LÔ5L€M�:˜h t¨C¤yÔ1Ô2ÐLÐLÑLØ5Ø6@°jÀuÐ6MÑ6MÔ6M€N�J˜x¨¨S¬	Ô2Ô3ÐMÐMÑMØ6Ø0:°
ÀÐ0GÑ0GÔ0G€Hˆj˜ $ s¤)Ô,Ô-ÐGÐGÑGØ#Ø0:°
ÀÐ0GÑ0GÔ0G€Hˆj˜ $ s¤)Ô,Ô-ÐGÐGÑGØ#Ø1;°À%Ð1HÑ1HÔ1H€Iˆz˜( 4¨¤9Ô-Ô.ÐHÐHÑHØ$Ð$r"   r½   )<Úemail.feedparserrŠ   Úemail.headerÚemail.messageÚemail.parserÚemail.policyÚsysÚtypingr   r   r   r   r   r   r	   r
   r   r   rm   r   r   r   r   rã   ÚTypeVarr   Úversion_infor   r   ÚTYPE_CHECKINGÚtyping_extensionsÚImportErrorr+   Ú	NameErrorr:   r‚   r<   rB   r¡   r¢   Ú_DICT_FIELDSr8   ri   rw   r,   ÚMessager¥   r…   rŸ   Úitemsr¿   r±   ÚobjectÚ
_NOT_FOUNDrÔ   rÕ   r–   rÆ   r¸   r½   r   r"   r   ú<module>r5     sœ  ðØ Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ø 
€
€
€
Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð IÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ Hà€F„N�3ÑÔ€ØÔ�B�Q�BÔ˜6Ò!Ð!Ø)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)àÔð Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð
	Ø<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<øØð 	ð 	ð 	ðð ð ð ð ñ ô ð ðð ð ð ð ñ ô ð ð ð ð	øøøð$Ø€Nð* $€N€Nøð) ð Wð Wð WðWð Wð Wð Wð W˜ñ Wô Wð Wð Wð WðWøøøð."ð "ð "ð "ð "�jñ "ô "ð "ð=ð =ð =ð =ð =�) 5ð =ñ =ô =ð =ðHð ð €ð"ð ð €ð  ð€ð
0˜#ð 0 $ s¤)ð 0ð 0ð 0ð 0ð
%˜d 3œið %¨D°°c°¬Nð %ð %ð %ð %ðP?�e”mÔ+ð ?°U¸5À#¸:Ô5Fð ?È3ð ?ð ?ð ?ð ?ð:Øˆhðà�Nðð �-ðð �=ð	ð
 Ð :ðð �Nðð ˆyðð �ðð �
ðð ˆyðð �,ðð Ð*ðð Ð*ðð ˆFðð �ðð  Ð&ð!ð" �ð#ð$ "ØØ$Ø&ØØ$Ø,Ø(ØØ/Øð9ð ð Ð ð< UÐTÐ6K×6QÒ6QÑ6SÔ6SÐTÑTÔTÐ ðm,�e˜E 3˜JÔ'ð m,¨E°+¸tÀCÈÈcÌÀNÔ?SÐ2SÔ,Tð m,ð m,ð m,ð m,ð` ˆV‰XŒX€
ð FÐEÐEÐ ØÐCÔDÐ à�)ÐCÐCÐCÑDÔD€ðlð lð lð lð l�˜”ñ lô lð lð^i%ð i%ð i%ð i%ð i%ñ i%ô i%ð i%ð i%ð i%s$   Á>B ÂB)Â(B)Â-B2 Â2CÃC