Ë
    æØjj  ã                  ó  — U d dl mZ d dlZd dlZd dlmZ d dlmZmZm	Z	 ddl
mZ e G d„ d«      «       Z G d	„ d
e«      Zi d ej                  d«      “d ej                  d«      “d ej                  d«      “d ej                  d«      “d ej                  d«      “d ej                  d«      “d ej                  dej                   «      “d ej                  d«      “d ej                  d«      “d ej                  d«      “d ej                  d «      “d! ej                  d"ej                   «      “d# ej                  ej"                  ej                   ej$                  z  «      “d$ ej                  d%«      “d& ej                  d'«      “d( ej                  d)«      “d* ej                  d+«      “ ej                  d,«       ej                  d-«       ej                  d.«      d/œ¥Zd0ed1<    G d2„ d3«      Zy)4é    )ÚannotationsN)Ú	dataclass)Ú	GeneratorÚMappingÚNoReturné   )Ú	Specifierc                  ó,   — e Zd ZU ded<   ded<   ded<   y)ÚTokenÚstrÚnameÚtextÚintÚpositionN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    úV/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/packaging/_tokenizer.pyr   r      s   … à
ƒIØ
ƒIØ„Mr   r   c                  ó<   ‡ — e Zd ZdZ	 	 	 	 	 	 	 	 dˆ fd„Zdd„Zˆ xZS )ÚParserSyntaxErrorz7The provided source text could not be parsed correctly.c               óL   •— || _         || _        || _        t        ‰| �  «        y )N)ÚspanÚmessageÚsourceÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €r   r   zParserSyntaxError.__init__   s%   ø€ ð ˆŒ	ØˆŒØˆŒä‰ÑÕr   c                ó®   — d| j                   d   z  d| j                   d   | j                   d   z
  z  z   dz   }| j                  › d| j                  › d|› �S )Nú r   ú~r   ú^z
    )r   r   r   )r    Úmarkers     r   Ú__str__zParserSyntaxError.__str__"   sW   € Ø�t—y‘y ‘|Ñ# c¨T¯Y©Y°q©\¸D¿I¹IÀa¹LÑ-HÑ&IÑIÈCÑOˆØ—,‘,�˜v d§k¡k ]°&¸¸ÐAÐAr   )r   r   r   r   r   ztuple[int, int]ÚreturnÚNone)r(   r   )r   r   r   Ú__doc__r   r'   Ú__classcell__)r!   s   @r   r   r      s7   ø„ ÙAðàðð ð	ð
 ðð 
õ÷Br   r   ÚLEFT_PARENTHESISz\(ÚRIGHT_PARENTHESISz\)ÚLEFT_BRACKETz\[ÚRIGHT_BRACKETz\]Ú	SEMICOLONú;ÚCOMMAú,ÚQUOTED_STRINGzk
            (
                ('[^']*')
                |
                ("[^"]*")
            )
        ÚOPz(===|==|~=|!=|<=|>=|<|>)ÚBOOLOPz\b(or|and)\bÚINz\bin\bÚNOTz\bnot\bÚVARIABLEa¬  
            \b(
                python_version
                |python_full_version
                |os[._]name
                |sys[._]platform
                |platform_(release|system)
                |platform[._](version|machine|python_implementation)
                |python_implementation
                |implementation_(name|version)
                |extras?
                |dependency_groups
            )\b
        Ú	SPECIFIERÚATz\@ÚURLz[^ \t]+Ú
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\bÚVERSION_PREFIX_TRAILz\.\*z\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*z[ \t]+ú$)ÚVERSION_LOCAL_LABEL_TRAILÚWSÚENDzdict[str, re.Pattern[str]]ÚDEFAULT_RULESc                  óž   — e Zd ZdZ	 	 	 	 	 	 dd„Zdd„Zddœdd„Zdd„Zdd„Zd	d	d
œ	 	 	 	 	 	 	 dd„Z	e
j                  	 	 	 	 	 	 	 	 dd„«       Zy	)Ú	Tokenizerz„Context-sensitive token parsing.

    Provides methods to examine the input stream to check whether the next token
    matches.
    c               ó<   — || _         || _        d | _        d| _        y )Nr   )r   ÚrulesÚ
next_tokenr   )r    r   rG   s      r   r   zTokenizer.__init__b   s    € ð ˆŒØˆŒ
Ø(,ˆŒØˆ�r   c                óH   — | j                  |«      r| j                  «        yy)z8Move beyond provided token name, if at current position.N)ÚcheckÚread)r    r   s     r   ÚconsumezTokenizer.consumem   s   € à�:‰:�dÔØ�I‰I�Kð r   F)Úpeekc               ó,  — | j                   �J d|›d| j                   ›�«       ‚|| j                  v s
J d|›�«       ‚| j                  |   }|j                  | j                  | j                  «      }|€y|st        ||d   | j                  «      | _         y)zÿCheck whether the next token has the provided name.

        By default, if the check succeeds, the token *must* be read before
        another check. If `peek` is set to `True`, the token is not loaded and
        would need to be checked again.
        zCannot check for z, already have zUnknown token name: Fr   T)rH   rG   Úmatchr   r   r   )r    r   rM   Ú
