§
    ðyIf^  ã            	       óz  — d 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	 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¦  «        Zej        dk    rdZdZndZdZ G d„ dej         e         ¦  «        Z!d0dej"        e#         dej$        e%         ddfd„Z&dej"        e#         de#dej$        e%         ddfd„Z'dej"        e#         de#dej$        e%         ddfd„Z(d ej)        dej"        e#         dej$        e%         ddfd!„Z* G d"„ d#¦  «        Z+d1d%e#d&e%d'e%de,fd(„Z-d)e#dej$        e.         fd*„Z/er,ddl0Z0ej1        dej2        e,         fd+„¦   «         Z3d,e%de#fd-„Z4dS ddl5Z5ddl6Z6ej1        dej2        e,         fd.„¦   «         Z3d,e%de#fd/„Z4dS )2z¿
This module contains implementations for the termui module. To keep the
import time of Click down, some infrequently used functionality is
placed in this module and only imported as needed.
é    N)Úgettext)ÚStringIO)ÚTracebackTypeé   )Ú_default_text_stdout)ÚCYGWIN)Úget_best_encoding)Úisatty)Úopen_stream)Ú
strip_ansi)Úterm_len)ÚWIN)ÚClickException)ÚechoÚVÚntúú
z[?25lz[?25h
c            !       ó"  — e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 d3d
ej        ej        e                  dej        e         dedededede	dej        e	         de	dej        ej
        ej        e         gej        e         f                  dej        e         dej        ej                 dej        e	         dededdf d„Zd4d„Zdej        ej        e                  dej        e         dej        e         ddfd „Zdej        e         fd!„Zdefd"„Zd5d#„Zedefd$„¦   «         Zedefd%„¦   «         Zedefd&„¦   «         Zdefd'„Zdefd(„Zdefd)„Zdefd*„Zdefd+„Zd5d,„Z d-eddfd.„Z!d6d-ed/ej        e         ddfd0„Z"d5d1„Z#dej        e         fd2„Z$dS )7ÚProgressBarNú#ú ú%(bar)sú  TFr   é   ÚiterableÚlengthÚ	fill_charÚ
empty_charÚbar_templateÚinfo_sepÚshow_etaÚshow_percentÚshow_posÚitem_show_funcÚlabelÚfileÚcolorÚupdate_min_stepsÚwidthÚreturnc                 ó  — || _         || _        || _        || _        || _        || _        |	| _        |
| _        |pd| _        |€t          ¦   «         }|€t          ¦   «         }|| _        || _        || _        d| _        || _        |dk    | _        |€ddlm}  ||d¦  «        }|dk    rd }|€H|€t'          d¦  «        ‚t)          j        t(          j        t.                   t1          |¦  «        ¦  «        }t3          |¦  «        | _        || _        d| _        g | _        |  |  t;          j        ¦   «         x| _        | _        d| _         d| _!        d | _"        d| _#        d | _$        tK          | j        ¦  «         | _&        d | _'        d S )NÚ r   )Úlength_hintéÿÿÿÿziterable or length is requiredF)(r   r   r    r!   r"   r#   r$   r%   r&   r   r   r'   r(   r)   Ú_completed_intervalsr*   Ú	autowidthÚoperatorr.   Ú	TypeErrorÚtÚcastÚIterabler   ÚrangeÚiterr   ÚposÚavgÚtimeÚstartÚlast_etaÚ	eta_knownÚfinishedÚ	max_widthÚenteredÚcurrent_itemr
   Ú	is_hiddenÚ
_last_line)Úselfr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r.   s                    úF/var/www/piapp/venv/lib/python3.11/site-packages/click/_termui_impl.pyÚ__init__zProgressBar.__init__&   sŒ  € ð$ #ˆŒØ$ˆŒØ(ˆÔØ ˆŒØ ˆŒØ(ˆÔØ ˆŒØ,ˆÔØ˜+ 2ˆŒ
àˆ<Ý'Ñ)Ô)ˆDð ˆ|Ý‘z”z�àˆŒ	ØˆŒ
Ø 0ˆÔØ$%ˆÔ!ØˆŒ
Ø$¨šzˆŒàˆ>Ø,Ð,Ð,Ð,Ð,Ð,à �[ ¨2Ñ.Ô.ˆFà˜Š|ˆ|Ø�ØÐØˆ~ÝÐ @ÑAÔAÐAÝ”v�aœj­œm­U°6©]¬]Ñ;Ô;ˆHÝ#'¨¡>¤>ˆŒ	ØˆŒØˆŒØ"$ˆŒØÐØÐÝ%)¤Y¡[¤[Ð0ˆŒ
�T”]Ø$ˆŒØ#ˆŒØ*.ˆŒØ"ˆŒØ+/ˆÔÝ#)¨$¬)Ñ#4Ô#4Ð4ˆŒØ+/ˆŒˆˆó    úProgressBar[V]c                 ó<   — d| _         |                      ¦   «          | S )NT)rA   Úrender_progress©rE   s    rF   Ú	__enter__zProgressBar.__enter__k   s    € ØˆŒØ×ÒÑÔÐØˆrH   Úexc_typeÚ	exc_valueÚtbc                 ó.   — |                       ¦   «          d S ©N)Úrender_finish)rE   rN   rO   rP   s       rF   Ú__exit__zProgressBar.__exit__p   s   € ð 	×ÒÑÔÐÐÐrH   c                 ó~   — | j         st          d¦  «        ‚|                      ¦   «          |                      ¦   «         S )Nú.You need to use progress bars in a with block.)rA   ÚRuntimeErrorrK   Ú	generatorrL   s    rF   Ú__iter__zProgressBar.__iter__x   s>   € ØŒ|ð 	QÝÐOÑPÔPÐPØ×ÒÑÔÐØ�~Š~ÑÔÐrH   c                 ó:   — t          t          | ¦  «        ¦  «        S rR   )Únextr8   rL   s    rF   Ú__next__zProgressBar.__next__~   s   € õ •D˜‘J”JÑÔÐrH   c                 óˆ   — | j         rd S | j                             t          ¦  «         | j                             ¦   «          d S rR   )rC   r'   ÚwriteÚ	AFTER_BARÚflushrL   s    rF   rS   zProgressBar.render_finish†   s=   € ØŒ>ð 	ØˆFØŒ	�Š�	Ñ"Ô"Ð"ØŒ	�ŠÑÔÐÐÐrH   c                 óp   — | j         rdS t          | j        t          | j        pd¦  «        pdz  d¦  «        S )Nç      ð?r   )r?   Úminr9   Úfloatr   rL   s    rF   ÚpctzProgressBar.pctŒ   s<   € àŒ=ð 	Ø�3Ý�4”8�u T¤[Ð%5°AÑ6Ô6Ð;¸!Ñ<¸cÑBÔBÐBrH   c                 ó€   — | j         sdS t          | j         ¦  «        t          t          | j         ¦  «        ¦  «        z  S ©Ng        )r:   Úsumrd   ÚlenrL   s    rF   Útime_per_iterationzProgressBar.time_per_iteration’   s4   € àŒxð 	Ø�3Ý�4”8‰}Œ}�u¥S¨¬¡]¤]Ñ3Ô3Ñ3Ð3rH   c                 óP   — | j         �| j        s| j        | j         | j        z
  z  S dS rg   )r   r?   rj   r9   rL   s    rF   ÚetazProgressBar.eta˜   s-   € àŒ;Ð"¨4¬=Ð"ØÔ*¨d¬k¸D¼HÑ.DÑEÐEØˆsrH   c                 ó¾   — | j         rUt          | j        ¦  «        }|dz  }|dz  }|dz  }|dz  }|dz  }|dz  }|dk    r|› d|d›d|d›d|d›�S |d›d|d›d|d›�S dS )Né<   é   r   zd Ú02ú:r-   )r>   Úintrl   )rE   r4   ÚsecondsÚminutesÚhourss        rF   Ú
