
     j_!                    H   U d dl mZ d dlmZ d dlZd dlZd dlZd dlZ	d dl
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d dl
mZ d d	l
mZ d d
l
mZ d dl
mZ d dl
mZ d dl
mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ej        dk    sJ d dl Z d dl
m!Z! d dl
m"Z"  ee          Z#e!j$        Z$e$j%        Z%e$j&        Z&e$j'        Z'e$j(        Z(e$j)        Z)  e"e          de!j$        f          Z*  e" ee          e ee                    de!j+        f          Z,  e"ee          de!j$        f          Z- e%d          Z. e%d          Z/ e%d          Z0d Z1dZ2d Z3dZ4dZ5d Z6dZ7d Z8d!Z9d"Z:e	j;        r	 d d#lm<Z< n# e=$ r	 d d#l>m<Z< Y nw xY w	 d d$l
m?Z?  G d% d&e          Z@e?jA        ZAe?jB        ZBdGdHd.ZCn# e=$ r dZCY nw xY w G d/ d0ejD                  ZE G d1 d2eE          ZF G d3 d4eE          ZG G d5 d6          ZHdId:ZIdId;ZJdId<ZKeIeJeKd=ZLd>eMd?<   dJdAZNdKdFZOdS )L    )annotationsN)Array)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)	Structure)DWORD)HANDLE)LPCWSTR)LPWSTR)gettext   )_NonClosingTextIOWrapperwin32)windll)WINFUNCTYPEGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  )Buffer)	pythonapic                  T    e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefgZ	dS )	Py_bufferbufobjlenitemsizereadonlyndimformatshapestrides
suboffsetsinternalN)
__name__
__module____qualname__r   r   r	   r   r   	c_ssize_p_fields_     U/home/jworkman/hermes-web-chat/venv/lib/python3.11/site-packages/click/_winconsole.pyr"   r"   X   sl        HII#UOx i 	"9%"
r4   r"   Fr$   r   writableboolreturnArray[c_char]c                f   t                      }|rt          nt          }t          t	          |           t          |          |           	 t          |j        z  }|                    |j	                  }|t          t          |                     S # t          t          |                     w xY wN)r"   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr   r   r   r%   from_addressr#   PyBuffer_Release)r$   r6   r#   flagsbuffer_typeouts         r5   
get_bufferrD   j   s    kk'/A^^\9S>>5::u===	) 37*K!,!9!9#'!B!BCU3ZZ((((U3ZZ((((s   *B B0c                  (     e Zd ZddZd	 fdZ xZS )
_WindowsConsoleRawIOBasehandle
int | Noner8   Nonec                    || _         d S r;   )rG   )selfrG   s     r5   __init__z!_WindowsConsoleRawIOBase.__init__x   s    r4   t.Literal[True]c                H    t                                                       dS NT)superisatty)rK   	__class__s    r5   rQ   z_WindowsConsoleRawIOBase.isatty{   s    tr4   )rG   rH   r8   rI   r8   rM   )r.   r/   r0   rL   rQ   __classcell__)rR   s   @r5   rF   rF   w   sQ                    r4   rF   c                      e Zd Zd	dZd
dZdS )_WindowsConsoleReaderr8   rM   c                    dS rO   r3   rK   s    r5   readablez_WindowsConsoleReader.readable       tr4   br   intc                   t          |          }|sdS |dz  rt          d          t          |d          }|dz  }t                      }t	          t          | j                  ||t          |          d           }t                      t          k    rt          j        d           |s<t          t          d                              t                                          |d         t          k    rdS d|j        z  S )	Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r6   g?Windows error: {error}error)r%   
ValueErrorrD   r
   ReadConsoleWr   rG   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSError_r)   EOFvalue)rK   r[   bytes_to_be_readbuffercode_units_to_be_readcode_units_readrvs          r5   readintoz_WindowsConsoleReader.readinto   s   q66 	1! 	P   A--- 0A 5!))4;!/""
 
 >>444JsOOO 	T!455<<<>><RRSSS!91?(((r4   NrS   r[   r   r8   r\   )r.   r/   r0   rY   rp   r3   r4   r5   rV   rV      s<           ) ) ) ) ) )r4   rV   c                  6    e Zd ZddZedd            Zdd
ZdS )_WindowsConsoleWriterr8   rM   c                    dS rO   r3   rX   s    r5   r6   z_WindowsConsoleWriter.writable   rZ   r4   errnor\   strc                |    | t           k    rdS | t          k    rdS t          d                              |           S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYr^   r_   )rx   ry   rh   r)   )ru   s    r5   _get_error_messagez(_WindowsConsoleWriter._get_error_message   sD    M!!"?---,,)**111>>>r4   r[   r   c                z   t          |          }t          |          }t          |t                    dz  }t	                      }t          t          | j                  ||t          |          d            d|j	        z  }|dk    r4|dk    r.t          |                     t                                          |S )Nr   r   )r%   rD   minMAX_BYTES_WRITTENr
   WriteConsoleWr   rG   r   rj   rg   rz   rc   )rK   r[   bytes_to_be_writtenr#   code_units_to_be_writtencode_units_writtenbytes_writtens          r5   writez_WindowsConsoleWriter.write   s    !!ffmm#&':<M#N#NRS#S $YY4;$$%%	
 	
 	
 .44A"5"9"9$11,..AABBBr4   NrS   )ru   r\   r8   rv   rq   )r.   r/   r0   r6   staticmethodrz   r   r3   r4   r5   rs   rs      s\            ? ? ? \?     r4   rs   c                  V    e Zd ZddZedd	            ZddZddZddZddZ	ddZ
dS )ConsoleStreamtext_streamt.TextIObyte_stream
t.BinaryIOr8   rI   c                "    || _         || _        d S r;   )_text_streamrl   )rK   r   r   s      r5   rL   zConsoleStream.__init__   s    '!r4   rv   c                    | j         j        S r;   )rl   namerX   s    r5   r   zConsoleStream.name   s    {r4   xt.AnyStrr\   c                    t          |t                    r| j                            |          S 	 |                                  n# t
          $ r Y nw xY w| j                            |          S r;   )
