ó
    Ö›‘h  ã                   óò   • S r SSKrSSKJr  \" 5       r " S S5      r " S S5      rSR                  \" SR                  \R                  5      5      r
0 r\R                   H  r\ H  r\\\'   M
     M     Cg)	zGModule to parse ANSI escape sequences

Maintainer: Jean-Paul Calderone
é    N)ÚLoggerc                   ór   • \ rS rSrSrSr\" S \ 5       5      r\" \	" \5      5      u  r
rrrrrrrSrS rSrg)	Ú	ColorTexté   zV
Represents an element of text along with the texts colors and
additional attributes.
)ÚbÚrÚgÚyÚlÚmÚcÚwc              #   ó@   #   • U  H  oR                  5       v •  M     g 7f©N)Úupper)Ú.0Úxs     ÚYC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\twisted/conch/ui/ansi.pyÚ	<genexpr>ÚColorText.<genexpr>   s   é € Ð2ª6 aŸ™Ÿ	˜	ª6ùs   ‚)ÚBlackÚRedÚGreenÚYellowÚBlueÚMagentaÚCyanÚWhitec	                 óÔ   • XUsU l         U l        U l        X@l        XPl        X`l        Xpl        X€l        U R                  (       a$  U R                  U R                  sU l        U l        g g r   )ÚtextÚfgÚbgÚdisplayÚboldÚ	underlineÚflashÚreverse)	Úselfr    r!   r"   r#   r$   r%   r&   r'   s	            r   Ú__init__ÚColorText.__init__)   sS   € Ø&*°Ð#ˆŒ	�4”7˜DœGØŒØŒ	Ø"ŒØŒ
ØŒØ�<�<Ø#Ÿw™w¨¯©ÐˆDŒG�T•Wð ó    )r"   r$   r#   r!   r&   r'   r    r%   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚCOLORSÚtupleÚBOLD_COLORSÚrangeÚlenÚBLACKÚREDÚGREENÚYELLOWÚBLUEÚMAGENTAÚCYANÚWHITEÚCOLOR_NAMESr)   Ú__static_attributes__© r+   r   r   r      sI   † ñð 6€FÙÑ2©6Ó2Ó2€KÙ<AÁ#ÀfÃ+Ó<NÑ9€Eˆ3��v˜t W¨d°Eð	€Kõ0r+   r   c                   óŠ   • \ rS rSrSrSrSrSrSrSr	\\\\\	4r
S rS	 rS
 rS rS rS rS r\R&                  4S jrS rSrg)Ú
