
    =Og:                     `    	 d dl Z d dlZdgZdZe j        e j        z   dz   Z G d d          ZdS )    NCmdz(Cmd) _c                       e Zd Z	 eZeZdZdZdZ	dZ
dZdZdZdZdZdd
ZddZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z ddZ!dS ) r   = Nz(Documented commands (type help <topic>):zMiscellaneous help topics:zUndocumented commands:z*** No help on %s   tabc                     	 ||| _         nt          j         | _         ||| _        nt          j        | _        g | _        || _        d S N)stdinsysstdoutcmdqueuecompletekey)selfr   r   r   s       /usr/lib64/python3.11/cmd.py__init__zCmd.__init__L   sN    		 DJJDJ DKK*DK&    c                    	 |                                   | j        rm| j        rf	 dd l}|                                | _        |                    | j                   |                    | j        dz              n# t          $ r Y nw xY w	 ||| _
        | j
        r/| j                            t          | j
                  dz              d }|s| j        r| j                            d          }n| j        r(	 t!          | j                  }n# t$          $ r d}Y n|w xY w| j                            | j                   | j                                         | j                                        }t+          |          sd}n|                    d          }|                     |          }|                     |          }|                     ||          }||                                  | j        r9| j        r4	 dd l}|                    | j                   d S # t          $ r Y d S w xY wd S d S # | j        r7| j        r1	 dd l}|                    | j                   w # t          $ r Y w w xY ww w xY w)Nr   z
: complete
EOFz
)preloopuse_rawinputr   readlineget_completerold_completerset_completercompleteparse_and_bindImportErrorintror   writestrr   popinputpromptEOFErrorflushr   lenrstripprecmdonecmdpostcmdpostloop)r   r!   r   stoplines        r   cmdloopzCmd.cmdloopb   s   	 	 	!1 	%-%;%;%=%="&&t}555''(8(EFFFF   !	 "
z 8!!#dj//$"6777D 0= 7=,,Q//DD( 7)#(#5#5DD' ) ) )#(DDD) ))$+666))+++#z2244"4yy 7#(DD#';;v#6#6D{{4(({{4((||D$//'  0( MMOOO  T%5 #OOO**4+=>>>>>"   DD	   t  T%5 #OOO**4+=>>>>"   D	 sz   AA: :
BBA-H3 9D H3 DH3 DCH3 >H 
H,+H,3I4I"!I4"
I/,I4.I//I4c                     	 |S r    r   r0   s     r   r+   z
Cmd.precmd   s    	 r   c                     	 |S r   r3   )r   r/   r0   s      r   r-   zCmd.postcmd   s
    Mr   c                     	 d S r   r3   r   s    r   r   zCmd.preloop   s
    Lr   c                     	 d S r   r3   r7   s    r   r.   zCmd.postloop   s    	 	r   c                    	 |                                 }|sd d |fS |d         dk    rd|dd          z   }n/|d         dk    r#t          | d          rd|dd          z   }nd d |fS dt          |          }}||k     r)||         | j        v r|dz   }||k     r||         | j        v |d |         ||d                                           }}|||fS )Nr   ?zhelp r   !do_shellzshell )striphasattrr)   
identchars)r   r0   incmdargs         r   	parselinezCmd.parseline   s   	 zz|| 	(t##!W^^T!""X%DD!W^^tZ(( ($qrr(*T4''#d))1!eeQ4?22!Aa!eeQ4?228T!""X^^--SC~r   c                 x   	 |                      |          \  }}}|s|                                 S ||                     |          S || _        |dk    rd| _        |dk    r|                     |          S 	 t	          | d|z             }n%# t
          $ r |                     |          cY S w xY w ||          S )Nr   r   do_)rD   	emptylinedefaultlastcmdgetattrAttributeError)r   r0   rB   rC   funcs        r   r,   z
Cmd.onecmd   s    	 --S$ 	$>>###;<<%%%5==DL"99<<%%%*tUS[11! * * *||D)))))*499s   8B B.-B.c                 J    	 | j         r|                     | j                   S d S r   )rI   r,   r7   s    r   rG   zCmd.emptyline   s1    	 < 	-;;t|,,,	- 	-r   c                 B    	 | j                             d|z             d S )Nz*** Unknown syntax: %s
)r   r"   r4   s     r   rH   zCmd.default   s+    	 	4T9:::::r   c                     	 g S r   r3   )r   ignoreds     r   completedefaultzCmd.completedefault   s    	 	r   c                 N    d|z   fd|                                  D             S )NrF   c                 N    g | ]!}|                               |d d         "S )   N
startswith).0adotexts     r   
<listcomp>z%Cmd.completenames.<locals>.<listcomp>   s2    HHH!1<<3G3GH!""HHHr   )	get_names)r   textrP   rY   s      @r   completenameszCmd.completenames   s0    tHHHHt~~//HHHHr   c                 &   	 |dk    rdd l }|                                }|                                }t          |          t          |          z
  }|                                |z
  }|                                |z
  }|dk    rS|                     |          \  }	}
}|	dk    r| j        }n3	 t          | d|	z             }n# t          $ r
 | j        }Y nw xY w| j
        } |||||          | _        	 | j        |         S # t          $ r Y d S w xY w)Nr   r   	complete_)r   get_line_bufferlstripr)   
get_begidx
get_endidxrD   rQ   rJ   rK   r]   completion_matches
IndexError)r   r\   stater   origliner0   strippedbegidxendidxrB   argsfoocompfuncs                r   r   zCmd.complete   sI   	
 A::OOO//11H??$$D8}}s4yy0H((**X5F((**X5Faxx!%!5!5T3"99#3HH8#*4s1B#C#C) 8 8 8#'#78  -&.htT66&J&JD#	*511 	 	 	44	s$   /C CC5D 
DDc                 *    t          | j                  S r   )dir	__class__r7   s    r   r[   zCmd.get_names  s     4>"""r   c                     t           | j                   }t          fd|                                 D                       }t          ||z            S )Nc              3   h   K   | ],}|                     d d         z              |dd         V  -dS )help_r      NrU   )rW   rX   rk   s     r   	<genexpr>z$Cmd.complete_help.<locals>.<genexpr>   sX       9 9qWtAw%6779QqrrU 9 9 9 9 9 9r   )setr]   r[   list)r   rk   commandstopicss    `  r   complete_helpzCmd.complete_help  sl    )t)4011 9 9 9 9DNN$4$4 9 9 9 9 9Hv%&&&r   c                    	 |r	 t          | d|z             }n# t          $ r 	 t          | d|z             j        }|r-| j                            dt          |          z             Y d S n# t          $ r Y nw xY w| j                            dt          | j        |fz            z             Y d S w xY w |             d S |                                 }g }g }t                      }|D ]-}|d d         dk    r|	                    |dd                     .|
                                 d}	|D ]}|d d         dk    r||	k    r|}	|dd          }