isinstancerv   r   r   flush	Exceptionrl   )rK   r   s     r5   r   zConsoleStream.write   su    a 	.$**1---	JJLLLL 	 	 	D	{  ###s   A 
AAlinescabc.Iterable[t.AnyStr]c                :    |D ]}|                      |           d S r;   )r   )rK   r   lines      r5   
writelineszConsoleStream.writelines   s0     	 	DJJt	 	r4   r   t.Anyc                ,    t          | j        |          S r;   )getattrr   )rK   r   s     r5   __getattr__zConsoleStream.__getattr__   s    t($///r4   r7   c                4    | j                                         S r;   )rl   rQ   rX   s    r5   rQ   zConsoleStream.isatty   s    {!!###r4   c                (    d| j         d| j        dS )Nz<ConsoleStream name=z
 encoding=>)r   encodingrX   s    r5   __repr__zConsoleStream.__repr__   s    OdiOOT]OOOOr4   N)r   r   r   r   r8   rI   )r8   rv   )r   r   r8   r\   )r   r   r8   rI   )r   rv   r8   r   )r8   r7   )r.   r/   r0   rL   propertyr   r   r   r   rQ   r   r3   r4   r5   r   r      s        " " " "       X $ $ $ $   0 0 0 0$ $ $ $P P P P P Pr4   r   buffer_streamr   r   c                    t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrV   STDIN_HANDLEtcastTextIOr   r   r   s     r5   _get_text_stdinr      sV    *
/==>>	  K 6!(M+}EEFFFr4   c                    t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S r   )	r   r   BufferedWriterrs   STDOUT_HANDLEr   r   r   r   r   s     r5   _get_text_stdoutr      V    *
/>>??	  K 6!(M+}EEFFFr4   c                    t          t          j        t          t                              ddd          }t          j        t
          j        t          ||                     S r   )	r   r   r   rs   STDERR_HANDLEr   r   r   r   r   s     r5   _get_text_stderrr      r   r4   )r   r   r   z5cabc.Mapping[int, t.Callable[[t.BinaryIO], t.TextIO]]_stream_factoriesfc           	         t          | d          sdS 	 |                                 }n# t          t          j        f$ r Y dS w xY wt          j        |          }t          t          |t          t                                                    S )NfilenoF)hasattrr   rg   r   UnsupportedOperationmsvcrtget_osfhandler7   GetConsoleModer   r   )r   r   rG   s      r5   _is_consoler     s    1h uR,-   uu !&))FvuUWW~~66777s   ) AAr   
str | Noneerrorst.TextIO | Nonec                    t           |dvs|dvst          |           sd S t                              |                                           }|d S t          | dd           }|d S  ||          S )N>   Nr   >   Nr   rl   )rD   r   r   getr   r   )r   r   r   funcr[   s        r5   _get_windows_console_streamr     s     	...)))1~~ * t  ,,D|t8T""Ayt477Nr4   )F)r$   r   r6   r7   r8   r9   )r   r   r8   r   )r   r   r8   r7   )r   r   r   r   r   r   r8   r   )P
__future__r   collections.abcabccabcr   sysre   typingr   ctypesr   r   r   r   r   r	   r
   r   r   r   r   ctypes.wintypesr   r   r   r   r   rh   _compatr   platformr   r   r   r1   kernel32GetStdHandlerb   r~   r   rc   r   shell32r   r   r   r   r   r=   r<   rx   ry   rd   STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOri   r}   TYPE_CHECKINGr   ImportErrortyping_extensionsr    r"   r>   r@   rD   	RawIOBaserF   rV   rs   r   r   r   r   r   __annotations__r   r   r3   r4   r5   <module>r      s8   # " " " " " "       				 



                                                                        ! ! ! ! ! ! " " " " " " # # # # # # " " " " " "             - - - - - -
|w             GI	?$$&($%++f%%'8&/&JKKJ[['775>>JJ6>*   ,KK(++[&/,JKK	|C  S!!S!!   ? -- 	+****** - - -,,,,,,,,-$)      
 
 
 
 
I 
 
 
 #5 1
) 
) 
) 
) 
) 
)1     JJJJ    r|    )  )  )  )  )4  )  )  )F    4   @P P P P P P P P@G G G GG G G GG G G G L L     
8 
8 
8 
8     s$   9F   FFF: :GG