+
    Ž€ˆj"(  ã                   óþ   € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	H
t
 . ROtR R lt ! R	 R
4      t ! R R]
P                  ]4      t ! R R]
P                  ]4      t ! R R]
P                   ]4      tR# )z'Progress reporting for text interfaces.N)ÚCallable)ÚbaseÚAcquireProgressÚCdromProgressÚ
OpProgressc                ó0   € V ^8„  d   QhR\         R\         /# )é   ÚmsgÚreturn©Ústr)Úformats   "Ú3/usr/lib/python3/dist-packages/apt/progress/text.pyÚ__annotate__r       s   € ÷ ñ Œ3ð ”3ñ ó    c                ól   € \         P                  ! V 4      pW8X  d   \         P                  ! V R4      pV# )z>Translate the message, also try apt if translation is missing.Úapt)Úapt_pkgÚgettext)r	   Úress   & r   Ú_r       s*   € ä
�/Š/˜#Ó
€CØ
„zÜ�oŠo˜c 5Ó)ˆØ€Jr   c                   óP   a € ] tR t^(t o RtRV 3R lR lltR	V 3R lR lltRtV tR# )
ÚTextProgressz.Internal Base class for text progress classes.Nc                óF   <€ V ^8„  d   QhRS[ P                  R,          RR/# ©r   ÚoutfileNr
   ©ÚioÚ
TextIOBase)r   Ú__classdict__s   "€r   r   ÚTextProgress.__annotate__+   s$   ø€ ÷ ñ ¡§¡°Õ 4ð Àñ r   c                óR   € T;'       g    \         P                  V n        ^ V n        R# )é    N)ÚsysÚstdoutÚ_fileÚ_width©Úselfr   s   &&r   Ú__init__ÚTextProgress.__init__+   s   € Ø×*Ð*¤§
¡
ˆŒ
ØˆŽr   c                ó0   <€ V ^8„  d   QhRS[ RS[RS[RR/# )r   r	   ÚnewlineÚmaximizer
   N©r   Úbool)r   r   s   "€r   r   r    /   s*   ø€ ÷ ñ ™#ð ©ð ¹tð ÐPTñ r   c                óö  € V P                   P                  R4       V P                   P                  V4       V P                  \        V4      8”  d>   V P                   P                  V P                  \        V4      ,
          R,          4       M,V'       d%   \	        V P                  \        V4      4      V n        V'       d   V P                   P                  R4       R# V P                   P                  4        R# )z8Write the message on the terminal, fill remaining space.ÚÚ Ú
N)r%   Úwriter&   ÚlenÚmaxÚflush)r(   r	   r,   r-   s   &&&&r   Ú_writeÚTextProgress._write/   sœ   € à�
‰
×Ñ˜ÔØ�
‰
×Ñ˜Ôð �;‰;œ˜S›Ô!Ø�J‰J×Ñ˜dŸk™k¬C°«HÕ4¸Õ;Õ<ßÜ˜dŸk™k¬3¨s«8Ó4ˆDŒKßØ�J‰J×Ñ˜TÖ"ð �J‰J×ÑÖr   )r%   r&   ©N)TF)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r)   r8   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   (   s!   ø‡ € Ù8÷ò ÷÷ ð r   r   c                   ób   a € ] tR t^@t o RtR
V 3R lR lltR
V 3R lR lltV 3R lR ltR	tV t	R# )r   zTOperation progress reporting.

This closely resembles OpTextProgress in libapt-pkg.
Nc                óF   <€ V ^8„  d   QhRS[ P                  R,          RR/# r   r   )r   r   s   "€r   r   ÚOpProgress.__annotate__F   s$   ø€ ÷ ñ ¡§¡°Õ 4ð Àñ r   c                ó|   € \         P                  W4       \        P                  P                  V 4       R V n        R# )Ú N)r   r)   r   r   Úold_opr'   s   &&r   r)   ÚOpProgress.__init__F   s)   € Ü×Ñ˜dÔ,Ü�‰× Ñ  Ô&ØˆŽr   c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r   ÚpercentNr
   )Úfloat)r   r   s   "€r   r   rE   K   s   ø€ ÷ ñ ™e d�lð °dñ r   c                óD  € \         P                  P                  W4       V P                  '       d.   V P                  '       d   V P                  V P                  4       V P                  RV P                  V P                  3,          RR4       V P                  V n        R# )z1Called periodically to update the user interface.z%s... %i%%FTN)r   r   ÚupdateÚmajor_changerH   r8   ÚoprK   )r(   rK   s   &&r   rN   ÚOpProgress.updateK   se   € ä�‰×Ñ˜tÔ-Ø××Ð §§ Ø�K‰K˜Ÿ™Ô$Ø�‰�N d§g¡g¨t¯|©|Ð%<Õ<¸eÀTÔJØ—g‘gˆŽr   c                ó   <€ V ^8„  d   QhRR/# ©r   r
   N© )r   r   s   "€r   r   rE   S   s   ø€ ÷ ñ �dñ r   c                óÔ   € \         P                  P                  V 4       V P                  '       d0   V P	                  \        R4      RV P                  3,          RR4       RV n        R# )z,Called once an operation has been completed.z%c%s... Doner1   TrG   N)r   r   ÚdonerH   r8   r   ©r(   s   &r   rV   ÚOpProgress.doneS   sG   € ä�‰×Ñ˜TÔ"Ø�;�;ˆ;Ø�K‰Kœ˜.Ó)¨T°4·;±;Ð,?Õ?ÀÀtÔLØˆŽr   )rH   r:   )