format_etazProgressBar.format_etaž   s¯   € ØŒ>ð 	?Ý�D”H‘”ˆAØ˜"‘fˆGØ�"‰HˆAØ˜"‘fˆGØ�"‰HˆAØ˜‘FˆEØ�"‰HˆAØ�1ŠuˆuØÐCÐC˜uÐCÐCÐC¨'ÐCÐCÐC°wÐCÐCÐCÐCàÐ>Ð>Ð> WÐ>Ð>Ð>°'Ð>Ð>Ð>Ð>ØˆrrH   c                 óV   — t          | j        ¦  «        }| j        �|d| j        › �z  }|S )Nú/)Ústrr9   r   )rE   r9   s     rF   Ú
format_poszProgressBar.format_pos­   s1   € Ý�$”(‰mŒmˆØŒ;Ð"ØÐ$�t”{Ð$Ð$Ñ$ˆCØˆ
rH   c                 óH   — t          | j        dz  ¦  «        d›d�dd …         S )Néd   z 4ú%r   )rr   re   rL   s    rF   Ú
format_pctzProgressBar.format_pct³   s+   € Ý�d”h ‘nÑ%Ô%Ð+Ð+Ð+Ð+¨A¨B¨BÔ/Ð/rH   c                 ó¾  — | j         �<t          | j        | j        z  ¦  «        }| j        |z  }|| j        | j        |z
  z  z  }n™| j        r| j        | j        z  }n‚t          | j        | j        pdz  ¦  «        }| j        dk    rD| j        |t          t          j
        | j        | j        z  ¦  «        dz  dz   | j        z  ¦  «        <   d                     |¦  «        }|S )Nr   r   g       @g      à?r-   )r   rr   re   r*   r   r   r?   Úlistrj   ÚmathÚcosr9   Újoin)rE   Ú