expressionrO   s        r   rJ   zTokenizer.checkr   sŸ   € ð �‰Ð&ð 	
Ø ˜x °t·±Ð6IÐJó	
Ð&ð �t—z‘zÑ!ÐBÐ%9¸$¸Ð#BÓBÐ!à—Z‘Z Ñ%ˆ
à× Ñ  §¡¨d¯m©mÓ<ˆØˆ=ØÙÜ# D¨%°©(°D·M±MÓBˆDŒOØr   c               ól   — | j                  |«      s| j                  d|› �«      ‚| j                  «       S )zsExpect a certain token name next, failing with a syntax error otherwise.

        The token is *not* read.
        z	Expected )rJ   Úraise_syntax_errorrK   )r    r   Úexpecteds      r   ÚexpectzTokenizer.expect‡   s4   € ð
 �z‰z˜$ÔØ×)Ñ)¨I°h°ZÐ*@ÓAÐAØ�y‰y‹{Ðr   c                ó„   — | j                   }|€J ‚| xj                  t        |j                  «      z  c_        d| _         |S )z%Consume the next token and return it.N)rH   r   Úlenr   )r    Útokens     r   rK   zTokenizer.read�   s9   € à—‘ˆØÐ Ð Ð à�Šœ˜UŸZ™Z›Ñ(�ØˆŒàˆr   N)Ú
span_startÚspan_endc               ór   — |€| j                   n||€| j                   n|f}t        || j                  |¬«      ‚)z.Raise ParserSyntaxError at the given position.)r   r   )r   r   r   )r    r   rX   rY   r   s        r   rR   zTokenizer.raise_syntax_errorš   sC   € ð (Ð/ˆD�MŠM°ZØ%Ð-ˆD�MŠM°8ð
ˆô  ØØ—;‘;Øô
ð 	
r   c             #  óô   K  — | j                  |«      r| j                  }| j                  «        nd }d –— |€y | j                  |«      s| j                  d|› d|› d|› �|¬«       | j                  «        y ­w)NzExpected matching z for z, after )rX   )rJ   r   rK   rR   )r    Ú
open_tokenÚclose_tokenÚaroundÚopen_positions        r   Úenclosing_tokenszTokenizer.enclosing_tokens¬   sz   è ø€ ð �:‰:�jÔ!Ø ŸM™MˆMØ�I‰I�Kà ˆMãàÐ Øà�z‰z˜+Ô&Ø×#Ñ#Ø$ [ M°°z°lÀ(È6È(ÐSØ(ð $ô ð
 	�	‰	�ùs   ‚A6A8)r   r   rG   zMapping[str, re.Pattern[str]]r(   r)   )r   r   r(   r)   )r   r   rM   Úboolr(   ra   )r   r   rS   r   r(   r   )r(   r   )r   r   rX   ú
int | NonerY   rb   r(   r   )r\   r   r]   r   r^   r   r(   zGenerator[None, None, None])r   r   r   r*   r   rL   rJ   rT   rK   rR   Ú
contextlibÚcontextmanagerr`   r   r   r   rE   rE   [   s®   „ ñð	àð	ð -ð		ð
 
ó	óð
 05õ ó*óð "&Ø#ñ
àð
ð ð	
ð
 ð
ð 
ó
ð$ ×ÑðØðØ,/ðØ<?ðà	$òó ñr   rE   )Ú
__future__r   rc   ÚreÚdataclassesr   Útypingr   r   r   Ú
specifiersr	   r   Ú	Exceptionr   ÚcompileÚVERBOSEÚ_specifier_regex_strÚ
IGNORECASErC   r   rE   r   r   r   ú<module>ro      sU  ðÞ "ã Û 	Ý !ß /Ñ /å !ð ÷ð ó ðôB˜	ô Bð*1-Ø˜
˜Ÿ
™
 5Ó)ð1-à˜˜Ÿ™ EÓ*ð1-ð �J�B—J‘J˜uÓ%ð1-ð �Z�R—Z‘Z Ó&ð	1-ð
 ��—‘˜DÓ!ð1-ð ˆZˆR�Z‰Z˜Óð1-ð �Z�R—Z‘Zð	ð 	�
‰
ó	ð1-ð" 	ˆ*ˆ"�*‰*Ð0Ó
1ð#1-ð$ ˆjˆb�j‰j˜Ó)ð%1-ð& 	ˆ*ˆ"�*‰*�YÓ
ð'1-ð( 
ˆ:ˆ2�:‰:�jÓ!ð)1-ð* �
�—
‘
ð	ð 	�
‰
óð+1-ðL ��—‘Ø×&Ñ&Ø
�
‰
�R—]‘]Ñ"óðM1-ðT 	ˆ*ˆ"�*‰*�UÓ
ðU1-ðV 
ˆ:ˆ2�:‰:�jÓ!ðW1-ðX �*�"—*‘*Ð>Ó?ðY1-ðZ ˜J˜BŸJ™J wÓ/ð[1-ð\ ", §¡Ð,NÓ!OØ
ˆ"�*‰*�YÓ
Øˆ2�:‰:�dÓòa1-€Ð)ó 1÷hfò fr   