f4 ddlZddlZddlZddlmZddlmZgdZGddZdd Z d Z ej d ej j Zd Zd ZedkrqeejdkreedSejdZee5ZeeeeddddS#1swxYwYdSdS)N)deque)StringIO)shlexsplitquotejoincleZdZ ddZedZdZddZdZdZ d Z d Z dd Z d Z d ZdS)rNFct|trt|}|||_||_nt j|_d|_||_|rd|_nd|_d|_ d|_ |jr|xj dz c_ d|_ d|_ d|_ d|_d |_d |_t#|_d |_d |_d|_t#|_d|_|sd}n|d urd}||_|rvt#|_|xj dz c_ |j t6|}|j ||_ dSdS)N#?abcdfeghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_u|ßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞz Fz'"\" rTz();<>|&z~-./*?=) isinstancestrrinstreaminfilesysstdinposixeof commenters wordchars whitespacewhitespace_splitquotesescape escapedquotesstaterpushbacklinenodebugtoken filestacksource_punctuation_chars_pushback_chars maketransdictfromkeys translate)selfrrrpunctuation_charsts ,/opt/alt/python311/lib64/python3.11/shlex.py__init__zshlex.__init__s h $ $ *))H  $DM DKKIDMDK  DHHDHB : _ NN ^ _NN# %           * "   $ & & ) "3  9#(77D NNi 'NN((7H)I)IJJA!^55a88DNNN 9 9c|jSN)r(r.s r1r/zshlex.punctuation_charsDs &&r3c |jdkrtdt|z|j|dS)Nrzshlex: pushing token )r$printreprr" appendleft)r.toks r1 push_tokenzshlex.push_tokenHsFD :?? )DII5 6 6 6   %%%%%r3cH t|trt|}|j|j|j|jf||_||_d|_|jr4|td|jdStd|jdSdS)Nrzshlex: pushing to file zshlex: pushing to stream ) rrrr&r:rrr#r$r8)r. newstreamnewfiles r1 push_sourcezshlex.push_sourceNsC i % % , ++I !!4; t{"KLLL !  : H"T[[BCCCCCt}}FGGGGG  H Hr3c |j|j\|_|_|_|jrtd|j|jfzd|_dS)Nzshlex: popping to %s, line %dr) rcloser&popleftrr#r$r8r!r6s r1 pop_sourcezshlex.pop_source\st% 48N4J4J4L4L1dmT[ : 2 1]DK01 2 2 2 r3c |jrE|j}|jdkrtdt |z|S|}|jn||jkrc||}|r|\}}|||| }||jkc||j krA|j s|j S| | }||j kA|jdkr:||j kr tdt |zntd|S)Nrzshlex: popping token z shlex: token=zshlex: token=EOF) r"rCr$r8r9 read_tokenr' sourcehookr@ get_tokenrr&rD)r.r;rawspecr?r>s r1rHzshlex.get_tokenescL = -''))CzQ-S 9:::Joo ; "$$t'8'8999+/(Wi$$Y888nn&& $$TXoo> 'x!!!nn&& TXoo :??dhoS 12222())) r3c" d}d} |jr!|jr|j}n|jd}|dkr|xjdz c_|jdkrtd|jd||j d |_ n!|jdkr|s d|_n ||j vr-|jd krtd |j s |j r|rnՌ||j vr+|j |xjdz c_n|j r||jvr d }||_n||jvr||_ d |_nj||jvr||_ d |_nQ||jvr|j s||_ ||_n1|jr||_ d |_n||_ |j s |j r|rn|j|jvrd}|s)|jd krtdt%d||jkr)|j s|xj |z c_ d|_nd |_n|j r'||jvr|j|jvr|j}||_nb|xj |z c_ nP|j|jvrs|s)|jd krtdt%d||jvr&||jkr||kr|xj |jz c_ |xj |z c_ ||_n|jdvr|s d|_n||j vr5|jd krtdd|_|j s |j r|rn1||j vrM|j |xjdz c_|j rd|_|j s |j r|rn,n&|jd krF||jvr|xj |z c_ n||j vr|j|d|_n|j r||jvr||_n|j r||jvr d }||_n||jvs||jvs|jr||jvr|xj |z c_ np|jr|j|n|j||jd krtdd|_|j s |j r|rn|j }d |_ |j r |s|d krd}|jdkr1|r tdt/|zntd|S)NFrTr zshlex: in state z I see character: r z+shlex: I see whitespace in whitespace stateacz shlex: I see EOF in quotes statezNo closing quotationz shlex: I see EOF in escape statezNo escaped character)rOrPz%shlex: I see whitespace in word statez&shlex: I see punctuation in word statezshlex: raw token=zshlex: raw token=EOF)r/r)poprreadr#r$r8r!r%rrrreadlinerrrr ValueErrorr appendr"r:r9)r.quoted escapedstatenextcharresults r1rFzshlex.read_tokens" C !% 1$*> 1/3355=--a004 q zQ$***BJ(LMMMz! s"""!!%DJ00zQKLLLz!dj!V! 00M**,,,KK1$KKKZ!H $;$;#&L!)DJJ//!)DJ!$DJJ!777!)DJ!$DJJ,,:.%- !)DJJ*!!)DJ!$DJJ!)DJz!dj!V! t{**=zQ@AAA$%;<<<tz)):) h. %( %( j+X%<%<+B,B,#':L!)DJJJJ(*JJJt{**=zQ@AAA$%;<<<!DK// DJ..8|3K3KJJ$*,JJ h& ) z))0!!%DJ00zQEFFF!$DJz!dj!V! 00M**,,,KK1$KKz%%( :%$*%%!$ % Z3&&4#999 h. #4?:: 077AAA%( Z!H $;$;!)DJJZ!H $;$;#&L!)DJJ$.00H 4K4K/5L"$*@@@JJ(*JJJ-;,33H==== 00:::zQFGGG!$DJz!dj!V! GC !H : f 2F :>> .)DLL89999,--- r3cJ |ddkr |dd}t|jtratj|sBtjtj|j|}|t|dfS)Nrrrr) rrrospathisabsrdirnameopen)r.r?s r1rGzshlex.sourcehooks2 1:  admG dk3 ' ' J g0F0F Jgll27??4;#?#?IIGgs++,,r3c6 ||j}||j}d||fzS)Nz"%s", line %d: )rr#)r.rr#s r1 error_leaderzshlex.error_leader s-F >[F >[F"ff%555r3c|Sr5r6s r1__iter__zshlex.__iter__(s r3cR|}||jkrt|Sr5)rHr StopIteration)r.r%s r1__next__zshlex.__next__+s)   DH    r3)NNFFr5)NN)__name__ __module__ __qualname__r2propertyr/r<r@rDrHrFrGrcrfrirer3r1rrs>9>#(-9-9-9-9^''X'&&& H H H H@PPPd---6666r3rFTc |!ddl}|dtdt||}d|_|sd|_t |S)Nrz4Passing None for 's' to shlex.split() is deprecated.rN) stacklevel)rTr )warningswarnDeprecationWarningrrrlist)scommentsrrplexs r1rr1sk7y L(Q  8 8 8    CC  99r3cB dd|DS)Nrc34K|]}t|VdSr5)r).0args r1 zjoin..@s(883E#JJ888888r3)r) split_commands r1rr>s&= 8888-888 8 88r3z[^\w@%+=:,./-]cf |sdSt||Sd|ddzdzS)Nz'''z'"'"') _find_unsafereplace)rts r1rrEsC; tA 3 ** *S 00r3ct |}|sdStdt|z8)NrzToken: )rHr8r9)lexertts r1 _print_tokensrQsA$ __    E i$r(("### $r3__main__r)FT)r]rer collectionsrior__all__rrrcompileASCIIsearchrrrrjlenargvfnrafrer3r1rs>  - - -\\\\\\\\|    999 rz+RX66=  1 1 1$$$ z s38}} eegg Xa[ T"XX ( M%%2,, ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( sB==CC