bar_lengthÚbarÚcharss       rF   Ú
format_barzProgressBar.format_bar¶   sç   € ØŒ;Ð"Ý˜TœX¨¬
Ñ2Ñ3Ô3ˆJØ”. :Ñ-ˆCØ�4”? d¤j°:Ñ&=Ñ>Ñ>ˆCˆCØŒ]ð 	!Ø”. 4¤:Ñ-ˆCˆCå˜œ¨D¬J¨O¸!Ñ<Ñ=Ô=ˆEØÔ&¨!Ò+Ð+ð ”Nð ÝÝœ $¤(¨TÔ-DÑ"DÑEÔEÈÑKÈcÑQØœ*ñ%ñô ñð —'’'˜%‘.”.ˆCØˆ
rH   c                 ój  — | j         }g }| j        �
|€| j         }| j        r'|                     |                      ¦   «         ¦  «         |r'|                     |                      ¦   «         ¦  «         | j        r5| j        r.| j        s'|                     |  	                    ¦   «         ¦  «         | j
        �1|  
                    | j        ¦  «        }|�|                     |¦  «         | j        | j        |                      ¦   «         | j                             |¦  «        dœz                       ¦   «         S )N)r&   r…   Úinfo)r#   r   r$   Úappendrz   r~   r"   r>   r?   rv   r%   rB   r    r&   r‡   r!   rƒ   Úrstrip)rE   r#   Ú	info_bitsÚ	item_infos       rF   Úformat_progress_linez ProgressBar.format_progress_lineÉ   s3  € ØÔ(ˆàˆ	ØŒ;Ð" |Ð';Ø#œ}Ð,ˆLàŒ=ð 	0Ø×Ò˜TŸ_š_Ñ.Ô.Ñ/Ô/Ð/Øð 	0Ø×Ò˜TŸ_š_Ñ.Ô.Ñ/Ô/Ð/ØŒ=ð 	0˜Tœ^ð 	0°D´Mð 	0Ø×Ò˜TŸ_š_Ñ.Ô.Ñ/Ô/Ð/ØÔÐ*Ø×+Ò+¨DÔ,=Ñ>Ô>ˆIØÐ$Ø× Ò  Ñ+Ô+Ð+ð ÔàœØ—’Ñ(Ô(Øœ×*Ò*¨9Ñ5Ô5ðð ñ÷ Š&‰(Œ(ð	rH   c                 óè  — dd l }| j        r?| j        | j        k    r-| j        | _        t	          | j        | j        | j        ¬¦  «         d S g }| j        r¤| j        }d| _        t          |  
                    ¦   «         ¦  «        }t          d|                     ¦   «         j        |z
  ¦  «        }||k     r>|                     t          ¦  «         |                     d| j        z  ¦  «         || _        || _        | j        }| j        �| j        }|                     t          ¦  «         |  
                    ¦   «         }t          |¦  «        }| j        �| j        |k     r|| _        |                     |¦  «         |                     d||z
  z  ¦  «         d                     |¦  «        }|| j        k    r?|| _        t	          || j        | j        d¬¦  «         | j                             ¦   «          d S d S )Nr   )r'   r(   r   r-   F)r'   r(   Únl)ÚshutilrC   rD   r&   r   r'   r(   r1   r*   r   rŽ   ÚmaxÚget_terminal_sizeÚcolumnsrŠ   Ú