|
|v r+|                    |
           |                    |
           Rt          | |          j        r|                    |
           }|                    |
           | j                            dt          | j                  z             |                     | j        |dd           |                     | j        t#          |          dd           |                     | j        |dd           d S )	Nrs   rF   %s
rt   r   rT      P   )rJ   rK   __doc__r   r"   r#   nohelpr[   rv   addsortappendremove
doc_leaderprint_topics
doc_headermisc_headersortedundoc_header)r   rC   rL   docnamescmds_doc
cmds_undocry   nameprevnamerB   s              r   do_helpzCmd.do_help$  s   O *	DtWs]33! 	 	 	eck22:C ))&S/::: &   D!!&T[C6-A)B)B"BCCC	 DFFFFFNN$$EHJUUF ) )8w&&JJtABBx(((JJLLLH / /8u$$x'' #HQRRCf}} ,,,c**** t,,4 / ,,,,"))#...KfS%9%99:::doRCCCd.2FFFd/RCCCCCs3    
B3AA,+B3,
A96B38A996B32B3c           	      T   |r| j                             dt          |          z             | j        r?| j                             dt          | j        t	          |          z            z             |                     ||dz
             | j                             d           d S d S )Nr|   r   r   )r   r"   r#   rulerr)   	columnize)r   headercmdscmdlenmaxcols        r   r   zCmd.print_topicsR  s     	$KfS[[0111z H!!&TZ#f++-E)F)F"FGGGNN4***Kd#####	$ 	$r   r~   c           	         	 s| j                             d           d S fdt          t                              D             }|r8t	          dd                    t          t          |                    z            t                    }|dk    r2| j                             dt          d                   z             d S t          dt                              D ]}||z   dz
  |z  }g }d}t          |          D ]p}	d}
t          |          D ]7}|||	z  z   }||k    r n&|         }t          |
t          |                    }
8|	                    |
           ||
d	z   z  }||k    r nq||k    r nt                    }d}dg}t          |          D ]}g }t          |          D ]0}	|||	z  z   }||k    rd
}n|         }|	                    |           1|r|d         s|d= |r|d         t          t          |                    D ]&}	||	         
                    ||	                   ||	<   '| j                             dt          d                    |                    z             d S )Nz<empty>
c                 J    g | ]}t          |         t                    | S r3   )
isinstancer#   )rW   r@   rw   s     r   rZ   z!Cmd.columnize.<locals>.<listcomp>d  s;     9 9 9A)$q'3779a 9 9 9r   z list[i] not a string for i in %sz, r   r|   r      r   z  )r   r"   ranger)   	TypeErrorjoinmapr#   maxr   ljust)r   rw   displaywidth
nonstringssizenrowsncols	colwidthstotwidthcolcolwidthrowr@   xtextss    `             r   r   zCmd.columnizeZ  s   	
  	Kk***F9 9 9 9s4yy!1!1 9 9 9
 	?>"iiC(<(<==> ? ? ?4yy199KfSa\\1222F1c$ii(( 	 	E%Z\e+EIHU||   << 5 5CeCiADyyQA"8SVV44HH  ***HqL(l**E +<'' ( IIEEI<< 	< 	<CEU||    %)O99AAQAQ b	 "I  b	 SZZ(( > >"3Z--in==c

KfS5)9)9%:%::;;;;	< 	<r   )r	   NNr   )r~   )"__name__
__module____qualname__PROMPTr&   
IDENTCHARSr?   r   rI   r!   r   r   r   r   r   r   r   r1   r+   r-   r   r.   rD   r,   rG   rH   rQ   r]   r   r[   rz   r   r   r   r3   r   r   r   r   4   sw       
 FJEGEJ;J.K+L FL' ' ' ',1 1 1 1h          (  6- - -; ; ;  I I I  <# # #
' ' ',D ,D ,D\$ $ $7< 7< 7< 7< 7< 7<r   )stringr   __all__r   ascii_lettersdigitsr   r   r3   r   r   <module>r      s   *X        '	!FM1C7
]< ]< ]< ]< ]< ]< ]< ]< ]< ]<r   