
    -hh)4                        S SK r S SKrS SKrS SKJr  S SKJr  / SQr " S S5      rSS jr	S r
\R                  " S	\R                  5      R                  rS
 rS r\S:X  aT  \" \R&                  5      S:X  a  \" \" 5       5        g\R&                  S   r\" \5       r\" \" \\5      5        SSS5        gg! , (       d  f       g= f)    N)deque)StringIO)shlexsplitquotejoinc                   p    \ rS rSr  SS jr\S 5       rS rSS jrS r	S r
S	 rS
 rSS jrS rS rSrg)r      Nc                 &   [        U[        5      (       a  [        U5      nUb  Xl        X l        O[
        R                  U l        S U l        X0l        U(       a  S U l        OSU l        SU l	        SU l
        U R                  (       a  U =R                  S-  sl
        SU l        SU l        SU l        SU l        S	U l        S
U l        [#        5       U l        SU l        SU l        SU l        [#        5       U l        S U l        U(       d  SnOUSL a  SnX@l        U(       as  [#        5       U l        U =R                  S-  sl
        U R                  R5                  [6        R9                  U5      5      nU R                  R;                  U5      U l
        g g )N #?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|   ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz 	
Fz'"\"    r   Tz();<>|&z~-./*?=)
isinstancestrr   instreaminfilesysstdinposixeof
commenters	wordchars
whitespacewhitespace_splitquotesescapeescapedquotesstater   pushbacklinenodebugtoken	filestacksource_punctuation_chars_pushback_chars	maketransdictfromkeys	translate)selfr   r   r   punctuation_charsts         ./opt/python-3.13.8/usr/lib/python3.13/shlex.py__init__shlex.__init__   sI   h$$)H$M KIIDMDK
DHDHB::NN  ^ _N# % 


  "$& )"3#(7D NNi'N((7H)IJA!^^55a8DN     c                     U R                   $ N)r)   r/   s    r2   r0   shlex.punctuation_charsD   s    &&&r5   c                     U R                   S:  a  [        S[        U5      -   5        U R                  R	                  U5        g )Nr   zshlex: pushing token )r%   printreprr#   
appendleft)r/   toks     r2   
push_tokenshlex.push_tokenH   s1    ::?)DI56  %r5   c                 r   [        U[        5      (       a  [        U5      nU R                  R	                  U R
                  U R                  U R                  45        X l        Xl        SU l        U R                  (       a7  Ub  [        SU R
                  < 35        g [        SU R                  < 35        g g )Nr   zshlex: pushing to file zshlex: pushing to stream )
r   r   r   r'   r=   r   r   r$   r%   r;   )r/   	newstreamnewfiles      r2   push_sourceshlex.push_sourceN   s    i%% +I!!4;;t{{"KL!::"T[[BCt}}FG	 r5   c                 
   U R                   R                  5         U R                  R                  5       u  U l        U l         U l        U R                  (       a$  [        SU R                   U R
                  4-  5        SU l        g )Nzshlex: popping to %s, line %dr   )	r   closer'   popleftr   r$   r%   r;   r"   r8   s    r2   
pop_sourceshlex.pop_source\   s_    48NN4J4J4L1dmT[::1]]DKK01 2
r5   c                    U R                   (       aC  U R                   R                  5       nU R                  S:  a  [        S[	        U5      -   5        U$ U R                  5       nU R                  bk  X R                  :X  a\  U R                  U R                  5       5      nU(       a  Uu  pEU R                  XT5        U R                  5       nX R                  :X  a  M\  X R                  :X  aN  U R                  (       d  U R                  $ U R                  5         U R                  5       nX R                  :X  a  MN  U R                  S:  a3  X R                  :w  a  [        S[	        U5      -   5        U$ [        S5        U$ )Nr   zshlex: popping token zshlex: token=zshlex: token=EOF)r#   rH   r%   r;   r<   
read_tokenr(   
sourcehookrD   	get_tokenr   r'   rI   )r/   r>   rawspecrC   rB   s         r2   rN   shlex.get_tokene   s   ==--'')CzzQ-S	9:Joo;;"$t'89+/(W$$Y8nn& $ XXo>>xx!nn& XXo ::?hhoS	12 
 ()
r5   c                 ,   SnSn U R                   (       a,  U R                  (       a  U R                  R                  5       nOU R                  R	                  S5      nUS:X  a  U =R
                  S-  sl        U R                  S:  a  [        SU R                  < SU< 35        U R                  c	  S	U l	        GOU R                  S:X  Ga  U(       d	  S U l        GOX0R                  ;   aI  U R                  S
:  a  [        S5        U R                  (       d  U R                  (       a	  U(       a  GOtGM0  X0R                  ;   a1  U R                  R                  5         U =R
                  S-  sl        GO.U R                  (       a  X0R                  ;   a
  SnX0l        GOX0R                  ;   a  X0l	        SU l        GOX0R                   ;   a  X0l	        SU l        GOX0R                   ;   a  U R                  (       d  X0l	        X0l        GOU R"                  (       a  X0l	        SU l        GOzX0l	        U R                  (       d  U R                  (       a	  U(       a  GOLGMX  U R                  U R                   ;   a  SnU(       d&  U R                  S
:  a  [        S5        [%        S5      eX0R                  :X  a8  U R                  (       d  U =R                  U-  sl	        SU l        GOSU l        GOU R                  (       a=  X0R                  ;   a.  U R                  U R&                  ;   a  U R                  nX0l        GOhU =R                  U-  sl	        GOQU R                  U R                  ;   a  U(       d&  U R                  S
:  a  [        S5        [%        S5      eX R                   ;   a3  X0R                  :w  a$  X2:w  a  U =R                  U R                  -  sl	        U =R                  U-  sl	        X l        GOU R                  S;   Ga  U(       d	  S U l        GOX0R                  ;   aP  U R                  S
:  a  [        S5        SU l        U R                  (       d  U R                  (       a	  U(       a  GO1GMs  X0R                  ;   aw  U R                  R                  5         U =R
                  S-  sl        U R                  (       a5  SU l        U R                  (       d  U R                  (       a	  U(       a  GOGM  GOU R                  S:X  aY  X0R                   ;   a  U =R                  U-  sl	        GOoX0R                  ;  a  U R                  R)                  U5        SU l        GO?U R                  (       a  X0R                   ;   a  X0l        GOU R                  (       a  X0R                  ;   a	  SnX0l        OX0R                  ;   d/  X0R                   ;   d   U R"                  (       a%  X0R                   ;  a  U =R                  U-  sl	        OU R                   (       a  U R                  R)                  U5        OU R*                  R-                  U5        U R                  S
:  a  [        S5        SU l        U R                  (       d  U R                  (       a  U(       a  OGM  GM  U R                  nS	U l	        U R                  (       a  U(       d  US	:X  a  S nU R                  S:  a+  U(       a  [        S[/        U5      -   5        U$ [        S5        U$ )NFr   Tr   
   zshlex: in state z I see character: r      z+shlex: I see whitespace in whitespace stateacz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rV   rW   z%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r0   r*   popr   readr$   r%   r;   r"   r&   r   r   r   readliner    r   r   r   
ValueErrorr!   appendr#   r=   r<   )r/   quotedescapedstatenextcharresults        r2   rL   shlex.read_token   s   %%$*>*>//335==--a04q zzQ$**BJL Mzz!
s"!%DJ0zzQKLzzdjjV 0MM**,KK1$KZZH$;#&L!)J/!)J!$DJ!7!77!)J!$DJ,::%-
!)J**!)J!$DJ!)JzzdjjV t{{*zzQ@A$%;<<zz)::

h.
%(
%(
jjX%<++B,#'::L!)JJJ(*Jt{{*zzQ@A$%;<< !KK/ JJ.83KJJ$**,J

h&
)
z)!%DJ0zzQEF!$DJzzdjjV 0MM**,KK1$Kzz%(
::$**!$ " ZZ3&#9#99

h.
#??: 0077A%(
ZZH$;!)JZZH$;#&L!)J..0H4K//"*@*@@JJ(*J--,,33H=00:zzQFG!$DJzzdjjV G H 
::f2F::>)DL89  ,-r5   c                 N   US   S:X  a  USS n[        U R                  [        5      (       ak  [        R                  R                  U5      (       dG  [        R                  R                  [        R                  R                  U R                  5      U5      nU[        US5      4$ )Nr   r   r   r)	r   r   r   ospathisabsr   dirnameopen)r/   rC   s     r2   rM   shlex.sourcehook  ss    1:amGdkk3''g0F0Fggll277??4;;#?IGgs+,,r5   c                 J    Uc  U R                   nUc  U R                  nSX4-  $ )Nz"%s", line %d: )r   r$   )r/   r   r$   s      r2   error_leadershlex.error_leader   s,    >[[F>[[F"f%555r5   c                     U $ r7    r8   s    r2   __iter__shlex.__iter__(  s    r5   c                 P    U R                  5       nXR                  :X  a  [        eU$ r7   )rN   r   StopIteration)r/   r&   s     r2   __next__shlex.__next__+  s#     HHr5   )r)   r*   r   r%   r   r    r!   r'   r   r   r$   r   r#   r   r(   r"   r&   r   r   r   )NNFFr7   )NN)__name__
__module____qualname____firstlineno__r3   propertyr0   r?   rD   rI   rN   rL   rM   rl   rp   rt   __static_attributes__ro   r5   r2   r   r      sS    9>#(-9^ ' '&H@Pd-6r5   r   c                 p    U c  [        S5      e[        XS9nSUl        U(       d  SUl        [	        U5      $ )Nzs argument must not be None)r   Tr   )r[   r   r   r   list)scommentsr   lexs       r2   r   r   1  s9    y677

CC9r5   c                 2    SR                  S U  5       5      $ )Nr   c              3   8   #    U  H  n[        U5      v   M     g 7fr7   )r   ).0args     r2   	<genexpr>join.<locals>.<genexpr>>  s     8-3E#JJ-s   )r   )split_commands    r2   r   r   <  s    888-888r5   z[^\w@%+=:,./-]c                 ^    U (       d  g[        U 5      c  U $ SU R                  SS5      -   S-   $ )Nz'''z'"'"')_find_unsafereplace)r~   s    r2   r   r   C  s4    A 3	**S00r5   c                     U R                  5       =n(       a1  [        S[        U5      -   5        U R                  5       =n(       a  M0  g g )NzToken: )rN   r;   r<   )lexertts     r2   _print_tokensr   O  s<    !
!"
!i$r("# !
!"
!
!r5   __main__r   )FT)re   rer   collectionsr   ior   __all__r   r   r   compileASCIIsearchr   r   r   rv   lenargvfnri   fro   r5   r2   <module>r      s    
 	 
  
-\ \|9
 zz+RXX6==	1$ z
388}egXXa["X%2,' X 
 Xs   B77
C