
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ™Wn  ã                   @   s  d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlmZm	Z	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZ zd dlmZ ejZejZW n ek
r´   dZY nX d dlmZmZ eeƒ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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Z2G dd„ dej3ƒZ4edk�r~dZ5n
d+dd„Z5G dd„ de j6ƒZ7G dd„ de7ƒZ8G dd„ de7ƒZ9G dd„ de:ƒZ;dd„ Z<d d!„ Z=d"d#„ Z>e
�rþd$d%„ Z?e?ƒ Z@d&d'„ ZAe<e=e>d(œZBd)d*„ ZCdS ),é    N)Ú_NonClosingTextIOWrapperÚ	text_typeÚPY2)ÚbyrefÚPOINTERÚc_intÚc_charÚc_char_pÚc_void_pÚ	py_objectÚ	c_ssize_tÚc_ulongÚwindllÚWINFUNCTYPE)Ú	pythonapi)ÚLPWSTRÚLPCWSTRÚGetCommandLineWÚCommandLineToArgvWiöÿÿÿiõÿÿÿiôÿÿÿé   é   iã  é   ó   iÿ  c                   @   sj   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	e
rfe	 dded f¡ dS )Ú	Py_bufferÚbufÚobjÚlenÚitemsizeÚreadonlyÚndimÚformatÚshapeÚstridesÚ
suboffsetsZinternaléÿÿÿÿZ
smalltabler   N)Ú__name__Ú
__module__Ú__qualname__r
   r   r   r   r	   Ú	c_ssize_pÚ_fields_r   Úinsert© r+   r+   úB/opt/alt/python38/lib/python3.8/site-packages/click/_winconsole.pyr   @   s   õr   Fc              	   C   sT   t ƒ }|rtnt}tt| ƒt|ƒ|ƒ zt|j }| 	|j
¡W ¢S tt|ƒƒ X d S ©N)r   ÚPyBUF_WRITABLEÚPyBUF_SIMPLEÚPyObject_GetBufferr   r   ÚPyBuffer_Releaser   r   Úfrom_addressr   )r   Úwritabler   ÚflagsZbuffer_typer+   r+   r,   Ú
get_bufferX   s    
r5   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú_WindowsConsoleRawIOBasec                 C   s
   || _ d S r-   )Úhandle)Úselfr7   r+   r+   r,   Ú__init__e   s    z!_WindowsConsoleRawIOBase.__init__c                 C   s   t j | ¡ dS ©NT)ÚioÚ	RawIOBaseÚisatty©r8   r+   r+   r,   r=   h   s    z_WindowsConsoleRawIOBase.isattyN)r%   r&   r'   r9   r=   r+   r+   r+   r,   r6   c   s   r6   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú_WindowsConsoleReaderc                 C   s   dS r:   r+   r>   r+   r+   r,   Úreadableo   s    z_WindowsConsoleReader.readablec                 C   s�   t |ƒ}|sdS |d r tdƒ‚t|dd�}|d }tƒ }t| j||t|ƒd ƒ}tƒ tkrdt	 
d¡ |svtdtƒ  ƒ‚|d tkr†dS d|j S )Nr   r   z>cannot read odd number of bytes from UTF-16-LE encoded consoleT)r3   gš™™™™™¹?zWindows error: %s)r   Ú
ValueErrorr5   r   ÚReadConsoleWr7   r   ÚGetLastErrorÚERROR_OPERATION_ABORTEDÚtimeÚsleepÚOSErrorÚEOFÚvalue)r8   ÚbZbytes_to_be_readÚbufferZcode_units_to_be_readZcode_units_readÚrvr+   r+   r,   Úreadintor   s&    
 ÿ

z_WindowsConsoleReader.readintoN)r%   r&   r'   r@   rM   r+   r+   r+   r,   r?   m   s   r?   c                   @   s(   e Zd Zdd„ Zedd„ ƒZdd„ ZdS )Ú_WindowsConsoleWriterc                 C   s   dS r:   r+   r>   r+   r+   r,   r3   �   s    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 %s)rO   rP   )Úerrnor+   r+   r,   Ú_get_error_message�   s
    z(_WindowsConsoleWriter._get_error_messagec                 C   sh   t |ƒ}t|ƒ}t|tƒd }tƒ }t| j||t|ƒd ƒ d|j }|dkrd|dkrdt	|  
tƒ ¡ƒ‚|S )Nr   r   )r   r5   ÚminÚMAX_BYTES_WRITTENr   ÚWriteConsoleWr7   r   rI   rG   rR   rC   )r8   rJ   Zbytes_to_be_writtenr   Zcode_units_to_be_writtenZcode_units_writtenZbytes_writtenr+   r+   r,   Úwrite˜   s     ÿÿ
 ÿ