BEFORE_BARr@   rƒ   r`   )	rE   r‘   ÚbufÚ	old_widthÚclutter_lengthÚ	new_widthÚclear_widthÚlineÚline_lens	            rF   rK   zProgressBar.render_progressä   sÙ  € ØˆˆˆàŒ>ð 	ð Œ $¤*Ò,Ð,Ø"&¤*�”Ý�T”Z d¤i°t´zÐBÑBÔBÐBàˆFàˆàŒ>ð 		#Øœ
ˆIØˆDŒJÝ% d×&?Ò&?Ñ&AÔ&AÑBÔBˆNÝ˜A˜v×7Ò7Ñ9Ô9ÔAÀNÑRÑSÔSˆIØ˜9Ò$Ð$Ø—
’
�:Ñ&Ô&Ð&Ø—
’
˜3 ¤Ñ/Ñ0Ô0Ð0Ø!*�”Ø"ˆDŒJà”jˆØŒ>Ð%Øœ.ˆKà�
Š
•:ÑÔÐØ×(Ò(Ñ*Ô*ˆÝ˜D‘>”>ˆØŒ>Ð! T¤^°hÒ%>Ð%>Ø%ˆDŒNà�
Š
�4ÑÔÐØ�
Š
�3˜+¨Ñ0Ñ1Ñ2Ô2Ð2Ø�wŠw�s‰|Œ|ˆð �4”?Ò"Ð"Ø"ˆDŒOÝ�˜DœI¨T¬Z¸EÐBÑBÔBÐBØŒI�OŠOÑÔÐÐÐð #Ð"rH   Ún_stepsc                 ó¬  — | xj         |z  c_         | j        �| j         | j        k    rd| _        t          j        ¦   «         | j        z
  dk     rd S t          j        ¦   «         | _        | j         r$t          j        ¦   «         | j        z
  | j         z  }nt          j        ¦   «         | j        z
  }| j        dd …         |gz   | _        | j        d u| _        d S )NTrb   iúÿÿÿ)r9   r   r?   r;   r=   r<   r:   r>   )rE   r�   Ústeps      rF   Ú	make_stepzProgressBar.make_step  s¼   € ØˆŒ�GÑˆŒØŒ;Ð" t¤x°4´;Ò'>Ð'>Ø ˆDŒMåŒI‰KŒK˜$œ-Ñ'¨3Ò.Ð.ØˆFåœ	™œˆŒð
 Œ8ð 	,Ý”I‘K”K $¤*Ñ,°´Ñ8ˆDˆDå”9‘;”; ¤Ñ+ˆDà”8˜B˜C˜C”= D 6Ñ)ˆŒàœ¨DÐ0ˆŒˆˆrH   rB   c                 óÆ   — |�|| _         | xj        |z  c_        | j        | j        k    r7|                      | j        ¦  «         |                      ¦   «          d| _        dS dS )a  Update the progress bar by advancing a specified number of
        steps, and optionally set the ``current_item`` for this new
        position.

        :param n_steps: Number of steps to advance.
        :param current_item: Optional item to set as ``current_item``
            for the updated position.

        .. versionchanged:: 8.0
            Added the ``current_item`` optional parameter.

        .. versionchanged:: 8.0
            Only render when the number of steps meets the
            ``update_min_steps`` threshold.
        Nr   )rB   r0   r)   r    rK   )rE   r�   rB   s      rF   ÚupdatezProgressBar.update'  st   € ð  Ð#Ø ,ˆDÔàÐ!Ô! WÑ,Ð!Ô!àÔ$¨Ô(=Ò=Ð=Ø�NŠN˜4Ô4Ñ5Ô5Ð5Ø× Ò Ñ"Ô"Ð"Ø()ˆDÔ%Ð%Ð%ð >Ð=rH   c                 ó0   — d| _         d | _        d| _        d S )NFT)r>   rB   r?   rL   s    rF   ÚfinishzProgressBar.finishA  s   € ØˆŒØ ˆÔØˆŒˆˆrH   c              #   óD  K  — | j         st          d¦  «        ‚| j        r| j        E d{V —† dS | j        D ]A}|| _        | j        dk    r|                      ¦   «          |V — |                      d¦  «         ŒB|                      ¦   «          |                      ¦   «          dS )z¨Return a generator which yields the items added to the bar
        during construction, and updates the progress bar *after* the
        yielded block returns.
        rV   Nr   r   )	rA   rW   rC   r8   rB   r0   rK   r¢   r¤   )rE   Úrvs     rF   rX   zProgressBar.generatorF  sÆ   è è € ð Œ|ð 	QÝÐOÑPÔPÐPàŒ>ð 	#Ø”yÐ Ð Ð Ð Ð Ð Ð Ð Ð à”ið 
ð 
�Ø$&�Ô!ð
 Ô,°Ò1Ð1Ø×(Ò(Ñ*Ô*Ð*à���Ø—’˜A‘”��à�KŠK‰MŒMˆMØ× Ò Ñ"Ô"Ð"Ð"Ð"rH   )Nr   r   r   r   TNFNNNNr   r   )r+   rI   )r+   NrR   )%Ú__name__Ú
__module__Ú__qualname__r4   ÚOptionalr6   r   rr   ry   ÚboolÚCallableÚTextIOrG   rM   ÚTypeÚBaseExceptionr   rT   ÚIteratorrY   r\   rS   Úpropertyrd   re   rj   rl   rv   rz   r~   r‡   rŽ   rK   r    r¢   r¤   rX   © rH   rF   r   r   %   s¹  € € € € € ð #'ØØØ%ØØØ)-ØØSWØ!%Ø%)Ø"&Ø !Øð!C0ð C0à”*˜QœZ¨œ]Ô+ðC0ð ”
˜3”ðC0ð ð	C0ð
 ðC0ð ðC0ð ðC0ð ðC0ð ”j Ô&ðC0ð ðC0ð œ
 1¤:¨q¬z¸!¬}¨o¸q¼zÈ#¼Ð.NÔ#OÔPðC0ð Œz˜#ŒðC0ð Œj˜œÔ"ðC0ð Œz˜$ÔðC0ð ðC0ð  ð!C0ð" 
ð#C0ð C0ð C0ð C0ðJð ð ð ð
à”*˜QœV MÔ2Ô3ðð ”:˜mÔ,ðð ŒJ�}Ô%ð	ð
 
ðð ð ð ð ˜!œ* Qœ-ð  ð  ð  ð  ð ˜!ð  ð  ð  ð  ðð ð ð ð ðC�Uð Cð Cð Cñ „XðCð
 ð4 Eð 4ð 4ð 4ñ „Xð4ð
 ð�Uð ð ð ñ „Xðð
˜Cð ð ð ð ð˜Cð ð ð ð ð0˜Cð 0ð 0ð 0ð 0ð˜Cð ð ð ð ð& cð ð ð ð ð6+ð +ð +ð +ðZ1 ð 1¨ð 1ð 1ð 1ð 1ð,*ð *˜cð *°´¸A´ð *È$ð *ð *ð *ð *ð4ð ð ð ð
#˜1œ: aœ=ð #ð #ð #ð #ð #ð #rH   r   rX   r(   r+   c                 óD  — t          ¦   «         }|€t          ¦   «         }t          t          j        ¦  «        rt          |¦  «        st          || |¦  «        S t          j                             dd¦  «        pd 	                    ¦   «         }|r)t          rt          | ||¦  «        S t          | ||¦  «        S t          j                             d¦  «        dv rt          || |¦  «        S t          st          j                             d¦  «        rt          | d|¦  «        S t          t          d¦  «        r)t          j        d	¦  «        d
k    rt          | d|¦  «        S d
dl}|                     ¦   «         \  }}t          j        |¦  «         	 t          t          d¦  «        rAt          j        d|› d�¦  «        d
k    r%t          | d|¦  «        t          j        |¦  «         S t          || |¦  «        t          j        |¦  «         S # t          j        |¦  «         w xY w)z2Decide what method to use for paging through text.NÚPAGERr-   ÚTERM)ÚdumbÚemacsÚos2zmore <Úsystemz(less) 2>/dev/nullr   Úlesszmore "ú"Úmore)r   r   r
   ÚsysÚstdinÚ
_nullpagerÚosÚenvironÚgetÚstripr   Ú_tempfilepagerÚ
_pipepagerÚplatformÚ
startswithÚhasattrr¹   ÚtempfileÚmkstempÚcloseÚunlink)rX   r(   ÚstdoutÚ	pager_cmdrÉ   ÚfdÚfilenames          rF   ÚpagerrÑ   h  sþ  € å!Ñ#Ô#€Fð €~Ý‘”ˆå•#”)ÑÔð 4¥F¨6¡N¤Nð 4Ý˜& )¨UÑ3Ô3Ð3Ý”—’ ¨Ñ.Ô.Ð4°"×;Ò;Ñ=Ô=€IØð 7Ýð 	?Ý! )¨Y¸Ñ>Ô>Ð>Ý˜) Y°Ñ6Ô6Ð6Ý	„z‡~‚~�fÑÔÐ!2Ð2Ð2Ý˜& )¨UÑ3Ô3Ð3Ý
ð :�cŒl×%Ò% eÑ,Ô,ð :Ý˜i¨°5Ñ9Ô9Ð9Ý�r�8ÑÔð 4¥¤Ð+?Ñ!@Ô!@ÀAÒ!EÐ!EÝ˜) V¨UÑ3Ô3Ð3à€O€O€Oà×#Ò#Ñ%Ô%�L€BˆÝ„HˆR�L„L€LðÝ•2�xÑ Ô ð 	8¥R¤YÐ/C¸Ð/CÐ/CÐ/CÑ%DÔ%DÈÒ%IÐ%IÝ˜i¨°Ñ7Ô7õ 	Œ	�(ÑÔÐÐõ ˜& )¨UÑ3Ô3å
Œ	�(ÑÔÐÐø�Œ	�(ÑÔÐÐøøøs   ÆAH	 Ç$H	 È	HÚcmdc                 ó(  — ddl }t          t          j        ¦  «        }|                     dd¦  «        d                              ¦   «         }|€_|d         dk    rSt          j                             dd¦  «        › d	                     |dd…         ¦  «        › �}|sd
|d<   d}n
d|v sd|v rd}|                     |d|j	        |¬¦  «        }t          j        t          j        |j        ¦  «        }t          |¦  «        }		 | D ]<}
|st          |
¦  «        }
|                     |
                     |	d¦  «        ¦  «         Œ=	 |                     ¦   «          n# t&          t(          f$ r Y nw xY w	 	 |                     ¦   «          dS # t(          $ r Y nw xY wŒ()zqPage through text by feeding it to another program.  Invoking a
    pager through this might support colors.
    r   Nrx   r   r/   rº   ÚLESSr-   r   ú-RTÚrÚR)Úshellr¾   ÚenvÚreplace)Ú
subprocessÚdictrÀ   rÁ   ÚrsplitÚsplitrÂ   rƒ   ÚPopenÚPIPEr4   r5   ÚBinaryIOr¾   r	   r   r^   ÚencoderË   ÚOSErrorÚKeyboardInterruptÚwait)rX   rÒ   r(   rÛ   rÙ   Ú
cmd_detailÚ
less_flagsÚcr¾   ÚencodingÚtexts              rF   rÅ   rÅ   ‹  sÍ  € ð ÐÐÐå
�rŒzÑ
Ô
€Cð —’˜C Ñ#Ô# BÔ'×-Ò-Ñ/Ô/€JØ€}˜ Aœ¨&Ò0Ð0Ýœ
Ÿš v¨rÑ2Ô2ÐN°C·H²H¸ZÈÈÈ¼^Ñ4LÔ4LÐNÐNˆ
Øð 	ØˆC�‰KØˆEˆEØ�JÐÐ #¨Ð"3Ð"3ØˆEà×Ò˜ D°
´ÀSÐÑIÔI€AÝŒF•1”:˜qœwÑ'Ô'€EÝ  Ñ'Ô'€Hð	Øð 	:ð 	:ˆDØð (Ý! $Ñ'Ô'�à�KŠK˜Ÿš H¨iÑ8Ô8Ñ9Ô9Ð9Ð9ð		:ð 	�Š‰Œˆˆøõ Õ&Ð'ð ð ð Øˆðøøøðð	Ø�FŠF‰HŒHˆHð ˆEøõ !ð 	ð 	ð 	ØˆDð	øøøðs$   Ã??E ÅE(Å'E(Å-F Æ
FÆFc                 óF  — ddl }|                     ¦   «         \  }}d                     | ¦  «        }|st          |¦  «        }t	          t
          j        ¦  «        }t          |d¦  «        d         5 }|                     | 	                    |¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   	 t          j        |› d|› d�¦  «         t          j        |¦  «         t          j        |¦  «         dS # t          j        |¦  «         t          j        |¦  «         w xY w)z<Page through text by invoking a program on a temporary file.r   Nr-   Úwbú "r»   )rÉ   rÊ   rƒ   r   r	   r½   rÍ   r   r^   râ   rÀ   r¹   rË   rÌ   )	rX   rÒ   r(   rÉ   rÏ   rÐ   rê   ré   Úfs	            rF   rÄ   rÄ   ½  sK  € ð €O€O€Oà×#Ò#Ñ%Ô%�L€Bˆà�7Š7�9ÑÔ€DØð  Ý˜$ÑÔˆÝ ¥¤Ñ,Ô,€HÝ	�X˜tÑ	$Ô	$ QÔ	'ð '¨1Ø	�Š�—’˜HÑ%Ô%Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'ðÝ
Œ	�SÐ'Ð'˜HÐ'Ð'Ð'Ñ(Ô(Ð(å
Œ�‰ŒˆÝ
Œ	�(ÑÔÐÐÐøõ 	Œ�‰ŒˆÝ
Œ	�(ÑÔÐÐøøøs   Á1)B&Â&B*Â-B*Â2C6 Ã6*D Ústreamc                 ó\   — |D ](}|st          |¦  «        }|                      |¦  «         Œ)dS )z>Simply print unformatted text.  This is the ultimate fallback.N)r   r^   )rï   rX   r(   rê   s       rF   r¿   r¿   Ò  sG   € ð ð ð ˆØð 	$Ý˜dÑ#Ô#ˆDØ�Š�TÑÔÐÐðð rH   c                   óæ   — e Zd Z	 	 	 	 ddej        e         dej        ej        eef                  dededdf
d	„Zdefd
„Z	deddfd„Z
dej        ej                 dej        ej                 fd„ZdS )ÚEditorNTú.txtÚeditorrÙ   Úrequire_saveÚ	extensionr+   c                 ó>   — || _         || _        || _        || _        d S rR   )rô   rÙ   rõ   rö   )rE   rô   rÙ   rõ   rö   s        rF   rG   zEditor.__init__Ý  s%   € ð ˆŒØˆŒØ(ˆÔØ"ˆŒˆˆrH   c                 óÒ   — | j         �| j         S dD ]'}t          j                             |¦  «        }|r|c S Œ(t          rdS dD ]"}t          j        d|› d�¦  «        dk    r|c S Œ#dS )N)ÚVISUALÚEDITORÚnotepad)zsensible-editorÚvimÚnanozwhich z >/dev/null 2>&1r   Úvi)rô   rÀ   rÁ   rÂ   r   r¹   )rE   Úkeyr¦   rô   s       rF   Ú
get_editorzEditor.get_editoré  s›   € ØŒ;Ð"Ø”;ÐØ%ð 	ð 	ˆCÝ”—’ Ñ$Ô$ˆBØð Ø�	�	�	ðåð 	Ø�9Ø6ð 	ð 	ˆFÝŒyÐ: &Ð:Ð:Ð:Ñ;Ô;¸qÒ@Ð@Ø���ð AàˆtrH   rÐ   c                 ó  — dd l }|                      ¦   «         }d }| j        r8t          j                             ¦   «         }|                     | j        ¦  «         	 |                     |› d|› d�|d¬¦  «        }|                     ¦   «         }|dk    r0t          t          d¦  «                             |¬¦  «        ¦  «        ‚d S # t          $ r7}t          t          d¦  «                             ||¬	¦  «        ¦  «        |‚d }~ww xY w)
Nr   rí   r»   T)rÙ   rØ   z{editor}: Editing failed)rô   z{editor}: Editing failed: {e})rô   Úe)rÛ   r   rÙ   rÀ   rÁ   Úcopyr¢   rß   rå   r   Ú_Úformatrã   )rE   rÐ   rÛ   rô   rÁ   rè   Ú	exit_coder  s           rF   Ú	edit_filezEditor.edit_file÷  s"  € ØÐÐÐà—’Ñ"Ô"ˆØ04ˆàŒ8ð 	%Ý”j—o’oÑ'Ô'ˆGØ�NŠN˜4œ8Ñ$Ô$Ð$ð
	Ø× Ò  FÐ!9Ð!9¨hÐ!9Ð!9Ð!9¸wÈdÐ ÑSÔSˆAØŸš™œˆIØ˜AŠ~ˆ~Ý$ÝÐ0Ñ1Ô1×8Ò8ÀÐ8ÑGÔGñô ð ð ˆ~øõ ð 	ð 	ð 	Ý ÝÐ1Ñ2Ô2×9Ò9ÀÈ1Ð9ÑMÔMñô àðøøøøð	øøøs   ÁA(C Ã
DÃ2DÄDrê   c                 óô  — dd l }|sd}n�t          |t          t          f¦  «        r|}nb|r|                     d¦  «        s|dz  }t
          r*|                     dd¦  «                             d¦  «        }n|                     d¦  «        }|                     d| j	        ¬¦  «        \  }}	 t          j        |d	¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |t          j                             |¦  «        t          j                             |¦  «        d
z
  f¦  «         t          j                             |¦  «        }|                      |¦  «         | j        r:t          j                             |¦  «        |k    r	 t          j        |¦  «         d S t)          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |t          t          f¦  «        r|t          j        |¦  «         S |                     d¦  «                             dd¦  «        t          j        |¦  «         S # t          j        |¦  «         w xY w)Nr   rH   r   z
z	utf-8-sigzutf-8zeditor-)ÚprefixÚsuffixrì   é   Úrb)rÉ   Ú
isinstanceÚbytesÚ	bytearrayÚendswithr   rÚ   râ   rÊ   rö   rÀ   Úfdopenr^   ÚutimeÚpathÚgetatimeÚgetmtimer  rõ   rÌ   ÚopenÚreadÚdecode)	rE   rê   rÉ   ÚdatarÏ   Únamerî   Ú	timestampr¦   s	            rF   ÚeditzEditor.edit  s°  € Øˆˆˆàð 	,ØˆDˆDÝ˜�u¥iÐ0Ñ1Ô1ð 		,ØˆDˆDàð ˜DŸMšM¨$Ñ/Ô/ð Ø˜‘�åð ,Ø—|’| D¨&Ñ1Ô1×8Ò8¸ÑEÔE��à—{’{ 7Ñ+Ô+�à×#Ò#¨9¸T¼^Ð#ÑLÔL‰ˆˆDð	Ý”˜2˜tÑ$Ô$ð ¨Ø—’˜‘”�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ŒH�T�BœG×,Ò,¨TÑ2Ô2µB´G×4DÒ4DÀTÑ4JÔ4JÈQÑ4NÐOÑPÔPÐPõ œ×(Ò(¨Ñ.Ô.ˆIà�NŠN˜4Ñ Ô Ð àÔ ð ¥R¤W×%5Ò%5°dÑ%;Ô%;¸yÒ%HÐ%HØõ ŒI�d‰OŒOˆOˆOˆOõ �d˜DÑ!Ô!ð  QØ—V’V‘X”X�ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜$¥­	Ð 2Ñ3Ô3ð Øõ ŒI�d‰OŒOˆOˆOð —9’9˜[Ñ)Ô)×1Ò1°&¸$Ñ?Ô?åŒI�d‰OŒOˆOˆOø�BŒI�d‰OŒOˆOˆOøøøsa   Â+I! Ã C"ÃI! Ã"C&Ã&I! Ã)C&Ã*B5I! Æ6I! ÇG'ÇI! Ç'G+Ç+I! Ç.G+Ç/ I! È$(I! É!I7)NNTró   )r§   r¨   r©   r4   rª   ry   ÚMappingr«   rG   r   r  ÚAnyStrr  r²   rH   rF   rò   rò   Ü  sô   € € € € € ð #'Ø/3Ø!Øð
#ð 
#à”
˜3”ð
#ð ŒZ˜œ	 # s (Ô+Ô,ð
#ð ð	
#ð
 ð
#ð 
ð
#ð 
#ð 
#ð 
#ð˜Cð ð ð ð ð #ð ¨$ð ð ð ð ð,-˜œ A¤HÔ-ð -°!´*¸Q¼XÔ2Fð -ð -ð -ð -ð -ð -rH   rò   FÚurlrå   Úlocatec                 óð  — dd l }dt          dt          fd„}t          j        dk    r¶dg}|r|                     d¦  «         |r|                     d¦  «         |                      || ¦  «        ¦  «         t          d	d
¦  «        }	 |                     ||¬¦  «                             ¦   «         |                     ¦   «          S # |                     ¦   «          w xY wt          ra|r& ||  
                    dd¦  «        ¦  «        } d| › d�}n%|  
                    dd¦  «        } |rdnd}d|› d| › d�}t          j        |¦  «        S t          r~|rCt          j                              || ¦  «         
                    dd¦  «        ¦  «        } d| › d�}n%|  
                    dd¦  «        } |rdnd}d|› d| › d�}t          j        |¦  «        S 	 |r+t          j                              || ¦  «        ¦  «        pd} n || ¦  «        } |                     d| g¦  «        }|r|                     ¦   «         S dS # t           $ r9 |                      d¦  «        r |s|sdd l}	|	                     | ¦  «         Y dS Y dS w xY w)Nr   r  r+   c                 ób   — ddl m} |                      d¦  «        r || dd …         ¦  «        } | S )Nr   )Úunquotezfile://é   )Úurllib.parser#  rÇ   )r  r#  s     rF   Ú_unquote_filezopen_url.<locals>._unquote_file@  sD   € Ø(Ð(Ð(Ð(Ð(Ð(à�>Š>˜)Ñ$Ô$ð 	#Ø�'˜#˜a˜b˜bœ'Ñ"Ô"ˆCàˆ
rH   Údarwinr  z-WrÕ   z	/dev/nullÚw)Ústderrr»   r-   zexplorer /select,"z/WAITzstart z "" "z
cygstart "z-wz	cygstart rí   ú.zxdg-open)zhttp://zhttps://r   )rÛ   ry   r½   rÆ   rŠ   r  rß   rå   rË   r   rÚ   rÀ   r¹   r   r  Údirnamerã   rÇ   Ú
webbrowser)
r  rå   r   rÛ   r&  ÚargsÚnullÚwait_strrè   r,  s
             rF   Úopen_urlr0  =  så  € ØÐÐÐð�3ð ¥3ð ð ð ð õ „|�xÒÐØˆxˆØð 	Ø�KŠK˜ÑÔÐØð 	Ø�KŠK˜ÑÔÐØ�Š�M�M #Ñ&Ô&Ñ'Ô'Ð'Ý�K Ñ%Ô%ˆð	Ø×#Ò# D°Ð#Ñ6Ô6×;Ò;Ñ=Ô=à�JŠJ‰LŒLˆLˆLøˆD�JŠJ‰LŒLˆLˆLøøøÝ	ð Øð 	2Ø�- §¢¨C°Ñ 4Ô 4Ñ5Ô5ˆCØ.¨Ð.Ð.Ð.ˆDˆDà—+’+˜c 2Ñ&Ô&ˆCØ"&Ð.�w�w¨BˆHØ1˜HÐ1Ð1¨3Ð1Ð1Ð1ˆDÝŒy˜‰ŒÐÝ	ð Øð 	2Ý”'—/’/ - -°Ñ"4Ô"4×"<Ò"<¸SÀ"Ñ"EÔ"EÑFÔFˆCØ& Ð&Ð&Ð&ˆDˆDà—+’+˜c 2Ñ&Ô&ˆCØ#Ð+�t�t¨ˆHØ1˜xÐ1Ð1¨3Ð1Ð1Ð1ˆDÝŒy˜‰ŒÐðØð 	%Ý”'—/’/ - -°Ñ"4Ô"4Ñ5Ô5Ð<¸ˆCˆCà�- Ñ$Ô$ˆCØ×Ò˜j¨#Ð.Ñ/Ô/ˆØð 	Ø—6’6‘8”8ˆOØˆqøÝð ð ð Ø�>Š>Ð1Ñ2Ô2ð 	¸6ð 	È$ð 	ØÐÐÐà�OŠO˜CÑ Ô Ð Ø�1�1Øˆqˆqðøøøs   Â(C ÃCÇA$H2 È2<I5É4I5Úchc                 óš   — | dk    rt          ¦   «         ‚| dk    rt          st          ¦   «         ‚| dk    rt          rt          ¦   «         ‚d S )Núúú)rä   r   ÚEOFError)r1  s    rF   Ú_translate_ch_to_excr7  y  sJ   € Ø	ˆV‚|€|ÝÑ!Ô!Ð!à	ˆV‚|€|�C€|Ý‰jŒjÐà	ˆV‚|€|�€|Ý‰jŒjÐàˆ4rH   c               #   ó   K  — dV — d S )Nr/   r²   r²   rH   rF   Úraw_terminalr9  ‰  s   è è € àˆˆˆˆˆrH   r   c                 ó�   — | rt           j        }nt           j        } |¦   «         }|dv r| |¦   «         z  }t          |¦  «         |S )N)ú õ   Ã )ÚmsvcrtÚgetwcheÚgetwchr7  )r   Úfuncr¦   s      rF   ÚgetcharrA  �  sX   € ð@ ð 	!Ý”>ˆDˆDå”=ˆDàˆT‰VŒVˆàÐ!Ð!Ð!ð �$�$‘&”&‰LˆBå˜RÑ Ô Ð Øˆ	rH   c               #   ó¬  K  — t          t          j        ¦  «        s$t          d¦  «        } |                      ¦   «         }n t          j                             ¦   «         }d } 	 t          j        |¦  «        }	 t          j        |¦  «         |V — t          j	        |t
          j
        |¦  «         t          j                             ¦   «          | �|                      ¦   «          d S d S # t          j	        |t
          j
        |¦  «         t          j                             ¦   «          | �|                      ¦   «          w w xY w# t
          j        $ r Y d S w xY w)Nz/dev/tty)r
   r½   r¾   r  ÚfilenoÚtermiosÚ	tcgetattrÚttyÚsetrawÚ	tcsetattrÚ	TCSADRAINrÍ   r`   rË   Úerror)rî   rÏ   Úold_settingss      rF   r9  r9  À  s6  è è € õ
 •c”iÑ Ô ð 	Ý�ZÑ Ô ˆAØ—’‘”ˆBˆBå”×!Ò!Ñ#Ô#ˆBØˆAð	Ý"Ô,¨RÑ0Ô0ˆLðÝ”
