
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    WP                     @   s0  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 ejd  dkZej	
dZdZe dZdd Zd	d
 Zdd Zdd ZG dd dejZG dd deZer<eZeZeZeefZdd ZeZdd Z e dZ!erd dl"Z"dd Z#ndd Z#dd Z$dd Z%dd  Z&d!d" Z'dld#d$Z(dmd%d&Z)dnd'd(Z*d)d* Z+nd dlZeZe,ZefZe-Zd+d Z$d,d Zd-d Z dod/d0Z.dpd1d2Z/d3d4 Z0d5d6 Z1d7d8 Z2d9d: Z3d;d< Z4d=d> Z5d?d Z%d@d  Z&dAd" Z'dqdBd$Z(drdCd&Z)dsdDd(Z*dEd* Z+dtdFdGZ6dudJdKZ7e8edLrej9Z:dMZ;nej<Z:e Z;G dNdO dOeZ=dZ>dZ?dZ@dPdQ ZAdvdRdSZBerdTZdUdVlCmDZD dWdX ZEerdwdZd[Zzd dl?Z?W n eFk
r   Y nX e ZGdxd\d]Z>d^d_ Z@nd`dX ZEdad ZDdbdc ZHddde ZIdfdg ZJeJdhd e(ZKeJdid e)ZLeJdjd e*ZMe%e&e'dkZNe(e)e*dkZOdS )y    NWeakKeyDictionary   winP   z\[((?:\d|;)*)([a-zA-Z])c                   C   s   t  pt  S N)sysgetfilesystemencodinggetdefaultencoding r   r   >/opt/alt/python38/lib/python3.8/site-packages/click/_compat.pyget_filesystem_encoding   s    r   c                 C   s,   |d krt | }|d krd}t| ||ddS )NreplaceT)line_buffering)get_best_encoding_NonClosingTextIOWrapper)streamencodingerrorsr   r   r   _make_text_stream   s    r   c                 C   s.   zt | jdkW S  tk
r(   Y dS X dS )z$Checks if a given encoding is ascii.asciiFN)codecslookupnameLookupError)r   r   r   r   is_ascii_encoding   s    r   c                 C   s$   t | ddpt }t|r dS |S )z1Returns the default stream encoding if not found.r   Nutf-8)getattrr   r
   r   r   rvr   r   r   r   &   s    r   c                   @   s8   e Zd Zdd Zer$dd Zdd Zdd Zd	d
 ZdS )r   c                 K   s(   t | | _}tjj| |||f| d S r   )_FixupStream_streamioTextIOWrapper__init__)selfr   r   r   extrar   r   r   r$   0   s    z!_NonClosingTextIOWrapper.__init__c                 C   sR   t |tst|rDz|   W n tk
r2   Y nX | jt|S tj| |S r   )	
isinstancestris_bytesflush	Exceptionbufferwriter"   r#   r%   xr   r   r   r-   8   s    z_NonClosingTextIOWrapper.writec                 C   s   |D ]}|  | qd S r   )r-   )r%   linesliner   r   r   
writelinesA   s    z#_NonClosingTextIOWrapper.writelinesc                 C   s&   z|    W n tk
r    Y nX d S r   )detachr+   r%   r   r   r   __del__E   s    z _NonClosingTextIOWrapper.__del__c                 C   s
   | j  S r   )r!   isattyr4   r   r   r   r6   K   s    z_NonClosingTextIOWrapper.isattyN)	__name__
__module____qualname__r$   PY2r-   r2   r5   r6   r   r   r   r   r   .   s   	r   c                   @   s@   e Zd ZdZdd Zdd Zdd Zdd	 Zd
d Zdd Z	dS )r    zThe new io interface needs more from streams than streams
    traditionally implement.  As such, this fix-up code is necessary in
    some circumstances.
    c                 C   s
   || _ d S r   )r!   )r%   r   r   r   r   r$   V   s    z_FixupStream.__init__c                 C   s   t | j|S r   )r   r!   r%   r   r   r   r   __getattr__Y   s    z_FixupStream.__getattr__c                 C   s:   t | jdd }|d k	r||S tr.| j|S | j|S )Nread1)r   r!   r:   readlineread)r%   sizefr   r   r   r=   \   s    z_FixupStream.read1c                 C   sH   t | jdd }|d k	r| S z| jd W n tk
rB   Y dS X dS )Nreadabler   FT)r   r!   r?   r+   r.   r   r   r   rB   g   s    z_FixupStream.readablec                 C   sp   t | jdd }|d k	r| S z| jd W n> tk
rj   z| jd W n tk
rd   Y Y dS X Y nX dS )Nwritable     FT)r   r!   r-   r+   r.   r   r   r   rC   q   s    z_FixupStream.writablec                 C   sN   t | jdd }|d k	r| S z| j| j  W n tk
rH   Y dS X dS )NseekableFT)r   r!   seektellr+   r.   r   r   r   rF   ~   s    z_FixupStream.seekableN)
r7   r8   r9   __doc__r$   r<   r=   rB   rC   rF   r   r   r   r   r    P   s   
r    c                 C   s   |   S r   )	iteritemsr/   r   r   r   <lambda>   rE   rL   c                 C   s   t | ttfS r   )r'   r,   	bytearrayrK   r   r   r   r)      s    r)   z^[a-zA-Z_][a-zA-Z0-9_]*$c                 C   s4   z|   }W n tk
r    Y nX t|tj | S r   )filenor+   msvcrtZsetmodeosO_BINARY)rA   rN   r   r   r   set_binary_mode   s    rR   c                 C   s   | S r   r   rK   r   r   r   rL      rE   c                 C   s   t | d k	S r   )_identifier_researchrK   r   r   r   isidentifier   s    rU   c                   C   s
   t tjS r   )rR   r   stdinr   r   r   r   get_binary_stdin   s    rW   c                   C   s
   t tjS r   )rR   r   stdoutr   r   r   r   get_binary_stdout   s    rY   c                   C   s
   t tjS r   )rR   r   stderrr   r   r   r   get_binary_stderr   s    r[   c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )_get_windows_console_streamr   rV   r   r   r   r   r   r   r   get_text_stdin   s    r^   c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )r\   r   rX   r   r]   r   r   r   get_text_stdout   s    r_   c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )r\   r   rZ   r   r]   r   r   r   get_text_stderr   s    r`   c                 C   s   t | tr| t d} | S )Nr   )r'   bytesdecoder   valuer   r   r   filename_to_ui   s    
