Ë
    !täiÇ  ã                   ó†   — d Z ddlmZmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ ddlmZ dgZ G d„ de«      Z G d	„ de«      Zy
)zË
    pygments.lexers.email
    ~~~~~~~~~~~~~~~~~~~~~

    Lexer for the raw E-mail.

    :copyright: Copyright 2006-present by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )Ú
RegexLexerÚDelegatingLexerÚbygroups)Ú	MIMELexer)ÚTextÚKeywordÚNameÚStringÚNumberÚComment)Úget_bool_optÚ
EmailLexerc                    ó  ‡ — e Zd ZdZˆ fd„Zd„ Zdej                  dfdefgdej                  fdej                  d	fd
e
fde
fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                  fdej                   fd eej&                  ej(                  ej&                  e
j(                  ej&                  ej                  ej&                  «      fdej                  fdefgd œZˆ xZS )!ÚEmailHeaderLexerzm
    Sub-lexer for raw E-mail. This lexer only process header part of e-mail.

    .. versionadded:: 2.5
    c                 óH   •— t        ‰| �  di |¤Ž t        |dd«      | _        y )Nzhighlight-X-headerF© )ÚsuperÚ__init__r   Úhighlight_x©ÚselfÚoptionsÚ	__class__s     €úd/Volumes/fast/ai/experiments/MLX_z-image/.venv/lib/python3.12/site-packages/pygments/lexers/email.pyr   zEmailHeaderLexer.__init__   s%   ø€ Ü‰ÑÑ#˜7Ò#Ü'¨Ð1EÀuÓMˆÕó    c              #   ó´  K  — | j                   r`|j                  d«      t        j                  |j	                  d«      f–— | j                  |j	                  d«      d¬«      }|E d {  –—†  y |j                  d«      t        j                  |j	                  d«      f–— |j                  d«      t        j                  |j	                  d«      f–— y 7 Œl­w)Né   é   ©ÚrootÚheader)Ústack)	r   Ústartr	   ÚTagÚgroupÚget_tokens_unprocessedr   ÚSpecialÚ	Multiline)r   ÚmatchÚdefault_actionss      r   Úget_x_header_tokensz$EmailHeaderLexer.get_x_header_tokens   s©   è ø€ Ø×Òà—+‘+˜a“.¤$§(¡(¨E¯K©K¸«NÐ:Ò:ð #×9Ñ9Ø—‘˜A“Ð&8ð :ó :ˆOà&×&Ñ&ð —+‘+˜a“.¤'§/¡/°5·;±;¸q³>ÐAÒAØ—+‘+˜a“.¤'×"3Ñ"3°U·[±[À³^ÐCÓCð	 'ús   ‚A'CÁ)CÁ*A-Cz^(?:[A-WYZ]|X400)[\w\-]*:r!   z(^(X-(?:\w[\w\-]*:))([\s\S]*?\n)(?![ \t])z\n[ \t]z\n(?![ \t])z#popz\bE?SMTPS?\bz\b(?:HE|EH)LO\bz[\w\.\-\+=]+@[\w\.\-]+z<[\w\.\-\+=]+@[\w\.\-]+>z%\b(\w[\w\.-]*\.[\w\.-]*\w[a-zA-Z]+)\bz`(?<=\b)(?:(?:25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|1?[0-9][0-9]?)(?=\b)z&(?<=\b)([0-9a-fA-F]{1,4}:){1,7}:(?!\b)z*(?<=\b):((:[0-9a-fA-F]{1,4}){1,7}|:)(?=\b)z5(?<=\b)([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}(?=\b)z6(?<=\b)([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}(?=\b)z8(?<=\b)[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})(?=\b)z:(?<=\b)fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}(?=\b)z=(?<=\b)([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}(?=\b)z=(?<=\b)([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}(?=\b)z=(?<=\b)([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}(?=\b)z=(?<=\b)([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}(?=\b)z‚(?<=\b)::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])(?=\b)z(?<=\b)([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])(?=\b)a'  (?:(Sun|Mon|Tue|Wed|Thu|Fri|Sat),\s+)?(0[1-9]|[1-2]?[0-9]|3[01])\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+(19[0-9]{2}|[2-9][0-9]{3})\s+(2[0-3]|[0-1][0-9]):([0-5][0-9])(?::(60|[0-5][0-9]))?(?:\.\d{1,5})?\s+([-\+][0-9]{2}[0-5][0-9]|\(?(?:UTC?|GMT|(?:E|C|M|P)(?:ST|ET|DT)|[A-IK-Z])\)?)zN(=\?)([\w-]+)(\?)([BbQq])(\?)([\[\w!\"#$%&\'()*+,-./:;<=>@[\\\]^_`{|}~]+)(\?=)z[\s]+z[\S]r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r+   r	   r$   r   Ú
Whitespacer   ÚLabelÚFunctionr   ÚIntegerÚHexÚ	Decoratorr   r
   ÚAffixÚConstantÚtokensÚ__classcell__©r   s   @r   r   r      s·  ø„ ñôNòDð  *¨4¯8©8°XÐ>Ø8Ð:MÐNð
ð ˜Ÿ™Ð)Ø˜TŸ_™_¨fÐ5ð ˜gÐ&Ø Ð)ð '¨¯
©
Ð3Ø(¨$¯*©*Ð5ð 6°t·}±}ÐEð5à�^‰^ðð
 7¸¿
¹
ÐCØ:¸F¿J¹JÐGØEÀvÇzÁzÐRØFÈÏ
É
ÐSØHÈ&Ï*É*ÐUØJÈFÏJÉJÐWØMÈvÏzÉzÐZØMØ�Z‰ZðàMØ�Z‰ZðàMØ�Z‰Zððð �Z‰ZððRà�Z‰Zðð
Hð
 �^‰^ðð"á�f—l‘l D§M¡M°6·<±<À×AQÑAQØ—l‘l F§J¡J°·±ó>ð?ð �t—‘Ð'Ø�dˆOðw<
ñB„Fr   r   c                   óB   ‡ — e Zd ZdZdZddgZdgZdgZdZdZ	ˆ fd	„Z
ˆ xZS )
r   z»
    Lexer for raw E-mail.

    Additional options accepted:

    `highlight-X-header`
        Highlight the fields of ``X-`` user-defined email header. (default:
        ``False``).
    zE-mailÚemailÚemlz*.emlzmessage/rfc822z2https://en.wikipedia.org/wiki/Email#Message_formatz2.5c                 óB   •— t        ‰| �  t        t        t        fi |¤Ž y )N)r   r   r   r   r   r   s     €r   r   zEmailLexer.__init__ƒ   s   ø€ Ü‰ÑÔ)¬9´gÑIÀÓIr   )r,   r-   r.   r/   ÚnameÚaliasesÚ	filenamesÚ	mimetypesÚurlÚversion_addedr   r9   r:   s   @r   r   r   q   s>   ø„ ñð €DØ˜Ð€GØ�	€IØ!Ð"€IØ
>€CØ€M÷Jð Jr   N)r/   Úpygments.lexerr   r   r   Úpygments.lexers.mimer   Úpygments.tokenr   r   r	   r
   r   r   Úpygments.utilr   Ú__all__r   r   r   r   r   Ú<module>rJ      sC   ðñ÷ AÑ @Ý *ß G× GÝ &àˆ.€ô[�zô [ô|J�õ Jr   