z_WindowsConsoleWriter.writeN)r%   r&   r'   r3   ÚstaticmethodrR   rV   r+   r+   r+   r,   rN   ‹   s   
rN   c                   @   sH   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 )ÚConsoleStreamc                 C   s   || _ || _d S r-   )Ú_text_streamrK   )r8   Útext_streamZbyte_streamr+   r+   r,   r9   ª   s    zConsoleStream.__init__c                 C   s   | j jS r-   )rK   Únamer>   r+   r+   r,   r[   ®   s    zConsoleStream.namec                 C   sD   t |tƒr| j |¡S z|  ¡  W n tk
r6   Y nX | j |¡S r-   )Ú
isinstancer   rY   rV   ÚflushÚ	ExceptionrK   )r8   Úxr+   r+   r,   rV   ²   s    
zConsoleStream.writec                 C   s   |D ]}|   |¡ qd S r-   )rV   )r8   ÚlinesÚliner+   r+   r,   Ú
writelines»   s    zConsoleStream.writelinesc                 C   s   t | j|ƒS r-   )ÚgetattrrY   )r8   r[   r+   r+   r,   Ú__getattr__¿   s    zConsoleStream.__getattr__c                 C   s
   | j  ¡ S r-   )rK   r=   r>   r+   r+   r,   r=   Â   s    zConsoleStream.isattyc                 C   s   d| j | jf S )Nz#<ConsoleStream name=%r encoding=%r>)r[   Úencodingr>   r+   r+   r,   Ú__repr__Å   s    þzConsoleStream.__repr__N)r%   r&   r'   r9   Úpropertyr[   rV   rb   rd   r=   rf   r+   r+   r+   r,   rX   ¨   s   
	rX   c                 C   s$   t t ttƒ¡dddd�}t|| ƒS ©Nú	utf-16-leÚstrictT)Úline_buffering)r   r;   ÚBufferedReaderr?   ÚSTDIN_HANDLErX   ©Zbuffer_streamrZ   r+   r+   r,   Ú_get_text_stdinÌ   s      þro   c                 C   s   t ttƒdddd�}t|| ƒS rh   )r   rN   ÚSTDOUT_HANDLErX   rn   r+   r+   r,   Ú_get_text_stdoutÓ   s      þrq   c                 C   s   t ttƒdddd�}t|| ƒS rh   )r   rN   ÚSTDERR_HANDLErX   rn   r+   r+   r,   Ú_get_text_stderrÚ   s      þrs   c                   C   s   t  d tjdd … ¡¡S )Nú r   )ÚzlibÚcrc32ÚjoinÚsysÚargvr+   r+   r+   r,   Ú_hash_py_argvâ   s    rz   c                     s–   t dƒ} ttƒ t| ƒƒ‰ ‡ fdd„td| jƒD ƒ}ttdƒsŠ|dd … }t|ƒdkrŠ|d }| 	d¡rŠ|dkrpqŠ|dd … }| 	d¡rHqŠqH|dd … S )Nr   c                    s   g | ]}ˆ | ‘qS r+   r+   )Ú.0Úi©Zargv_unicoder+   r,   Ú
<listcomp>ê   s     z%_get_windows_argv.<locals>.<listcomp>Úfrozenr   ú-)z-cz-m)
r   r   r   r   ÚrangerI   Úhasattrrx   r   Ú
startswith)Zargcry   Úargr+   r}   r,   Ú_get_windows_argvç   s    

r…   )r   r   r   c                 C   sz   t d k	rv|dkrv|dkrvt| dƒrv|  ¡ rvt |  ¡ ¡}|d k	rvts\t| dƒ} | d krnd S nt 	|  ¡ t
j¡ || ƒS d S )N)ri   N)rj   Nr=   rK   )r5   r‚   r=   Ú_stream_factoriesÚgetÚfilenor   rc   ÚmsvcrtZsetmodeÚosÚO_BINARY)Úfre   ÚerrorsÚfuncr+   r+   r,   Ú_get_windows_console_stream   s"    ÿþýý
r�   )F)Dr;   rŠ   rx   ru   rE   Úctypesr‰   Zclick._compatr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r0   r1   ÚImportErrorZctypes.wintypesr   r   r(   Úkernel32ZGetStdHandlerB   rU   rC   r   Úshell32r   rm   rp   rr   r/   r.   rO   rP   rD   ZSTDIN_FILENOZSTDOUT_FILENOZSTDERR_FILENOrH   rT   Ú	Structurer   r5   r<   r6   r?   rN   ÚobjectrX   ro   rq   rs   rz   Z_initial_argv_hashr…   r†   r�   r+   r+   r+   r,   Ú<module>   s€   4

ÿ  ÿþ


$ý