˜2‘”�Ø���åÔ! "¥gÔ&7¸ÑFÔFÐFÝ”
× Ò Ñ"Ô"Ð"à�=Ø—G’G‘I”I�I�I�Ið !�=øõ Ô! "¥gÔ&7¸ÑFÔFÐFÝ”
× Ò Ñ"Ô"Ð"à�=Ø—G’G‘I”I�I�Ið !øøøøåŒ}ð 	ð 	ð 	ØˆDˆDð	øøøs,   Á!E  Á6C& ÂAE  Ã&AD=Ä=E  Å EÅEc                 óh  — t          ¦   «         5 }t          j        |d¦  «                             t	          t
          j        ¦  «        d¦  «        }| r8t          t
          j        ¦  «        rt
          j         	                    |¦  «         t          |¦  «         |cd d d ¦  «         S # 1 swxY w Y   d S )Né    rÚ   )r9  rÀ   r  r  r	   r½   r¾   r
   rÍ   r^   r7  )r   rÏ   r1  s      rF   rA  rA  Û  s×   € Ý‰^Œ^ð 	˜rÝ”˜˜R‘”×'Ò'Õ(9½#¼)Ñ(DÔ(DÀiÑPÔPˆBàð %��sœzÑ*Ô*ð %Ý”
× Ò  Ñ$Ô$Ð$å  Ñ$Ô$Ð$Øð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   �BB'Â'B+Â.B+rR   )FF)7Ú__doc__Ú
contextlibr�   rÀ   r½   r;   Útypingr4   r   r  Úior   Útypesr   Ú_compatr   r   r	   r
   r   r   r   r   Ú
