+
    SBi                       a  R2 t0 t ^ RIt^ RIt^ RIHt ^ RIHtHtHtH	t	H
t
Ht ^RIHt ] ! R R4      4       t ! R R]4      t/ R	R
bRRbRRbRRbRRbRRbR]P"                  ! R]P$                  4      bRRbRRbRRbRRbR]P"                  ! R ]P$                  4      bR!]P"                  ! ]P&                  ]P(                  ,           ]P$                  ]P*                  ,          4      bR"R#bR$R%bR&R'bR(R)bR*R+R,R-R.R//Ct] ^ k  ! R0 R14      tR# )3    N)	dataclass)DictIteratorNoReturnOptionalTupleUnion)	Specifierc                   ,   a  ] tR t^	t o V 3R ltRtV tR# )Tokenc                >   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   # )   nametextposition)strint)format__classdict__s   "H/usr/lib/python3.14/site-packages/wheel/vendored/packaging/_tokenizer.py__annotate__Token.__annotate__	   s'     
I  I  M	      N)__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__r   s   @r   r   r   	   s      r   r   c                   T   a a ] tR t^t oRtV3R lV 3R lltV3R lR ltRtVtV ;t	# )ParserSyntaxErrorz7The provided source text could not be parsed correctly.c                F   < V ^8  d   QhRS[ RS[ RS[S[S[3,          RR/# )r   messagesourcespanreturnN)r   r   r   )r   r   s   "r   r   ParserSyntaxError.__annotate__   s;       	
 CHo 
r   c               H   < W0n         Wn        W n        \        SV `  4        R # N)r(   r&   r'   super__init__)selfr&   r'   r(   	__class__s   &&$$r   r.   ParserSyntaxError.__init__   s     	r   c                    < V ^8  d   QhRS[ /# r   r)   r   )r   r   s   "r   r   r*       s     B B Br   c                   R V P                   ^ ,          ,          RV P                   ^,          V P                   ^ ,          ,
          ,          ,           R,           pRP                  V P                  V P                  V.4      # ) ~^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   __doc__r.   r;   r    r!   __classcell__)r0   r   s   @@r   r$   r$      s$     A B 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)
                |extra
            )\b
        	SPECIFIERATz\@URLz[^ \t]+
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\bVERSION_PREFIX_TRAILz\.\*VERSION_LOCAL_LABEL_TRAILz\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*WSz[ \t]+END$c                      a  ] tR t^Xt o RtV 3R lR ltV 3R lR ltRR/V 3R lR	 lltV 3R
 lR ltV 3R lR lt	RRRR/V 3R lR llt
]P                  V 3R lR l4       tRtV tR# )	TokenizerzxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c                (   < V ^8  d   QhRS[ RRRR/# )r   r'   rules&Dict[str, Union[str, re.Pattern[str]]]r)   Nr4   )r   r   s   "r   r   Tokenizer.__annotate___   s)       8	
 
r   c                   Wn         VP                  4        UUu/ uF  w  r4V\        P                  ! V4      bK  	  uppV n        R V n        ^ V n        R # u uppi r,   )r'   itemsrecompilerY   
next_tokenr   )r/   r'   rY   r   patterns   &&$  r   r.   Tokenizer.__init___   sO     ;@;;=2
;H-$D"**W%%=2

 ,0	2
s   "Ac                $   < V ^8  d   QhRS[ RR/# )r   r   r)   Nr4   )r   r   s   "r   r   r[   l   s      C D r   c                X    V P                  V4      '       d   V P                  4        R# R# )z8Move beyond provided token name, if at current position.N)checkread)r/   r   s   &&r   consumeTokenizer.consumel   s    ::dIIK r   peekFc                ,   < V ^8  d   QhRS[ RS[RS[/# )r   r   ri   r)   )r   bool)r   r   s   "r   r   r[   q   s"      #   r   c               \   V P                   e   Q RV: RV P                   : 24       hWP                  9   g   Q RV: 24       hV P                  V,          pVP                  V P                  V P                  4      pVf   R# V'       g#   \        W^ ,          V P                  4      V n         R# )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: FT)r`   rY   matchr'   r   r   )r/   r   ri   
expressionrm   s   &&$  r   re   Tokenizer.checkq   s     OO#	Jthodoo5HI	J#zz!B%9$#BB!ZZ%
  dmm<=#D(DMMBDOr   c                ,   < V ^8  d   QhRS[ RS[ RS[/# )r   r   expectedr)   )r   r   )r   r   s   "r   r   r[      s"      3 S U r   c               x    V P                  V4      '       g   V P                  RV 24      hV P                  4       # )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )re   raise_syntax_errorrf   )r/   r   rq   s   &&$r   expectTokenizer.expect   s7    
 zz$))IhZ*@AAyy{r   c                    < V ^8  d   QhRS[ /# r3   )r   )r   r   s   "r   r   r[      s      e r   c                    V P                   pVf   Q hV ;P                  \        VP                  4      ,          un        RV n         V# )z%Consume the next token and return it.N)r`   r   lenr   )r/   tokens   & r   rf   Tokenizer.read   s9       UZZ(r   
span_startNspan_endc                R   < V ^8  d   QhRS[ RS[S[,          RS[S[,          RS[/# )r   r&   r{   r|   r)   )r   r   r   r   )r   r   s   "r   r   r[      s;     
 

 SM	

 3-
 

r   c               z    Vf   V P                   MTVf   V P                   MT3p\        VV P                  VR7      h)z.Raise ParserSyntaxError at the given position.)r'   r(   )r   r$   r'   )r/   r&   r{   r|   r(   s   &&$$ r   rs   Tokenizer.raise_syntax_error   sC     (/DMMZ%-DMM8
  ;;
 	
r   c          	      @   < V ^8  d   QhRS[ RS[ RS[ RS[R,          /# )r   
open_tokenclose_tokenaroundr)   N)r   r   )r   r   s   "r   r   r[      s1      ,/<?	$r   c             #    "   V P                  V4      '       d   V P                  pV P                  4        MR pR x  Vf   R # V P                  V4      '       g   V P                  RV RV RV 2VR7       V P                  4        R # 5i)NzExpected matching z for z, after )r{   )re   r   rf   rs   )r/   r   r   r   open_positions   &&&$ r   enclosing_tokensTokenizer.enclosing_tokens   s      ::j!! MMMIIK M zz+&&##$[Mzl(6(S( $ 
 			s   AB.B)r`   r   rY   r'   )r   r   r   r   r=   r.   rg   re   rt   rf   rs   
contextlibcontextmanagerr   r    r!   r"   s   @r   rW   rW   X   s{       
u  *  
 %)	

 #'
 
$  r   rW   c                8    V ^8  d   Qh/ ^ \         9   d   R;R&   # )r   rZ   DEFAULT_RULES__conditional_annotations__)r   s   "r   r   r      s!      H0 07 0I r   )r   r   r^   dataclassesr   typingr   r   r   r   r   r	   
specifiersr
   r   	Exceptionr$   r_   VERBOSE_operator_regex_str_version_regex_str
IGNORECASEr   rW   r   r   s   @r   <module>r      s     	 ! C C !   B	 B*0;0;0; E0; U	0;
 0; T0; RZZ	 	

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

	 	

+0;J %%	(D(DD


R]]"K0;R 	%S0;T 
:U0;V 3W0;X GY0;Z  !C)	4_0; 0fh hr   