AnsiParseré4   z
Parser class for ANSI codes.
)ÚHÚfÚAÚBÚCÚDÚRÚsÚuÚdÚG)ÚJÚKÚP)Úhr   )Úp)r   c                 ó¸   • XsU l         U l        U R                   U R                  sU l        U l        Su  U l        U l        U l        U l        SU l        SU l	        g )N©r   r   r   r   é   Ú )
Ú	defaultFGÚ	defaultBGÚ	currentFGÚ	currentBGr$   r&   r%   r'   r#   Úprepend)r(   rX   rY   s      r   r)   ÚAnsiParser.__init__J   sL   € Ø)2Ð&ˆŒ˜œØ)-¯©¸¿¹Ð&ˆŒ˜œØ>HÑ;ˆŒ	�4”:˜tœ~¨t¬|ØˆŒØˆ�r+   c                 óÖ   • SnSnSn[        U5      nXE:  aR  US:X  a  X   [        ;   a  SnO1U(       a*  UR                  " SU5      nUS:X  a  X!US -   $ X!XF -   nUnSnUS-   nXE:  a  MR  U$ )z6
Remove all ANSI color escapes from the given string.
rW   rV   r   ÚéÿÿÿÿN)r5   Ú_setsÚfind)r(   ÚstringÚresultÚshowÚiÚLÚns          r   ÚstripEscapesÚAnsiParser.stripEscapesQ   sŒ   € ð ˆØˆØˆÜ�‹KˆØ‹eØ�q‹y˜V™Y¬%Ó/Ø‘ÞØ—K’K ¨Ó*�Ø˜“7Ø!¨1¨2 JÑ.Ð.à#¨Q kÑ1�FØ�AØ�DØ�A‘ˆAð �eð ˆr+   c                 ó   • g r   r@   )r(   Úcolorstrs     r   ÚwriteStringÚAnsiParser.writeStringg   ó   € Ør+   c                 ó¼  • U R                   (       a  U R                   U-   nSU l         UR                  S5      n[        U5      S:X  a$  U R                  U R	                  US   5      5        gU R                  U R	                  US   5      5        USS  GHD  n[        U5      nSnSnXT:  a&  X5   [
        R                  S-   ;  a  OUS-  nXT:  a  M&  U(       d	  SU l           gUS   S:w  a'  U R                  U R	                  X5S-   S 5      5        M~  USS nUS-  nXTS-
  :X  a	  SU l           g[        R                  X5   S5      nUc  M¶  U[        R                  :X  aA  U R                  USUS-    5        X5S-   S nU R                  U R	                  U5      5        GM  U[        R                  :X  aB  USUS-    X5S-   S p7U R                  U5        U R                  U R	                  U5      5        GMa  U[        R                  :X  aB  USUS-    X5S-   S p8U R                  U5        U R                  U R	                  U5      5        GM·  U[        R                   :X  a*  X5S-   S nU R                  U R	                  U5      5        GMõ  XT:X  a  SU-   U l         GM  ["        R%                  S	X5   S
9  X5S-   S nU R                  U R	                  U5      5        GMG     g)z;
Turn a string input into a list of L{ColorText} elements.
rW   r_   rV   r   Nz[;?Ú[z[z+Unhandled ANSI control type: {control_type})Úcontrol_type)r\   Úsplitr5   rm   Ú
formatTextrc   ÚdigitsÚ_setmapÚgetrB   Ú	COLOR_SETÚ
parseColorÚ
CURSOR_SETÚparseCursorÚ	ERASE_SETÚ
parseEraseÚMODE_SETÚ_logÚwarn)	r(   ÚstrÚpartsrK   rg   rf   ÚtypeÚcursorÚerases	            r   ÚparseStringÚAnsiParser.parseStringj   s›  € ð
 �<�<Ø—,‘, Ñ$ˆCØˆDŒLØ—	‘	˜&Ó!ˆäˆu‹:˜‹?Ø×Ñ˜TŸ_™_¨U°1©XÓ6Õ7à×Ñ˜TŸ_™_¨U°1©XÓ6Ô7Ø˜1˜2”Y�Ü˜“F�Ø�Ø�Ø“eØ‘t¤6§=¡=°5Ñ#8Ó8ØØ˜‘F�Að •eö Ø#)�D”LÙØ�Q‘4˜3“;Ø×$Ñ$ T§_¡_°Q¸1±u°w°ZÓ%@ÔAÙà˜!˜"˜�AØ˜‘F�AØ˜A™“:Ø#*�D”LÙÜ—{‘{ 1¡4¨Ó.�Ø‘<Ùàœ:×/Ñ/Ó/Ø—O‘O A g¨¨A© JÔ/Ø˜a™%˜'˜
�AØ×$Ñ$ T§_¡_°QÓ%7×8ØœZ×2Ñ2Ó2Ø ! ' A¨¡E 
¨A°!©e¨g¨J˜AØ×$Ñ$ VÔ,Ø×$Ñ$ T§_¡_°QÓ%7×8ØœZ×1Ñ1Ó1Ø   1 q¡5˜z¨1°©U¨W¨:˜1Ø—O‘O EÔ*Ø×$Ñ$ T§_¡_°QÓ%7×8ØœZ×0Ñ0Ó0Ø˜a™%˜'˜
�Aà×$Ñ$ T§_¡_°QÓ%7×8Ø“VØ#*¨Q¡;�D—Lä—I‘IØEÐTUÑTXð ñ ð ˜a™%˜'˜
�AØ×$Ñ$ T§_¡_°QÓ%7×8ò_ r+   c                 óÒ  • USS nU(       d  Sn [        [        UR                  S5      5      nU GHk  nUS:X  aG  U R                  U R                  sU l        U l	        Su  U l
        U l        U l        U l        S	U l        MQ  US	:X  a	  S	U l
        M`  S
Us=::  a  S::  a  O  OUS
-
  U l        M|  SUs=::  a  S::  a  O  OUS-
  U l	        M˜  US:X  a  U R                  U l        M±  US:X  a  U R                  U l	        MÊ  US:X  a	  S	U l        MÙ  US:X  a	  S	U l        Mè  US:X  a	  S	U l        M÷  US:X  a
  SU l        GM  US:X  a
  SU l
        GM  US:X  a
  SU l        GM'  US:X  a
  SU l        GM7  US:X  a
  SU l        GMG  US:X  a
  S	U l        GMW  [        R                  SUS9  GMn     g! [         a:    [        R                  SUS9  U R                  U R                  sU l        U l	         gf = f)z%
Handle a single ANSI color sequence
Nr`   Ú0Ú;z)Invalid ANSI color sequence: {sequence!r})Úsequencer   rU   rV   é   é%   é(   é/   é'   é1   é   é   é   é   é   é   é   é   é   z*Unrecognised ANSI color command: {command})Úcommand)ÚmapÚintrs   Ú
ValueErrorr   ÚerrorrX   rY   rZ   r[   r$   r&   r%   r'   r#   Úblink)r(   r�   r‚   r   s       r   ry   ÚAnsiParser.parseColor©   s¤  € ð
 �#�2ˆhˆæØˆCð	Üœ˜SŸY™Y s›^Ó,ˆEô ˆAØ�A‹vØ15·±ÀÇÁÐ.�” ¤ØFPÑC�”	˜4œ: t¤~°t´|Ø �–Ø�a“Ø�–	Ø�q•˜B–Ø!" R¡�–Ø�q•˜B–Ø!" R¡�–Ø�b“Ø!%§¡�–Ø�b“Ø!%§¡�–Ø�a“Ø!"�–Ø�a“Ø�–
Ø�a“Ø �–Ø�a“Ø �—Ø�b“Ø�—	Ø�b“Ø!"�—Ø�b“Ø�—
Ø�b“Ø �—Ø�b“Ø �—ä—
‘
ÐGÐQR�
ÔSòE øô ó 	Ü�J‰JÐBÈSˆJÑQØ-1¯^©^¸T¿^¹^Ð*ˆDŒN˜DœNÙð	ús   �F" Æ"AG&Ç%G&c                 ó   • g r   r@   )r(   r„   s     r   r{   ÚAnsiParser.parseCursorÞ   ro   r+   c                 ó   • g r   r@   )r(   r…   s     r   r}   ÚAnsiParser.parseEraseá   ro   r+   c                 ó˜   • U(       a  [         R                  U   $ U R                  =(       a    X1   =(       d    [         R                  U   $ r   )r   r1   r$   )r(   ÚvalueÚmodeÚBOLDs       r   Ú	pickColorÚAnsiParser.pickColorä   s7   € ÞÜ×#Ñ# EÑ*Ð*à—9‘9×, ¡×G´	×0@Ñ0@ÀÑ0GÐGr+   c           
      óò   • [        UU R                  U R                  S5      U R                  U R                  S5      U R                  U R
                  U R                  U R                  U R                  5      $ )Nr   rV   )	r   rª   rZ   r[   r#   r$   r%   r&   r'   )r(   r    s     r   rt   ÚAnsiParser.formatTextê   sY   € ÜØØ�N‰N˜4Ÿ>™>¨1Ó-Ø�N‰N˜4Ÿ>™>¨1Ó-Ø�L‰LØ�I‰IØ�N‰NØ�J‰JØ�L‰Ló	
ð 		
r+   )r    r$   r[   rZ   rY   rX   r#   r&   r\   r'   r%   N)r,   r-   r.   r/   r0   rz   r|   r~   Ú
ASSIGN_SETrx   ÚSETSr)   ri   rm   r†   ry   r{   r}   r   r3   rª   rt   r?   r@   r+   r   rB   rB   4   sw   † ñð
 I€Jð  €Ið €Hð €Jð €Ià˜	 8¨Z¸ÐC€Dòòò,ò=9ò~3Tòjòð +4×*?Ñ*?ô Hõ

r+   rB   rW   )r0   rc   Útwisted.loggerr   r   r   rB   Újoinrœ   r¯   ra   rv   rK   r   r@   r+   r   Ú<module>r²      s}   ðñ
ó
 õ "áƒx€÷0ñ 0÷D@
ñ @
ðF 	�‰‘�B—G‘G˜ZŸ_™_Ó-Ó.€à
€Ø	�Œ€AÛˆØˆ�‹
ó ñ 
ñ r+   