exceptionsr   Úutilsr   ÚTypeVarr   r  r•   r_   ÚGenericr   r6   ry   rª   r«   rÑ   rÅ   rÄ   r­   r¿   rò   rr   r0  r¯   r7  r=  Úcontextmanagerr°   r9  rA  rF  rD  r²   rH   rF   ú<module>rY     s  ððð ð
 Ð Ð Ð Ø €€€Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð à€A„Iˆc�N„N€à„7ˆd‚?€?Ø€JØ€I€Ià€JØ€Ið@#ð @#ð @#ð @#ð @#�!”)˜A”,ñ @#ô @#ð @#ðF
 ð  �Q”Z ”_ð  ¨Q¬Z¸Ô-=ð  Èð  ð  ð  ð  ðF/˜!œ* Sœ/ð /°ð /¸A¼JÀtÔ<Lð /ÐQUð /ð /ð /ð /ðdØŒz˜#ŒðØ%(ðØ12´¸DÔ1Aðà	ðð ð ð ð*ØŒHðØ!"¤¨C¤ðØ9:¼ÀDÔ9Iðà	ðð ð ð ð^ð ^ð ^ð ^ð ^ñ ^ô ^ð ^ðB9ð 9�#ð 9˜Tð 9°4ð 9ÀCð 9ð 9ð 9ð 9ðx
˜Sð 
 Q¤Z°Ô%>ð 
ð 
ð 
ð 
ð ð ]Ø€M€M€MàÔð˜!œ* Sœ/ð ð ð ñ Ôðð-�dð -˜sð -ð -ð -ð -ð -ð -ð` €J€J€JØ€N€N€NàÔð˜!œ* Sœ/ð ð ð ñ Ôðð4�dð ˜sð ð ð ð ð ð rH   