re   c                 C   s   |   S r   )rU   rK   r   r   r   rL      rE   c                 C   s   t |  S r   )iteritemsrK   r   r   r   rL      rE   c                 C   s   t | tttfS r   )r'   ra   
memoryviewrM   rK   r   r   r   r)      s    Fc                 C   s0   zt | dtW S  tk
r*   | Y S X d S Nr   )r'   r?   ra   r+   r   defaultr   r   r   _is_binary_reader   s    rl   c                 C   sT   z|  d W n@ tk
rN   z|  d W Y dS  tk
rD   Y nX | Y S X dS )NrE   rD   FT)r-   r+   rj   r   r   r   _is_binary_writer   s    

rm   c                 C   s4   t | dr| S t| dd }|d k	r0t |dr0|S d S NFr,   T)rl   r   r   bufr   r   r   _find_binary_reader   s
    
rq   c                 C   s4   t | dr| S t| dd }|d k	r0t |dr0|S d S rn   )rm   r   ro   r   r   r   _find_binary_writer  s
    
rr   c                 C   s   t t| ddpdS )z3A stream is misconfigured if its encoding is ASCII.r   Nr   )r   r   r   r   r   r   _stream_is_misconfigured  s    rt   c                 C   s@   t | dd }t | dd }||kr,||kr,dS |d kr<|d k	S dS )Nr   r   TF)r   )r   r   r   Zstream_encodingZstream_errorsr   r   r   _is_compatible_text_stream  s    ru   c                 C   s`   t | dr| }n8|d kr$t| s$| S t| ||r4| S t| }|d krH| S |d krTd}t|||S NFr   )rl   rt   ru   rq   r   )Ztext_readerr   r   Zbinary_readerr   r   r   _force_correct_text_reader'  s    
rw   c                 C   s`   t | dr| }n8|d kr$t| s$| S t| ||r4| S t| }|d krH| S |d krTd}t|||S rv   )rm   rt   ru   rr   r   )Ztext_writerr   r   Zbinary_writerr   r   r   _force_correct_text_writerC  s    
rx   c                  C   s   t tj} | d krtd| S )Nz6Was not able to determine binary stream for sys.stdin.)rq   r   rV   RuntimeError)readerr   r   r   rW   _  s    
c                  C   s   t tj} | d krtd| S )Nz7Was not able to determine binary stream for sys.stdout.)rr   r   rX   ry   writerr   r   r   rY   f  s    
c                  C   s   t tj} | d krtd| S )Nz7Was not able to determine binary stream for sys.stderr.)rr   r   rZ   ry   r{   r   r   r   r[   m  s    
c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )r\   r   rV   rw   r]   r   r   r   r^   t  s    c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )r\   r   rX   rx   r]   r   r   r   r_   z  s    c                 C   s(   t tj| |}|d k	r|S ttj| |S r   )r\   r   rZ   rx   r]   r   r   r   r`     s    c                 C   s2   t | tr| t d} n| dddd} | S )Nr   r   surrogateescape)r'   ra   rb   r   encoderc   r   r   r   re     s    
 c                 C   sB   t | dr| j}n|d k	r |}nt| }t|tr>|dd}|S )Nstrerrorr   r   )hasattrr   r(   r'   ra   rb   )erk   msgr   r   r   get_streerror  s    

r   rstrictc           	      C   s  | dkrTd|kr2d|kr"t  dfS t||ddfS d|krDt dfS t||ddfS |s|d krnt| |dfS tj| |||ddfS d|krtdd	|krtd
d|krtddd l}|jt	j
| dd\}}|d k	rtj||||d}nt	||}t||| dfS )N-wbF)r   r   TazAppending to an existing file is not supported, because that would involve an expensive `copy`-operation to a temporary file. Open the file in normal `w`-mode and copy explicitly if that's what you're after.r/   z&Use the `overwrite`-parameter instead.z,Atomic writes only make sense with `w`-mode.r   z.__atomic-write)dirprefix)rY   r_   rW   r^   openr"   
ValueErrortempfilemkstemprP   pathdirnamefdopen_AtomicFile)	filenamemoder   r   Zatomicr   fdtmp_filenamerA   r   r   r   open_stream  s8    


r   r   Tc                   @   sJ   e Zd Zdd Zedd ZdddZdd	 Zd
d Zdd Z	dd Z
dS )r   c                 C   s   || _ || _|| _d| _d S NF)_f_tmp_filename_real_filenameclosed)r%   rA   r   Zreal_filenamer   r   r   r$     s    z_AtomicFile.__init__c                 C   s   | j S r   )r   r4   r   r   r   r     s    z_AtomicFile.nameFc                 C   sV   | j r
d S | j  ts>zt| j W n tk
r<   Y nX t| j	| j d| _ d S )NT)
r   r   close_can_replacerP   remover   OSError_replacer   )r%   deleter   r   r   r     s    
z_AtomicFile.closec                 C   s   t | j|S r   )r   r   r;   r   r   r   r<     s    z_AtomicFile.__getattr__c                 C   s   | S r   r   r4   r   r   r   	__enter__  s    z_AtomicFile.__enter__c                 C   s   | j |d k	d d S )N)r   )r   )r%   exc_type	exc_valuetbr   r   r   __exit__  s    z_AtomicFile.__exit__c                 C   s
   t | jS r   )reprr   r4   r   r   r   __repr__  s    z_AtomicFile.__repr__N)F)r7   r8   r9   r$   propertyr   r   r<   r   r   r   r   r   r   r   r     s   

r   c                 C   s   t d| S )NrD   )_ansi_resubrc   r   r   r   
strip_ansi  s    r   c                 C   s&   |d kr | d krt j} t|  S | S r   )r   rV   r6   )r   colorr   r   r   should_strip_ansi  s
    
r   O      )r\   c                  C   s   dd l } |  S ri   )localegetpreferredencoding)r   r   r   r   _get_argv_encoding  s    r   rD   c                 C   s2   t j  | rt }||  t }| dS )Nz
)r   rZ   r*   _default_text_stdoutr-   _default_text_stdinr>   rstrip)promptrX   rV   r   r   r   	raw_input  s    

r   c                    s   zt | }W n tk
r&   d}Y nX |dk	r4|S t| |}tj| |dj}|j  fdd}||_z|t | < W n tk
r   Y nX |S )a  This function wraps a stream so that calls through colorama
            are issued to the win32 console API to recolor on demand.  It
            also ensures to reset the colors if a write call is interrupted
            to not destroy the console afterwards.
            N)stripc                    s&   z
 | W S        Y nX d S r   )Z	reset_all)sZ_writeZansi_wrapperr   r   _safe_write9  s
    
z'auto_wrap_for_ansi.<locals>._safe_write)_ansi_stream_wrappersgetr+   r   coloramaZAnsiToWin32r   r-   )r   r   cachedr   r   r   r   r   r   auto_wrap_for_ansi(  s"    

r   c                  C   s*   t jt jjj} | j| j | j| j fS r   )	r   win32ZGetConsoleScreenBufferInfoSTDOUTZsrWindowZRightZLeftZBottomZTop)r   r   r   r   get_winterm_sizeG  s    r   c                   C   s   t tjdd pt S )Nr   )r   r   rV   r   r   r   r   r   r   L  s    c                  G   s   d S r   r   rK   r   r   r   rL   O  rE   c                 C   s   t t| S r   )lenr   rK   r   r   r   term_lenR  s    r   c                 C   s&   z
|   W S  tk
r    Y dS X d S r   )r6   r+   rs   r   r   r   r6   V  s    
r6   c                    s   t    fdd}|S )Nc                     sf    } z  | }W n tk
r,   d }Y nX |d k	r:|S  }z| | < W n tk
r`   Y nX |S r   )r   r+   r   cachesrc_funcwrapper_funcr   r   func_  s    
z&_make_cached_stream_func.<locals>.funcr   )r   r   r   r   r   r   _make_cached_stream_func]  s    r   c                   C   s   t jS r   )r   rV   r   r   r   r   rL   q  rE   c                   C   s   t jS r   )r   rX   r   r   r   r   rL   s  rE   c                   C   s   t jS r   )r   rZ   r   r   r   r   rL   u  rE   )rV   rX   rZ   )NN)NN)NN)F)F)NN)NN)NN)N)r   Nr   F)NN)rD   )N)Prer"   rP   r   r   weakrefr   version_infor:   platform
startswithZWINZDEFAULT_COLUMNScompiler   r   r   r   r   r#   r   objectr    unicode	text_typer(   ra   r   string_typesrJ   xrangeZ
range_typer)   rS   rO   rR   rU   rW   rY   r[   r^   r_   r`   re   inputrangerl   rm   rq   rr   rt   ru   rw   rx   r   r   r   r   r   r   renamer   r   r   r   r   r   Z_winconsoler\   r   ImportErrorr   r   r6   r   r   r   Z_default_text_stderrZbinary_streamsZtext_streamsr   r   r   r   <module>   s   
	"9

	








	
  
1%



   