ó
    6°hÄ(  ã                  ó^   • S SK Jr  S SKrS SKrSSKJr  SSKJr  S rS r	S r
 " S	 S
5      rg)é    )ÚannotationsNé   ©Ú_)Úencodingc                 ó2   • SR                  S U  5       5      $ )Nó    c              3  ó6   #   • U  H  o(       d  M  Uv •  M     g 7f©N© )Ú.0Úss     Ú4/usr/lib/python3/dist-packages/mercurial/progress.pyÚ	<genexpr>Úspacejoin.<locals>.<genexpr>   s   é € Ð*¢˜1«—Q‘Q¢ùs   ‚
�	)Újoin)Úargss    r   Ú	spacejoinr      s   € Ø�9‰9Ñ*¡Ó*Ó*Ð*ó    c                óÊ   • U R                   =(       d    U R                  S5      (       + =(       a4    U R                  U R                  5      =(       d    U R	                  SS5      $ )Nó   progresss
   assume-tty)ÚquietÚplainÚ_isattyÚferrÚ
configbool)Úuis    r   Úshouldprintr      sD   € Ø—‘×1˜BŸH™H [Ó1Ô2÷ Ø
�
‰
�2—7‘7Ó×H˜rŸ}™}¨[¸-ÓHðr   c                ó�  • U S:  a  [        S5      U -  $ U S-  nUS:  a  XS-  -  n [        S5      X4-  $ US-  nUS-  nXS-  -  nUS:  a  [        S5      X!4-  $ US-  nUS-  nX#S-  -  nUS:  a  [        S	5      X24-  $ US-  nUS
-  nX4S
-  -  nUS:  a  [        S5      XC4-  $ US-  nUS-  nXES-  -  n[        S5      XT4-  $ )z~format a number of remaining seconds in human readable way

This will properly display seconds, minutes, hours, days if neededé<   s   %02dss   %dm%02dsr   é   s   %dh%02dmé   é   s   %dd%02dhé   é7   s   %dw%02ddé4   s   %dy%02dwr   )ÚsecondsÚminutesÚhoursÚdaysÚweeksÚyearss         r   Úfmtremainingr-      s  € ð �ƒ|ä�‹{˜WÑ$Ð$Ø˜‰m€GØ�ƒ|Ø˜R‘<Ñˆä�‹~ Ð 2Ñ2Ð2àˆq�L€GØ�r‰M€EØ�r‰zÑ€GØˆrƒzä�‹~ Ð 0Ñ0Ð0à	ˆQ�J€EØ�B‰;€DØ	�B‰YÑ€EØˆbƒyä�‹~  Ñ-Ð-àˆA�I€DØ�A‰I€EØ�A‰IÑ€DØˆrƒzä�‹~  Ñ-Ð-à	ˆQ�J€EØ�R‰K€EØ	�R‰ZÑ€Eäˆ[‹>˜U˜NÑ*Ð*r   c                  ól   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rSS jrS rSrg)ÚprogbaréD   c                ód   • Xl         [        R                  " 5       U l        U R	                  5         g r   )r   Ú	threadingÚLockÚ_refreshlockÚ
resetstate)Úselfr   s     r   Ú__init__Úprogbar.__init__E   s    € ØŒÜ%ŸNšNÓ,ˆÔØ�‰Õr   c           	     óX  • / U l         0 U l        0 U l        0 U l        SU l        [
        R
                  " 5       [        U R                  R                  SS5      5      -   U l	        S U l
        S U l        SU l        [        U R                  R                  SS5      5      U l        [        SU R                  -  [        U R                  R                  SS5      5      5      U l        U R                  R!                  SS5      U l        U R                  R%                  [        SS	5      U l        g )
NFr   s   delayr   s   refreshé   s   changedelays   formats   estimateinterval)ÚtopicsÚtopicstatesÚ
starttimesÚ	startvalsÚprintedÚtimeÚfloatr   ÚconfigÚ	lastprintÚcurtopicÚ	lasttopicÚ
indetcountÚrefreshÚmaxÚchangedelayÚ
configlistÚorderÚ
configwithÚestimateinterval©r6   s    r   r5   Úprogbar.resetstateJ   së   € ØˆŒØˆÔØˆŒØˆŒØˆŒÜŸš›¤uØ�G‰G�N‰N˜;¨Ó1ó(
ñ 
ˆŒð ˆŒØˆŒØˆŒÜ˜TŸW™WŸ^™^¨K¸ÓDÓEˆŒÜØ�—‘Ñœe D§G¡G§N¡N°;ÀÓ$OÓPó
ˆÔð —W‘W×'Ñ'¨°YÓ?ˆŒ
Ø $§¡× 2Ñ 2Ü�;Ð 3ó!
ˆÕr   c                ó  • [        U R                  5      (       d  g U R                  5       nSU l        SnSn	Sn
U R                   GHg  nSnUS:X  a  UnGO7US:X  a)  U(       a  S[        [        U5      5      X64-  nGOSU-  nGOUR                  S5      (       a¦  U(       aŸ  S	nS
U;   a  [        UR                  S
5      S   5      nO(SU;   a   Sn[        UR                  S5      S   5      nOSnUS	:X  a  [        R                  " XNSS9nO[        R                  " XN5      nXÎ[        R                  " U5      -
  S-  -  nOLUS:X  a  SnSn	OAUS:X  a
  U(       a  UnO1US:X  a  U R                  X#Xa5      nOUS:X  a  U R                  X#XQ5      nU	(       d  [        XŒ5      nGM\  [        X¬5      n
GMj     U	(       Ga
  SnU(       a  U[        R                  " U5      S-   -  nU
(       a  U[        R                  " U
5      S-   -  nX-
  S-
  nU(       a,  X6::  a'  UU-  U-  nSUS-
  -  nUS:”  a  US-  nUSUU-
  -  -  nOfUS-  nU =R                   S-  sl        U R                   SU-  -  nUU-  nS[        U[#        U5      -
  5      -  S-   S[        [#        U5      5      -  -   nSR%                  SUS45      n[        UUU
5      nO[        XŠ5      nU R'                  S[        R                  " UU5      -   5        X l        U R+                  5         g )NTr   Fs   topics   numbers   %*d/%ds   %ds   items   endó   -r   ó   +s	   beginningé   )Úleftsider	   s   bars   units   estimates   speedr   r:   ó   =ó   >é   s   <=>ó   [ó   ]ó   )r   r   Úwidthr?   rK   ÚlenÚstrÚ
startswithÚintÚsplitr   ÚtrimÚcolwidthÚestimateÚspeedr   rF   Úabsr   Ú	_writeerrrE   Ú	_flusherr)r6   ÚnowÚtopicÚposÚitemÚunitÚtotalÚ	termwidthÚheadÚneedprogressÚtailÚ	indicatorÚaddÚsliceÚwidÚusedÚ	progwidthÚamtÚbarÚprogÚouts                        r   ÚshowÚprogbar.show_   sì  € Ü˜4Ÿ7™7×#Ñ#ØØ—J‘J“Lˆ	ØˆŒØˆØˆØˆØŸ�ˆIØˆCØ˜HÓ$Ø’Ø˜iÓ'ÞØ#¤s¬3¨u«:£¸Ð&CÑC’Cà #™+’CØ×%Ñ% g×.Ñ.¶4Ø�Ø˜9Ó$Ü˜iŸo™o¨dÓ3°AÑ6Ó7‘CØ˜YÓ&Ø(�EÜ˜iŸo™o¨dÓ3°AÑ6Ó7‘Cà�CØ˜F“?Ü"Ÿ-š-¨¸DÑA‘Cä"Ÿ-š-¨Ó2�CØœh×/Ò/°Ó4Ñ4¸Ñ<Ñ<‘Ø˜fÓ$Ø�Ø#‘Ø˜gÓ%®$Ø‘Ø˜kÓ)Ø—m‘m E°Ó;‘Ø˜hÓ&Ø—j‘j ¨TÓ7�ÞÜ  Ó+“ä  Ó+“ñG $÷H ØˆDÞØœ×)Ò)¨$Ó/°!Ñ3Ñ3�ÞØœ×)Ò)¨$Ó/°!Ñ3Ñ3�Ø!Ñ(¨1Ñ,ˆIÞ˜›Ø˜I‘o¨Ñ.�Ø˜c A™gÑ&�Ø˜“7Ø˜4‘K�CØ�t˜y¨3™Ñ/Ñ/‘à˜Q‘�	Ø—’ 1Ñ$•ð —o‘o¨¨Y©Ñ7�Ø�yÑ �àœ3˜y¬3¨s«8Ñ3Ó4Ñ4ØñàœS¤ S£›]Ñ*ñ+ð ð
 —8‘8˜T 3¨Ð-Ó.ˆDÜ˜D $¨Ó-‰Cä˜DÓ'ˆCØ�‰�uœxŸ}š}¨S°)Ó<Ñ<Ô=ØŒØ�‰Õr   c                ó  • U R                   (       a+  U R                  (       a  [        U R                  5      (       d  g U R	                  SSU R                  5       -  -  5        U R                  5         U R                   (       a  SU l        g g )Ns   %sr	   r   )r?   rC   r   r   rf   r[   rg   rN   s    r   ÚclearÚprogbar.clear¬   sY   € Ø�|�| 4§>§>¼ÀTÇWÁW×9MÑ9MØØ�‰�y D¨4¯:©:«<Ñ$7Ñ8Ô9Ø�‰ÔØ�<�<àˆD�Nð r   c                óà   • [        U R                  5      (       d  g U R                  R                  SS5      (       a  U R                  5         OU R	                  S5        U R                  5         g )Nr   s   clear-completeó   
)r   r   r   r   rf   rg   rN   s    r   ÚcompleteÚprogbar.completeµ   sK   € Ü˜4Ÿ7™7×#Ñ#ØØ�7‰7×Ñ˜kÐ+<×=Ñ=Ø�J‰J�Là�N‰N˜5Ô!Ø�‰Õr   c                óL   • U R                   R                  R                  5         g r   )r   r   ÚflushrN   s    r   rg   Úprogbar._flusherr¾   s   € Ø�‰�‰×ÑÕr   c                óN   • U R                   R                  R                  U5        g r   )r   r   Úwrite)r6   Úmsgs     r   rf   Úprogbar._writeerrÁ   s   € Ø�‰�‰×Ñ˜3Õr   c           
     ó’   • U R                   R                  5       n[        [        U R                   R	                  SSUS95      U5      $ )Nr   s   width)Údefault)r   rn   Úminr_   rB   )r6   Útws     r   r[   Úprogbar.widthÄ   s9   € Ø�W‰W×ÑÓ ˆÜ”3�t—w‘w—~‘~ k°8ÀR�~ÐHÓIÈ2ÓNÐNr   c                ó˜   • Uc  gU R                   U   nX5-
  nX%-
  nUS:”  a)  X@R                  U   -
  nX†U-
  -  U-  S-   n	[        U	5      $ g)Nr   r   r   )r>   r=   r-   )
r6   ri   rj   rm   rh   Ú
initialposÚtargetÚdeltaÚelapsedr'   s
             r   rc   Úprogbar.estimateÈ   sd   € Ø‰=ØØ—^‘^ EÑ*ˆ
ØÑ#ˆØÑ ˆØ�1‹9ØŸO™O¨EÑ2Ñ2ˆGØ¨5¡.Ñ1°eÑ;¸aÑ?ˆGÜ Ó(Ð(Ør   c                ó|   • U R                   U   nX%-
  nX@R                  U   -
  nUS:”  a  [        S5      Xg-  U4-  $ g)Nr   s	   %d %s/secr   )r>   r=   r   )r6   ri   rj   rl   rh   r’   r”   r•   s           r   rd   Úprogbar.speedÔ   sI   € Ø—^‘^ EÑ*ˆ
ØÑ ˆØŸ™¨Ñ.Ñ.ˆØ�Q‹;Ü�\“? e¡o°tÐ%<Ñ<Ð<Ør   c                óŒ   • U R                   b6  U R                  U R                   :X  d  XR                  -
  U R                  :¼  a  gg)z?Check if conditions are met to print - e.g. changedelay elapsedTF)rE   rD   rC   rI   )r6   rh   s     r   Ú
_oktoprintÚprogbar._oktoprintÜ   s9   € ð �N‰NÑ"à�}‰} §¡Ó.à—^‘^Ñ# t×'7Ñ'7Ó7ààr   c                óÚ   • U R                   nUS::  a  gX R                  U   -
  nXT:”  aB  X0R                  U   -
  nXd-  U-  nUS:  a  gX7-
  U R                  U'   X$-
  U R                  U'   gg)ay  Adjust starttimes and startvals for topic so ETA works better

If progress is non-linear (ex. get much slower in the last minute),
it's more friendly to only use a recent time span for ETA and speed
calculation.

    [======================================>       ]
                                     ^^^^^^^
                   estimateinterval, only use this for estimation
r   Ngš™™™™™¹?)rM   r=   r>   )r6   ri   rh   rj   Úintervalr•   r”   Únewdeltas           r   Ú_calibrateestimateÚprogbar._calibrateestimateé   s   € ð ×(Ñ(ˆØ�q‹=ØØŸ™¨Ñ.Ñ.ˆØÓØŸ.™.¨Ñ/Ñ/ˆEØÑ'¨'Ñ1ˆHð ˜#‹~ØØ$'¡NˆD�N‰N˜5Ñ!Ø%(¡^ˆD�O‰O˜EÒ"ð r   Nc                óT  • Uc  U R                  U5        g [        R                  " 5       nU R                     XR                  ;  a7  X`R                  U'   X R
                  U'   U R                  R                  U5        X#XE4U R                  U'   Xl        U R                  XU5        X`R                  -
  U R                  :¼  aM  U R                  (       a<  U R                  U5      (       a&  X`l
        U R                  " Xa/U R                  U   Q76   S S S 5        g ! , (       d  f       g = fr   )Ú
closetopicr@   r4   r;   r=   r>   Úappendr<   rD   rŸ   rC   rG   rš   r|   )r6   ri   rj   rk   rl   rm   rh   s          r   ÚprogressÚprogbar.progress  sÝ   € Ø‰;Ø�O‰O˜EÔ"ØÜ�iŠi‹kˆØ×ÓØŸK™KÓ'Ø),—‘ Ñ&Ø(+—‘˜uÑ%Ø—‘×"Ñ" 5Ô)Ø&)°Ð&<ˆD×Ñ˜UÑ#Ø!ŒMØ×#Ñ# E°Ô4Ø—^‘^Ñ# t§|¡|Ó3¸¿¿Ø—?‘? 3×'Ñ'Ø%(”NØ—I’I˜cÐC¨4×+;Ñ+;¸EÑ+BÓC÷ ×Öús   ·CDÄ
D'c                ót  • U R                      U R                  R                  US 5        U R                  R                  US 5        U R                  R                  US 5        U R
                  (       aD  U R
                  S   U:X  a1  U R                  (       a   U R                  5         U R                  5         XR
                  ;   aZ  U R
                  S U R
                  R                  U5       U l        U R
                  (       a  U R
                  S   U l
        OS U l
        S S S 5        g ! , (       d  f       g = f)Nr   éÿÿÿÿ)r4   r=   Úpopr>   r<   r;   r?   rƒ   r5   ÚindexrE   )r6   ri   s     r   r¢   Úprogbar.closetopic  sÑ   € Ø×ÓØ�O‰O×Ñ  tÔ,Ø�N‰N×Ñ˜u dÔ+Ø×Ñ× Ñ  ¨Ô-à�{�{˜tŸ{™{¨1™~°Ó6¸4¿<¿<Ø—‘”Ø—‘Ô!ð Ÿ™Ó#Ø"Ÿk™kÐ*D¨D¯K©K×,=Ñ,=¸eÓ,DÐE�”ð —;—;Ø%)§[¡[°¡_�D•Nà%)�D”N÷% ×Öús   �DD)Ä)
D7)r4   rI   rD   rM   rF   rC   rE   rK   r?   rG   r=   r>   r;   r<   r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r7   r5   r|   r   rƒ   rg   rf   r[   rc   rd   rš   rŸ   r¤   r¢   Ú__static_attributes__r   r   r   r/   r/   D   sL   † òò

ò*KòZòòò òOò
òòò4ô4Dõ$*r   r/   )Ú
__future__r   r2   r@   Úi18nr   Ú r   r   r   r-   r/   r   r   r   Ú<module>r³      s2   ðõ #ã Û å Ý ò+òò&+÷Rd*ò d*r   