o
    g                  	   @   s  U 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 ejdksrJ 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Z(d Z)dZ*d Z+dZ,dZ-d Z.dZ/dZ0dZ1dZ2zd d lm3Z3 W n e4y   dZ5Y nw G d!d" d"eZ6e3j7Z7e3j8Z8d?d$d%Z5G d&d' d'e j9Z:G d(d) d)e:Z;G d*d+ d+e:Z<G d,d- d-Z=d.ej>d/ej?fd0d1Z@d.ej>d/ej?fd2d3ZAd.ej>d/ej?fd4d5ZBe@eAeBd6ZCejDeEejFej>gej?f f eGd7< d8ej?d/eHfd9d:ZId8ej?d;ejJeK d<ejJeK d/ejJej? fd=d>ZLdS )@    N)byref)c_char)c_char_p)c_int)	c_ssize_t)c_ulong)c_void_p)POINTER)	py_object)	Structure)DWORD)HANDLE)LPCWSTR)LPWSTR   )_NonClosingTextIOWrapperwin32)windll)WINFUNCTYPEGetCommandLineWCommandLineToArgvW	LocalFreeiii   i        i  )	pythonapic                   @   sR   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_ r-   r-   S/var/www/html/ecg_monitoring/venv/lib/python3.10/site-packages/click/_winconsole.pyr   K   s    r   Fc              	   C   sZ   t  }|rtnt}tt| t|| zt|j }||j	W t
t| S t
t| w N)r   PyBUF_WRITABLEPyBUF_SIMPLEPyObject_GetBufferr
   r   r   r   from_addressr   PyBuffer_Release)r   writabler   flagsbuffer_typer-   r-   r.   
get_buffer]   s   
r8   c                       s$   e Zd Zdd Z fddZ  ZS )_WindowsConsoleRawIOBasec                 C   s
   || _ d S r/   )handle)selfr:   r-   r-   r.   __init__j      
z!_WindowsConsoleRawIOBase.__init__c                    s   t    dS NT)superisattyr;   	__class__r-   r.   r@   m   s   
z_WindowsConsoleRawIOBase.isatty)r(   r)   r*   r<   r@   __classcell__r-   r-   rB   r.   r9   i   s    r9   c                   @   s   e Zd Zdd Zdd ZdS )_WindowsConsoleReaderc                 C      dS r>   r-   rA   r-   r-   r.   readables      z_WindowsConsoleReader.readablec                 C   s   t |}|sdS |d rtdt|dd}|d }t }tt| j||t|d }t t	kr4t
d |s>tdt  |d tkrFdS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r5   g?zWindows error: )r   
ValueErrorr8   r   ReadConsoleWr   r:   r   GetLastErrorERROR_OPERATION_ABORTEDtimesleepOSErrorEOFvalue)r;   bbytes_to_be_readbuffercode_units_to_be_readcode_units_readrvr-   r-   r.   readintov   s0   


z_WindowsConsoleReader.readintoN)r(   r)   r*   rG   rX   r-   r-   r-   r.   rE   r   s    rE   c                   @   s(   e Zd Zdd Zedd Zdd ZdS )_WindowsConsoleWriterc                 C   rF   r>   r-   rA   r-   r-   r.   r5      rH   z_WindowsConsoleWriter.writablec                 C   s"   | t krdS | tkrdS d|  S )NERROR_SUCCESSERROR_NOT_ENOUGH_MEMORYzWindows error )rZ   r[   )errnor-   r-   r.   _get_error_message   s
   
z(_WindowsConsoleWriter._get_error_messagec                 C   sl   t |}t|}t|td }t }tt| j||t|d  d|j	 }|dkr4|dkr4t
| t |S )Nr   r   )r   r8   minMAX_BYTES_WRITTENr   WriteConsoleWr   r:   r   rQ   rO   r]   rK   )r;   rR   bytes_to_be_writtenr   code_units_to_be_writtencode_units_writtenbytes_writtenr-   r-   r.   write   s   
z_WindowsConsoleWriter.writeN)r(   r)   r*   r5   staticmethodr]   re   r-   r-   r-   r.   rY      s
    
rY   c                   @   s   e Zd ZdejdejddfddZedefddZ	d	ej
defd
dZdejej
 ddfddZdedejfddZdefddZdd ZdS )ConsoleStreamtext_streambyte_streamreturnNc                 C   s   || _ || _d S r/   )_text_streamrT   )r;   rh   ri   r-   r-   r.   r<      s   
zConsoleStream.__init__c                 C   s   | j jS r/   )rT   namerA   r-   r-   r.   rl      s   zConsoleStream.namexc                 C   sB   t |tr| j|S z|   W n	 ty   Y nw | j|S r/   )
isinstancestrrk   re   flush	ExceptionrT   )r;   rm   r-   r-   r.   re      s   
zConsoleStream.writelinesc                 C   s   |D ]}|  | qd S r/   )re   )r;   rr   liner-   r-   r.   
writelines   s   zConsoleStream.writelinesrl   c                 C   s   t | j|S r/   )getattrrk   )r;   rl   r-   r-   r.   __getattr__   s   zConsoleStream.__getattr__c                 C   s
   | j  S r/   )rT   r@   rA   r-   r-   r.   r@      r=   zConsoleStream.isattyc                 C   s   d| j d| jdS )Nz<ConsoleStream name=z
 encoding=>)rl   encodingrA   r-   r-   r.   __repr__   s   zConsoleStream.__repr__)r(   r)   r*   tTextIOBinaryIOr<   propertyro   rl   AnyStrintre   Iterablert   Anyrv   boolr@   ry   r-   r-   r-   r.   rg      s    	rg   buffer_streamrj   c                 C   .   t tttdddd}ttjt|| S N	utf-16-lestrictT)line_buffering)	r   ioBufferedReaderrE   STDIN_HANDLErz   castr{   rg   r   rh   r-   r-   r.   _get_text_stdin      r   c                 C   r   r   )	r   r   BufferedWriterrY   STDOUT_HANDLErz   r   r{   rg   r   r-   r-   r.   _get_text_stdout   r   r   c                 C   r   r   )	r   r   r   rY   STDERR_HANDLErz   r   r{   rg   r   r-   r-   r.   _get_text_stderr   r   r   )r   r   r   _stream_factoriesfc              	   C   sT   t | dsdS z|  }W n ttjfy   Y dS w t|}tt|t	t
 S )NfilenoF)hasattrr   rO   r   UnsupportedOperationmsvcrtget_osfhandler   GetConsoleModer   r   )r   r   r:   r-   r-   r.   _is_console   s   

r   rx   errorsc                 C   sj   t d ur+|dv r-|dv r/t| r1t|  }|d ur3t| dd }|d u r'd S ||S d S d S d S d S d S )N>   Nr   >   Nr   rT   )r8   r   r   getr   ru   )r   rx   r   funcrR   r-   r-   r.   _get_windows_console_stream  s   r   )F)Mr   sysrM   typingrz   ctypesr   r   r   r   r   r   r   r	   r
   r   ctypes.wintypesr   r   r   r   _compatr   platformr   r   r   r+   kernel32GetStdHandlerJ   r`   r   rK   r   shell32r   r   r   r   r   r1   r0   rZ   r[   rL   STDIN_FILENOSTDOUT_FILENOSTDERR_FILENOrP   r_   r   ImportErrorr8   r   r2   r4   	RawIOBaser9   rE   rY   rg   r|   r{   r   r   r   r   Mappingr   Callable__annotations__r   r   Optionalro   r   r-   r-   r-   r.   <module>   s   

	#  

(