r;   r<   r=   r>   r?   r)   rN   rV   r@   rA   rB   s   @r   r   r   @   s(   ø‡ € ñ÷
ò ÷
ò ÷ö r   c                   óÊ   a € ] tR t^[t o RtRV 3R lR lltV 3R lR ltV 3R lR ltV 3R	 lR
 ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )r   z'AcquireProgress for the text interface.Nc                óF   <€ V ^8„  d   QhRS[ P                  R,          RR/# r   r   )r   r   s   "€r   r   ÚAcquireProgress.__annotate__^   s$   ø€ ÷ ñ ¡§¡°Õ 4ð Àñ r   c                ó˜   € \         P                  W4       \        P                  P                  V 4       R V n        ^PV n        ^V n        R # r:   )r   r)   r   r   Ú_signalr&   Ú_idr'   s   &&r   r)   ÚAcquireProgress.__init__^   s@   € Ü×Ñ˜dÔ,Ü×Ñ×%Ñ% dÔ+ð ð 	Œð ˆŒØˆŽr   c                ó   <€ V ^8„  d   QhRR/# rS   rT   )r   r   s   "€r   r   r[   g   s   ø€ ÷ 
ñ 
�tñ 
r   c                óÚ   € \         P                  P                  V 4       \        P                  ! \        P                  V P
                  4      V n        V P                  4        ^V n        R# )z”Start an Acquire progress.

In this case, the function sets up a signal handler for SIGWINCH, i.e.
window resize signals. And it also sets id to 1.
N)r   r   ÚstartÚsignalÚSIGWINCHÚ_winchr]   r^   rW   s   &r   rb   ÚAcquireProgress.startg   sB   € ô 	×Ñ×"Ñ" 4Ô(Ü—}’}¤V§_¡_°d·k±kÓBˆŒà�‰ŒØˆŽr   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Údummyr
   N)Úobject)r   r   s   "€r   r   r[   s   s   ø€ ÷ 	"ñ 	"™Vð 	"¨ñ 	"r   c                ó\  € \        V P                  R4      '       d�   \        P                  ! V P                  P	                  4       4      '       dZ   ^ RIp^ RIp^ RIpVP                  V P                  VP                  R4      pVP                  RV4      w  r pV^,
          V n        R# R# R# )z)Signal handler for window resize signals.ÚfilenoNÚhhhhs           )Úhasattrr%   ÚosÚisattyrk   ÚfcntlÚstructÚtermiosÚioctlÚ
TIOCGWINSZÚunpackr&   )r(   rh   rp   rq   rr   ÚbufÚcols   &*     r   re   ÚAcquireProgress._winchs   s~   € ä�4—:‘:˜x×(Ò(¬R¯YªY°t·z±z×7HÑ7HÓ7J×-KÒ-KÛÛÛà—+‘+˜dŸj™j¨'×*<Ñ*<¸hÓGˆCØ'-§}¡}°V¸SÓ'AÑ$ˆE˜˜uØ �'ˆDŽKñ .LÑ(r   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# ©r   Úitemr
   N©r   ÚAcquireItemDesc)r   r   s   "€r   r   r[   ~   s!   ø€ ÷ ñ ™G×3Ñ3ð ¸ñ r   c                óF  € \         P                  P                  W4       \        R4      VP                  ,           pVP
                  P                  '       d9   VR\        P                  ! VP
                  P                  4      ,          ,          pV P                  V4       R# )z@Called when an item is update (e.g. not modified on the server).zHit ú [%sB]N)
r   r   Úims_hitr   ÚdescriptionÚownerÚfilesizer   Úsize_to_strr8   ©r(   r{   Úlines   && r   r€   ÚAcquireProgress.ims_hit~   sj   € ä×Ñ×$Ñ$ TÔ0Ü�‹y˜4×+Ñ+Õ+ˆØ�:‰:××ÐØ�Hœw×2Ò2°4·:±:×3FÑ3FÓGÕGÕGˆDØ�‰�DÖr   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# rz   r|   )r   r   s   "€r   r   r[   †   s!   ø€ ÷ 8ñ 8™×0Ñ0ð 8°Tñ 8r   c                óª  € \         P                  P                  W4       VP                  P                  VP                  P
                  8X  d.   V P                  \        R4      VP                  ,           4       R# V P                  \        R4      VP                  ,           4       V P                  RVP                  P                  ,          4       R# )zCalled when an item is failed.zIgn zErr z  %sN)
r   r   Úfailr‚   ÚstatusÚ	STAT_DONEr8   r   r�   Ú
error_text)r(   r{   s   &&r   rŠ   ÚAcquireProgress.fail†   sƒ   € ä×Ñ×!Ñ! $Ô-Ø�:‰:×Ñ §
¡
× 4Ñ 4Ô4Ø�K‰Kœ˜&›	 D×$4Ñ$4Õ4Ö5à�K‰Kœ˜&›	 D×$4Ñ$4Õ4Ô5Ø�K‰K˜ §¡×!6Ñ!6Õ6Ö7r   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# rz   r|   )r   r   s   "€r   r   r[   �   s!   ø€ ÷ ñ ™'×1Ñ1ð °dñ r   c                ó  € \         P                  P                  W4       VP                  P                  '       d   R# V P
                  VP                  n        V ;P
                  ^,          un        \        R4      VP                  P                   RVP                   2,           pVP                  P                  '       d9   VR\        P                  ! VP                  P                  4      ,          ,          pV P                  V4       R# )z/Called when some of the item's data is fetched.NzGet:r2   r   )r   r   Úfetchr‚   Úcompleter^   Úidr   r�   rƒ   r   r„   r8   r…   s   && r   r‘   ÚAcquireProgress.fetch�   s­   € ä×Ñ×"Ñ" 4Ô.à�:‰:××ÐÙØŸ™ˆ�
‰
ŒØ�Š�A��Ü�‹y˜dŸj™jŸm™m˜_¨A¨d×.>Ñ.>Ð-?Ð@Õ@ˆØ�:‰:××ÐØ�Hœw×2Ò2°4·:±:×3FÑ3FÓGÕGÕGˆDà�‰�DÖr   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# )r   r‚   r
   )r   ÚAcquirer/   )r   r   s   "€r   r   r[   �   s#   ø€ ÷ Fñ F™7Ÿ?™?ð F©tñ Fr   c                óÊ  € \         P                  P                  W4       \        V P                  R4      '       d7   \
        P                  ! V P                  P                  4       4      '       g   R# V P                  V P                  ,           R,          \        V P                  V P                  ,           4      ,          pRpRV,          pRpV P                  '       d…   \        \        V P                  V P                  ,
          4      V P                  ,          4      pRP                  \         P"                  ! V P                  4      \         P$                  ! V4      4      pVP&                   EFp  pRpVP(                  '       go   VP*                  '       d[   RVP*                  ,          p\-        V4      \-        V4      ,           \-        V4      ,           V P.                  8¼  d    EMûWH,          pRpK†  RpVP(                  P0                  P2                  '       dF   VR	VP(                  P0                  P2                  VP(                  P4                  3,          ,          pM$VR
VP(                  P6                  ,          ,          pVP(                  P0                  P8                  '       d/   VRVP(                  P0                  P8                  ,          ,          pVR\         P"                  ! VP:                  4      ,          ,          pVP<                  '       dy   VP(                  P0                  P>                  '       gS   VR\         P"                  ! VP<                  4      VP:                  R,          VP<                  ,          3,          ,          pVR,          p\-        V4      \-        V4      ,           \-        V4      ,           V P.                  8¼  d    MWH,          pEKs  	  V'       g   V\A        R4      ,          pV P                  '       dA   W@P.                  \-        V4      ,
          \-        V4      ,
          R,          V,           ,          pV PC                  VR4       R# )z€Periodically invoked while the Acquire process is underway.

Return False if the user asked to cancel the whole Acquire process.rk   Tg      Y@Fz%i%%rG   z	 {}B/s {}z [%s]z [%i %sz [%sz %sz %sBz	/%sB %i%%Ú]z
 [Working]r2   )"r   r   Úpulserm   r%   rn   ro   rk   Úcurrent_bytesÚcurrent_itemsrL   Útotal_bytesÚtotal_itemsÚcurrent_cpsÚintr   r   r„   Útime_to_strÚworkersÚcurrent_itemr‹   r5   r&   r‚   r“   Ú	shortdescr�   Úactive_subprocessÚcurrent_sizeÚ
total_sizer’   r   r8   )	r(   r‚   rK   ÚshownÚtvalÚendÚetaÚworkerÚvals	   &&       r   r™   ÚAcquireProgress.pulse�   s6  € ô 	×Ñ×"Ñ" 4Ô/ä�4—:‘:˜x×(Ò(´·²¸4¿:¹:×;LÑ;LÓ;N×1OÒ1OÙð ×&Ñ&¨×);Ñ);Õ;¸uÕDÌØ×Ñ˜t×/Ñ/Õ/óI
õ 
ˆð ˆØ˜ÕˆØˆØ××ÐÜ”e˜D×,Ñ,¨t×/AÑ/AÕAÓBÀT×EUÑEUÕUÓVˆCØ×$Ñ$Ü×#Ò# D×$4Ñ$4Ó5Ü×#Ò# CÓ(óˆCð
 —m•mˆFØˆCØ×&×&Ð&Ø—=—=�=Ø! F§M¡MÕ1�CÜ˜4“y¤3 s£8Õ+¬c°#«hÕ6¸$¿+¹+ÔEÚØ•K�DØ �EÙØˆEà×"Ñ"×(Ñ(×+×+Ð+Ø�yØ×'Ñ'×-Ñ-×0Ñ0Ø×'Ñ'×1Ñ1ð$õ õ ‘ð
 �v × 3Ñ 3× ?Ñ ?Õ?Õ?�Ø×"Ñ"×(Ñ(×:×:Ð:Ø�u˜v×2Ñ2×8Ñ8×JÑJÕJÕJ�à�6œG×/Ò/°×0CÑ0CÓDÕDÕDˆCð × × Ð ¨×)<Ñ)<×)BÑ)B×)K×)KÐ)KØ�{Ü×'Ò'¨×(9Ñ(9Ó:Ø×'Ñ'¨%Õ/°&×2CÑ2CÕCð&õ õ �ð
 �3�JˆCä�4‹yœ3˜s›8Õ#¤c¨#£hÕ.°$·+±+Ô=áà•“ñK $÷N Ø”A�l“OÕ#ˆDà××ÐØ—[‘[¤3 s£8Õ+¬c°$«iÕ7¸3Õ>ÀÕDÕDˆDà�‰�D˜%Ô Ùr   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r   ÚmediumÚdriver
   r.   )r   r   s   "€r   r   r[   å   s"   ø€ ÷ )ñ )¡3ð )©sð )±tñ )r   c                ó    € \         P                  P                  WV4       V P                  \	        R4      W3,          4       \        4       R9  # )z7Prompt the user to change the inserted removable media.zUMedia change: please insert the disc labeled
 '%s'
in the drive '%s' and press enter
)ÚcÚC)r   r   Úmedia_changer8   r   Úinput)r(   r¯   r°   s   &&&r   r´   ÚAcquireProgress.media_changeå   sL   € ä×Ñ×)Ñ)¨$¸Ô>Ø�‰Üð6óð
 ˆoõô	
ô ‹w˜jÑ(Ð(r   c                ó   <€ V ^8„  d   QhRR/# rS   rT   )r   r   s   "€r   r   r[   ò   s   ø€ ÷ 5ñ 5�dñ 5r   c                ó´  € \         P                  P                  V 4       V P                  \	        R4      \
        P                  ! V P                  4      \
        P                  ! V P                  4      \
        P                  ! V P                  4      3,          P                  R4      4       ^ RIpVP                  ! VP                  V P                  4       R# )z/Invoked when the Acquire process stops running.zFetched %sB in %s (%sB/s)
r3   N)r   r   Ústopr8   r   r   r„   Úfetched_bytesr    Úelapsed_timerž   Úrstriprc   rd   r]   )r(   rc   s   & r   r¹   ÚAcquireProgress.stopò   s—   € ä×Ñ×!Ñ! $Ô'à�‰äÐ/Ó0ä×'Ò'¨×(:Ñ(:Ó;Ü×'Ò'¨×(9Ñ(9Ó:Ü×'Ò'¨×(8Ñ(8Ó9ðõ÷ ‰f�T‹lô		
ó 	à�Š�f—o‘o t§|¡|Ö4r   )r^   r]   r&   r:   )r;   r<   r=   r>   r?   r)   rb   re   r€   rŠ   r‘   r™   r´   r¹   r@   rA   rB   s   @r   r   r   [   se   ø‡ € Ù1÷ò ÷
ð 
÷	"ð 	"÷ð ÷8ð 8÷ð ÷Fð F÷P)ð )÷5ö 5r   c                   óZ   a € ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltR	tV t	R
# )r   i  zText CD-ROM progress.c                ó.   <€ V ^8„  d   QhRS[ R,          /# rS   r   )r   r   s   "€r   r   ÚCdromProgress.__annotate__
  s   ø€ ÷ ñ ¡ d¥
ñ r   c                óÄ   € \         P                  P                  V 4       V P                  \	        R4      R4        \        \        R4      4      #   \         d     R# i ; i)z,Ask the user to provide a name for the disc.zDPlease provide a name for this medium, such as 'Debian 2.1r1 Disk 1'FÚ:N)r   r   Úask_cdrom_namer8   r   r   rµ   ÚKeyboardInterruptrW   s   &r   rÃ   ÚCdromProgress.ask_cdrom_name
  sY   € ä×Ñ×)Ñ)¨$Ô/Ø�‰Üð(óð ô	
ð	Ü”u˜S“z“?Ð"øÜ ô 	Úð	ús   ¼A ÁAÁAc                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r   ÚtextÚcurrentr
   N)r   rŸ   )r   r   s   "€r   r   rÀ     s"   ø€ ÷ %ñ %™3ð %©ð %°ñ %r   c                ó~   € \         P                  P                  WV4       V'       d   V P                  VR4       R# R# )zSet the current progress.FN)r   r   rN   r8   )r(   rÇ   rÈ   s   &&&r   rN   ÚCdromProgress.update  s.   € ä×Ñ×!Ñ! $¨gÔ6ßØ�K‰K˜˜eÖ$ñ r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r
   )r/   )r   r   s   "€r   r   rÀ     s   ø€ ÷ ñ ™dñ r   c                óÈ   € \         P                  P                  V 4       V P                  \	        R4      R4        \        \        4       R8H  4      #   \         d     R# i ; i)z"Ask the user to change the CD-ROM.z4Please insert an installation medium and press enterFrG   )r   r   Úchange_cdromr8   r   r/   rµ   rÄ   rW   s   &r   rÍ   ÚCdromProgress.change_cdrom  sR   € ä×Ñ×'Ñ'¨Ô-Ø�‰”AÐLÓMÈuÔUð	Üœ› 2™Ó&Ð&øÜ ô 	Úð	ús   ¼A ÁA!Á A!rT   N)
r;   r<   r=   r>   r?   rÃ   rN   rÍ   r@   rA   rB   s   @r   r   r     s&   ø‡ € Ù÷ð ÷%ð %÷ö r   )r   r   r   )r?   r   rn   rc   r#   ÚtypesÚcollections.abcr   r   Úapt.progressr   Ú__all__r   r   r   r   r   rT   r   r   Ú<module>rÓ      ss   ðñ" .Û 	Û 	Û Û 
Û Ý $ã å â
<€õ÷ñ ô0�—‘ ,ô ô6i5�d×*Ñ*¨Lô i5ôX�D×&Ñ&¨ö r   