
    g%                        S r SrSr SSKrSSKJr  \" \R
                  5      rSSKJr  SSKJrJ	r	J
r
Jr  \R                  r " S S	\	5      r\R                  R                   r\R$                  /\l        \R(                  \l        \R                  R,                  r\R(                  \" \5      /\l        \R0                  \l        \R                  R2                  r\R(                  \R6                  /\l        \R0                  \l        \R                  R8                  r\R(                  \/\l        \R0                  \l        \R                  R<                  r\R(                  \
\R$                  \\" \R$                  5      /\l        \R0                  \l        \R                  R@                  r!\R(                  \R6                  \R$                  \\" \R$                  5      /\!l        \R0                  \!l        \R                  RD                  r#\RH                  /\#l        \R0                  \#l        \R                  RJ                  r&\R(                  \" \R$                  5      /\&l        \R0                  \&l        \R                  RN                  r(\R(                  \R$                  /\(l        \R0                  \(l        S
 r)S r*\ 4S jrS rSS jrS r+S r S r,S r%S r'g! \-\.4 a    SrS rS r* gf = f)ii       N)LibraryLoader)wintypes)byref	Structurec_charPOINTERc                   h    \ rS rSrSrS\4S\4S\R                  4S\R                  4S\4/r	S r
S	rg
)CONSOLE_SCREEN_BUFFER_INFO   zstruct in wincon.h.dwSizedwCursorPositionwAttributessrWindowdwMaximumWindowSizec                    SU R                   R                  U R                   R                  U R                  R                  U R                  R                  U R                  U R
                  R                  U R
                  R                  U R
                  R                  U R
                  R                  U R                  R                  U R                  R                  4-  $ )Nz"(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d))r   YXr   r   r   TopLeftBottomRightr   )selfs    G/home/matz/Project1/venv/lib/python3.13/site-packages/colorama/win32.py__str__"CONSOLE_SCREEN_BUFFER_INFO.__str__    s    7t{{}}''))4+@+@+B+B""--##T]]%7%79M9Mt}}ObOb**,,d.F.F.H.H;       N)__name__
__module____qualname____firstlineno____doc__COORDr   WORD
SMALL_RECT_fields_r   __static_attributes__r   r   r   r   r      sC    !u'HMM*,,-"E*
	r   r   c                 V    [        5       n[        U [        U5      5      n[        U5      $ N)r   _GetConsoleScreenBufferInfor   bool)handlecsbisuccesss      r   _winapi_testr0   l   s'    )+-E$K!G}r   c                  ^    [        S [        [        5      [        [        5      4 5       5      $ )Nc              3   8   #    U  H  n[        U5      v   M     g 7fr*   )r0   ).0hs     r   	<genexpr>winapi_test.<locals>.<genexpr>s   s      CA ()<??As   )any_GetStdHandleSTDOUTSTDERRr   r   r   winapi_testr;   r   s/     C!&)=+@AC C 	Cr   c                 Z    [        U 5      n[        5       n[        U[        U5      5      nU$ r*   )r8   r   r+   r   )	stream_idr-   r.   r/   s       r   GetConsoleScreenBufferInfor>   v   s,    y))+-E$K!r   c                 .    [        U 5      n[        X!5      $ r*   )r8   _SetConsoleTextAttribute)r=   attrsr-   s      r   SetConsoleTextAttributerB   }   s    y)'66r   c                    [        U6 nUR                  S::  d  UR                  S::  a  g [        UR                  S-
  UR                  S-
  5      nU(       aW  [        [        5      R
                  nU=R                  UR                  -  sl        U=R                  UR                  -  sl        [        U 5      n[        XS5      $ )Nr      )
r$   r   r   r>   r9   r   r   r   r8   _SetConsoleCursorPosition)r=   positionadjustadjusted_positionsrr-   s         r   SetConsoleCursorPositionrJ      s    (#::?hjjAo "(**q.(**q.A+F3<<B266)277*y)(CCr   c           	          [        U 5      n[        UR                  5       5      n[        R                  " U5      n[        R                  " S5      n[        XAX#[        U5      5      nUR                  $ )Nr   )r8   r   encoder   DWORD_FillConsoleOutputCharacterAr   value)r=   charlengthstartr-   num_writtenr/   s          r   FillConsoleOutputCharacterrT      sZ    y)dkkm$'nnQ'.&{);=   r   c           	          [        U 5      n[        R                  " U5      n[        R                  " U5      n[        R                  " S5      n[	        XEX#[        U5      5      $ )z`FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )r   )r8   r   r%   rM   _FillConsoleOutputAttributer   )r=   attrrQ   rR   r-   	attributerS   s          r   FillConsoleOutputAttributerY      sQ    y)MM$'	'nnQ'*veK.@B 	Br   c                     [        U 5      $ r*   )_SetConsoleTitleW)titles    r   SetConsoleTitler]      s     ''r   c                     [         R                  " 5       n[        U [        U5      5      nU(       d  [        R
                  " 5       eUR                  $ r*   )r   rM   _GetConsoleModer   ctypesWinErrorrO   r-   moder/   s      r   GetConsoleModerd      s8    ~~!&%+6//##zzr   c                 R    [        X5      nU(       d  [        R                  " 5       eg r*   )_SetConsoleModer`   ra   rb   s      r   SetConsoleModerg      s!    !&///## r   c                      g r*   r   _s    r   <lambda>rk      s    r   c                      g r*   r   ri   s    r   rk   rk      s    Tr   )T)/r9   r:   "ENABLE_VIRTUAL_TERMINAL_PROCESSINGr`   r   WinDLLwindllr   r   r   r   r	   _COORDr$   r   kernel32GetStdHandler8   rM   argtypesHANDLErestyper>   r+   BOOLrB   r@   r%   rJ   rE   FillConsoleOutputCharacterArN   rY   rV   SetConsoleTitleWr[   LPCWSTRrd   r_   rg   rf   r0   r;   rT   r]   AttributeErrorImportErrorr   r   r   <module>r|      s   
	%+ "k$$6==)F 98OOEY $ OO00MM %OOM"(//"L"L*+,( +3--'%FF)% (0}}$ & H H*& )1%#)??#N#N - ) ,4== ("(//"L"L,( +3--'88" !)oo44O O 'mmOoo44O O 'mmOC .4 7D$!B($G 	$ "F-!K"s   "K' 'K:9K: