
    q"h                       % S SK Jr  S SKrS SKrS SKJr  S SKJrJr  SSK	J
r
  \ " S S5      5       r " S	 S
\5      r0 SS_SS_SS_SS_SS_SS_S\R                  " S\R                  5      _SS_SS_SS_SS _S!\R                  " S"\R                  5      _S#\R                  " \
R                   \
R"                  -   \R                  \R$                  -  5      _S$S%_S&S'_S(S)_S*S+_S,S-S.S/.ErS0\S1'    " S2 S35      rg)4    )annotationsN)	dataclass)IteratorNoReturn   )	Specifierc                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	Token   strnametextintposition N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       R/var/www/html/env/lib/python3.13/site-packages/pip/_vendor/packaging/_tokenizer.pyr
   r
      s    
I
IMr   r
   c                  J   ^  \ rS rSrSr        SU 4S jjrSS jrSrU =r$ )ParserSyntaxError   z7The provided source text could not be parsed correctly.c               F   > X0l         Xl        X l        [        TU ]  5         g )N)spanmessagesourcesuper__init__)selfr   r    r   	__class__s       r   r"   ParserSyntaxError.__init__   s     	r   c                    SU R                   S   -  SU R                   S   U R                   S   -
  -  -   S-   nSR                  U R                  U R                  U/5      $ )N r   ~r   ^z
    )r   joinr   r    )r#   markers     r   __str__ParserSyntaxError.__str__"   sV    tyy|#cTYYq\DIIaL-H&IICO}}dllDKK@AAr   )r   r    r   )r   r   r    r   r   ztuple[int, int]returnNone)r.   r   )	r   r   r   r   __doc__r"   r,   r   __classcell__)r$   s   @r   r   r      s=    A 	
  
B 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END dict[str, str | re.Pattern[str]]DEFAULT_RULESc                      \ rS rSrSr      SS jrSS jrSS.SS jjrSS jrSS	 jr	S
S
S.       SS jjr
\R                          SS j5       rSrg
)	Tokenizer[   zxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c                   Xl         UR                  5        VVs0 s H  u  p4U[        R                  " U5      _M     snnU l        S U l        SU l        g s  snnf )Nr   )r    itemsrecompilerules
next_tokenr   )r#   r    rR   r   patterns        r   r"   Tokenizer.__init__b   sO     ;@;;=2
;H-$D"**W%%=2

 )-	2
s   #Ac                R    U R                  U5      (       a  U R                  5         gg)z8Move beyond provided token name, if at current position.N)checkread)r#   r   s     r   consumeTokenizer.consumeo   s    ::dIIK r   F)peekc               @   U R                   b   SU< SU R                   < 35       eXR                  ;   d   SU< 35       eU R                  U   nUR                  U R                  U R                  5      nUc  gU(       d  [        XS   U R                  5      U l         g)zCheck 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)rS   rR   matchr    r   r
   )r#   r   r[   
expressionr]   s        r   rW   Tokenizer.checkt   s     & 	
xt6IJ	
& zz!B%9$#BB!ZZ%
  dmm<=#D(DMMBDOr   c               v    U R                  U5      (       d  U R                  SU 35      eU R                  5       $ )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )rW   raise_syntax_errorrX   )r#   r   expecteds      r   expectTokenizer.expect   s7    
 zz$))IhZ*@AAyy{r   c                    U R                   nUc   eU =R                  [        UR                  5      -  sl        SU l         U$ )z%Consume the next token and return it.N)rS   r   lenr   )r#   tokens     r   rX   Tokenizer.read   s9       UZZ(r   N)
span_startspan_endc               p    Uc  U R                   OUUc  U R                   OU4n[        UU R                  US9e)z.Raise ParserSyntaxError at the given position.)r    r   )r   r   r    )r#   r   ri   rj   r   s        r   ra   Tokenizer.raise_syntax_error   sC     (/DMMZ%-DMM8
  ;;
 	
r   c             #    #    U R                  U5      (       a  U R                  nU R                  5         OS nS v   Uc  g U R                  U5      (       d  U R                  SU SU SU 3US9  U R                  5         g 7f)NzExpected matching z for z, after )ri   )rW   r   rX   ra   )r#   
open_tokenclose_tokenaroundopen_positions        r   enclosing_tokensTokenizer.enclosing_tokens   s      ::j!! MMMIIK M zz+&&##$[Mzl(6(S( $ 
 			s   A>B )rS   r   rR   r    )r    r   rR   rI   r.   r/   )r   r   r.   r/   )r   r   r[   boolr.   rt   )r   r   rb   r   r.   r
   )r.   r
   )r   r   ri   
int | Nonerj   ru   r.   r   )rn   r   ro   r   rp   r   r.   zIterator[None])r   r   r   r   r0   r"   rY   rW   rc   rX   ra   
contextlibcontextmanagerrr   r   r   r   r   rL   rL   [   s     0	
 

 05 * "&#

 	

 
 

$ ,/<?	 r   rL   )
__future__r   rv   rP   dataclassesr   typingr   r   
specifiersr   r
   	Exceptionr   rQ   VERBOSE_operator_regex_str_version_regex_str
IGNORECASErJ   r   rL   r   r   r   <module>r      s   "  	 ! % !   B	 B*131313 E13 U	13
 13 T13 RZZ	 	

	13" 	
%#13$ o%13& 	)'13( 
:)13* 

	 	

+13L %%	(D(DD


R]]"M13T 	%U13V 
:W13X 3Y13Z G[13\ "D
a13/ 1hh hr   