
    Uw                        d Z dZdZddlZddlZddlmZ ddlmZ ddlZddl	m
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ZddlZddlmZ dd	lmZ ddlZej2                  j4                  j7                  d
       ddlZddlmZ ddlmZ ddlm Z   e!d      dz   Z" e!d      dz   Z#ejH                  jJ                  dkD  Z& G d d      Z'd Z(e)dk(  r e(        yy)z>
This module provides a command line client for the aptdaemon
z%Sebastian Heinlein <devel@glatzor.de>)ConsoleClientmain    N)gettext)ngettext)OptionParser)SourceEntry)GLibT)set_as_default   )client)enums)errors   z[1mz[0m   c                       e Zd ZdZ	 	 d&dZd'dZd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd(dZd Zd Zd Zd Zd Z d  Z!d! Z"d" Z#d# Z$d$ Z%d% Z&y))r   z4
    Command line interface client to aptdaemon
    c                    t        j                         | _        t        j                         \  | _        | _        g | _        t        j                  t        j                  | j                         t        j                  t        j                  | j                         t        j                  t        j                  | j                         | j                         | _        g | _        d | _        d| _        d| _        d| _        || _        || _        || _        d| _        d| _        d| _        d| _        d| _        t;        j:                         | _        d | _        tA        jB                         | _"        y )NT r   z|/-\)#r   	AptClient_clientptyopenpty	master_fdslave_fd_signalssignalSIGINT_on_cancel_signalSIGQUITSIGWINCH_on_terminal_resize_get_terminal_width_terminal_width	_watchers_old_tty_mode_show_status_status_percent_show_terminal_details_allow_unauthenticated_show_progress_status_details_progress_details_spin_elements	_spin_curtime_spin_stamp_transactionr	   MainLoop_loop)selfshow_terminalallow_unauthenticateddetailss       3/usr/lib/python3/dist-packages/aptdaemon/console.py__init__zConsoleClient.__init__=   s   '')(+%fmmT%;%;<fnnd&<&<=foot'?'?@#779! +&;#"!!#%99; ]]_
    c           
          t        |      }| j                  j                  |j                  |j                  |j
                  |j                  |j                  || j                  | j                         y)z#Add repository to the sources list.reply_handlererror_handlerN)
r   r   add_repositorytypeuridistcompscomment_run_transaction_on_exception)r6   linesourcesfileentrys       r:   rA   zConsoleClient.add_repositoryX   sX    D!##EJJ		5::$)KK$/262G2G262D2D	 	$ 	Fr<   c                 h    | j                   j                  || j                  | j                         yzInstall repository key file.r>   N)r   add_vendor_key_from_filerG   rH   r6   paths     r:   rN   z&ConsoleClient.add_vendor_key_from_filea   s.    --//,, 	. 	.r<   c                 j    | j                   j                  ||| j                  | j                         yrM   )r   add_vendor_key_from_keyserverrG   rH   )r6   keyid	keyservers      r:   rR   z+ConsoleClient.add_vendor_key_from_keyserverh   s0    229//,, 	3 	.r<   c                 h    | j                   j                  || j                  | j                         y)zRemove repository key.r>   N)r   remove_vendor_keyrG   rH   )r6   fingerprints     r:   rV   zConsoleClient.remove_vendor_keyo   s.    &&{595J5J595G5G 	' 	Ir<   c                 h    | j                   j                  || j                  | j                         y)zInstall package file.r>   N)r   install_filerG   rH   rO   s     r:   rY   zConsoleClient.install_fileu   s-    !!$d6K6K040B0B 	" 	Dr<   c                 ^      fd} j                   j                  | j                         y)z%List the keys of the trusted vendors.c                 ^    | D ]  }t        |        j                  j                          y N)printr5   quit)keyskeyr6   s     r:   on_donez7ConsoleClient.list_trusted_vendor_keys.<locals>.on_done|   s'     c
JJOOr<   r>   N)r   get_trusted_vendor_keysrH   )r6   ra   s   ` r:   list_trusted_vendor_keysz&ConsoleClient.list_trusted_vendor_keysz   s-    	 	,,7;?;M;M 	- 	Or<   c           
      r    | j                   j                  ||||||| j                  | j                         y)zCommit changesr>   N)r   commit_packagesrG   rH   )r6   install	reinstallremovepurgeupgrade	downgrades          r:   re   zConsoleClient.commit_packages   s;     	$$Wi%,i373H3H373E3E 	% 	Gr<   c                 f    | j                   j                  | j                  | j                         y)zFix incomplete installsr>   N)r   fix_incomplete_installrG   rH   r6   s    r:   rm   z$ConsoleClient.fix_incomplete_install   s+    ++//,, 	, 	.r<   c                 f    | j                   j                  | j                  | j                         y)zRepair broken dependencies.r>   N)r   fix_broken_dependsrG   rH   rn   s    r:   rp   z ConsoleClient.fix_broken_depends   s+    ''d6K6K6:6H6H 	( 	Jr<   c                 f    | j                   j                  | j                  | j                         y)zUpdate cacher>   N)r   update_cacherG   rH   rn   s    r:   rr   zConsoleClient.update_cache   s+    !!0E0E040B0B 	" 	Dr<   c                 h    | j                   j                  || j                  | j                         y)zUpgrade systemr>   N)r   upgrade_systemrG   rH   )r6   	safe_modes     r:   rt   zConsoleClient.upgrade_system   s.    ##I262G2G262D2D 	$ 	Fr<   c                 j    | j                   j                  ||| j                  | j                         y)zReconfigure packages.r>   N)r   reconfigurerG   rH   )r6   packagesprioritys      r:   rw   zConsoleClient.reconfigure   s0      8/3/D/D/3/A/A 	! 	Cr<   c                 f    | j                   j                  | j                  | j                         y)zClean archives.r>   N)r   cleanrG   rH   rn   s    r:   r{   zConsoleClient.clean   s*    )>)>)-);); 	 	=r<   c                 X    	 | j                   j                          y# t        $ r Y yw xY w)z%Start the console client application.N)r5   runKeyboardInterruptrn   s    r:   r}   zConsoleClient.run   s'    	JJNN  		s    	))c                    | j                   D ]  }t        j                  |        || _        g | _         | j                   j	                  |j                  d| j                               | j                   j	                  |j                  d| j                               | j                   j	                  |j                  d| j                               | j                   j	                  |j                  d| j                               | j                   j	                  |j                  d| j                               | j                   j	                  |j                  d| j                               | j                  r.|j                  t        j                  | j                                |j#                  | j$                         y)zMonitor the given transactionzterminal-attached-changedzstatus-changedzstatus-details-changedzprogress-changedzprogress-details-changedfinishedN)r   r	   source_remover3   appendconnect_on_terminal_attached
_on_status_on_status_details_on_progress_on_progress_details_on_exitr)   set_terminalosttynamer   set_allow_unauthenticatedr+   )r6   transactionhandlers      r:   _set_transactionzConsoleClient._set_transaction   sl   }} 	(Gw'	('[001L151K1KM 	N[001A15B 	C[001I151H1HJ 	K[001C151B1BD 	E[001K151J1JL 	M[00T]]KL$$RZZ%>?--d.I.IJr<   c                    | j                          | j                  r^dt        | j                  dz
  | j                  dz
  t	        j
                  |      t        fz  }t        j                  j                  |       |t        j                  k(  ret        d      dt	        j                  |j                        dt	        j                  |j                        d|j                  }t!        |       | j"                  j%                          y)z.Callback for the exit state of the transactionz[+] 100%% %s %-*.*s%s
	   ERRORz: 


N)_detachr,   	ANSI_BOLDr#   r   get_exit_string_from_enum
ANSI_RESETsysstderrwriteEXIT_FAILED_get_error_string_from_enum
error_codeget_error_description_from_enumerror_detailsr]   r5   r^   )r6   transenumoutputmsgs        r:   r   zConsoleClient._on_exit   s     	.$$q($$q(//52 F JJV$5$$$'
001A1AB55e6F6FG##	%C
 #J

r<   c                     | j                   r6|r4| j                  s(| j                          d| _        | j	                          y|sd| _        | j                          yy)zXCallback for the terminal-attachabed-changed signal of the
        transaction.
        FTN)r)   r$   _clear_progressr,   _attachr   )r6   r   attacheds      r:   r   z#ConsoleClient._on_terminal_attached   sK     8DNN  ""'DLLN"&DLLN r<   c                 X    t        j                  |      | _        | j                          y)z1Callback for the Status signal of the transactionN)r   get_status_string_from_enumr'   _update_progress)r6   r   statuss      r:   r   zConsoleClient._on_status   s     88@r<   c                 2    || _         | j                          y)z9Callback for the StatusDetails signal of the transaction.N)r-   r   )r6   r   texts      r:   r   z ConsoleClient._on_status_details   s    #r<   c                 Z   |rS|rQt        d      t        j                  |      t        j                  |      t        j                  |      dz  | _        nF|r=t        d      t        j                  |      t        j                  |      dz  | _        nd| _        | j	                          y)z;Callback for the ProgressDetails signal of the transaction.z0Downloaded %(cur)sB of %(total)sB at %(rate)sB/s)curtotalratez!Downloaded %(cur)sB of %(total)sB)r   r   r   N)r   r   get_size_stringr.   r   )r6   r   
items_doneitems_total
bytes_donebytes_totalspeedetas           r:   r   z"ConsoleClient._on_progress_details   s     5DE..z: 00=//688 "
 56..z: 00=?? "
 &(D"r<   c                 2    || _         | j                          y)z3Callback for the Progress signal of the transactionN)r(   r   )r6   r   percents      r:   r   zConsoleClient._on_progress  s    r<   c                    | j                   syt        | j                  z   t        z   }| j                  r|d| j                  z   z  }| j
                  r|d| j
                  z  z  }| j                  dz
  }| j                  dz   t        j                         k  rC| j                  dz   t        | j                        z  | _	        t        j                         | _        | j                  | j                     }| j                  dkD  rd}n| j                  }t        j                  j                  d	|z  d
|z  z   d|||fz  z   dz          y)zUpdate the progress bar.N z (%s)r   g?r   d   ---[%s] %3.3s%% %-*.*s)r,   r   r'   r   r-   r.   r#   r2   r1   r0   lenr/   r(   r   r   r   )r6   r   
text_widthspinnerr   s        r:   r   zConsoleClient._update_progress  s'   ""4<<'*4C$....D!!Gd4444D))A-
c!DIIK/"nnq0C8K8K4LLDN#yy{D%%dnn5==3GmmG

7*#g-.!ZT$BBCEIJ 	Kr<   Nc                 t   t         |z   t        z   }| j                  dz
  }|r]| j                  dz   t	        | j
                        z  | _        t        j                         | _        | j
                  | j                     }nd}|d}t        j                  j                  d|z  d|z  z   d|||fz  z   dz          y	)
z5Update the progress bar with a custom status message.r   r   +r   r   r   r   r   T)r   r   r#   r0   r   r/   r1   r2   r   r   r   )r6   r   r   spinr   r   r   s          r:   _update_custom_progressz%ConsoleClient._update_custom_progress#  s    3+))A-
"nnq0C8K8K4LLDN#yy{D))$..9GG?G

7*#g-.!ZT$BBCEIJ 	K r<   c                 \    | j                    t        j                  | j                          yy)z7Stop the spinner which shows non trans status messages.N)_progress_idr	   r   rn   s    r:   _stop_custom_progressz#ConsoleClient._stop_custom_progress6  s'    (t001 )r<   c                 v    t         j                  j                  d| j                  | j                  dfz         y)z%Clear progress information on stderr.z%-*.*sr   N)r   r   r   r#   rn   s    r:   r   zConsoleClient._clear_progress;  s4    

t';';'+';';'*', , 	-r<   c                     | j                   rB| j                   j                  t        j                  k7  r| j                   j	                          y| j
                  j                          y)zCallback for a cancel signal.N)r3   r   r   STATUS_SETTING_UPcancelr5   r^   r6   signumframes      r:   r   zConsoleClient._on_cancel_signalA  sE    !!((E,C,CC$$&JJOOr<   c                 N    | j                         | _        | j                          y)z%Callback for a changed terminal size.N)r"   r#   r   r   s      r:   r!   z!ConsoleClient._on_terminal_resizeI  s    #779r<   c                     | j                   D ]  }t        j                  |        | j                  r>t	        j
                  t        j                  t        j                  | j                         yy)z.Dettach the controlling terminal to aptdaemon.N)	r$   r	   r   r%   tty	tcsetattrr   STDIN_FILENO	TCSAFLUSH)r6   wids     r:   r   zConsoleClient._detachN  sT    >> 	$Cs#	$MM#**CMM,,. r<   c           	         	 t        j                  t        j                        | _        t        j
                  t        j                         t        j                  t        j                  z  t        j                  z  }| j                  j                  t        j                  t        j                  t        j                  || j                  | j                                | j                  j                  t        j                  | j                   t        j                  || j                  t        j"                               y# t         j                  $ r d| _        Y w xY w)zSAttach the controlling terminal to aptdaemon.
        Based on pty.spwan()
        N)r   	tcgetattrr   r   r%   setrawerrorr	   IO_INIO_ERRIO_HUPr$   r   io_add_watchPRIORITY_HIGH_IDLE_copy_ior   STDOUT_FILENO)r6   flagss     r:   r   zConsoleClient._attachV  s    	&!$s/?/?!@DJJs''( 

T[[(4;;6c.."55u"mmT^^=	> 	dnnd.E.E#T]]C4E4EG	H yy 	&!%D	&s   AE E"!E"c                     |t         j                  k(  r/t        j                  |d      }|rt        j                  ||       yt        j
                  |       y)z(Callback to copy data between terminals.i   TF)r	   r   r   readr   close)r6   source	conditiontargetdatas        r:   r   zConsoleClient._copy_ioh  sA    

"7764(D&
r<   c                     	 t        j                   dt        j                  t        j                  t
        j                  d            d   S # t        $ r Y yw xY w)z7Return the witdh in characters of the current terminal.hz        r   P   )arrayfcntlioctlr   r   termios
TIOCGWINSZIOErrorrn   s    r:   r"   z!ConsoleClient._get_terminal_widthr  sP    	;;sEKK

G<N<N08%: ;;<> > 		s   A	A 	AAc                    | j                          	 |# t        j                  $ r- t        d      dt        d      d|j	                         }Y nTt
        j                  $ r2 t        d      d|j                         d|j	                         }Y n t        |      }Y nxY w| j                  j                          t        j                  |       y)zError callback.zERROR:r   z+You are not allowed to perform this action.r   z - N)r   r   PolicyKitErrorr   get_dbus_messagedbusDBusExceptionget_dbus_namestrr5   r^   r   exit)r6   r   r   s      r:   rH   zConsoleClient._on_exception{  s    	K$$ 	=#$X;#$ &4 $5#(#9#9#;=C !! 	<"#H+u/B/B/D"'"8"8":<C	e*C

s    =B$AB$B$c                      j                  |        j                           j                  j                  t        j
                  t        j                  t        j                  t        j                  t        j                  fv rZt        j                  d j                  t        d             _         j                  j                   j                    fd       yt        j                  d j                  t        d             _         j                  j#                   j$                   j                          y)z,Callback which runs a requested transaction.   Queuingc                  $     j                         S r\   r   rn   s   r:   <lambda>z0ConsoleClient._run_transaction.<locals>.<lambda>  s    d&@&@&B r<   r@   r?   zResolving dependenciesr>   N)r   r   r3   roler   ROLE_UPDATE_CACHEROLE_ADD_VENDOR_KEY_FILE"ROLE_ADD_VENDOR_KEY_FROM_KEYSERVERROLE_REMOVE_VENDOR_KEYROLE_FIX_INCOMPLETE_INSTALLr	   timeout_addr   r   r   r}   rH   simulate_show_changes)r6   r   s   ` r:   rG   zConsoleClient._run_transaction  s
   e$""$!!e&=&=&+&D&D&+&N&N&+&B&B&+&G&G	&I I !% 0 0151M1M129!?D !!"00B " D
 !% 0 0151M1M123K1L!ND &&T5G5G595G5G ' Ir<   c           	      :	     fd} j                           j                           j                  j                  \  }}}}}} j                  j                  \  }}	}
}}}}|j                  |       |j                  |       |j                  |       |j                  |
       |j                  |       |j                  |	       |j                  |       |}|r5t        t        ddt        |            dt        |      iz          ||       |r5t        t        ddt        |            dt        |      iz          ||       |r5t        t        ddt        |            dt        |      iz          ||       |r5t        t        d	d
t        |            dt        |      iz          ||       |r5t        t        ddt        |            dt        |      iz          ||       |r5t        t        ddt        |            dt        |      iz          ||        j                  j                  r>t        t        d      t        j                   j                  j                        z          j                  j                  dkD  r?t        t        d      t        j                   j                  j                        z         nW j                  j                  dk  r>t        t        d      t        j                   j                  j                        z          j                  j                  s" j                  j                  s|s
|s|s|s|s|r	 t        rt        t        d            }nt!        t        d            }t%        j&                  t)        j*                  t(        j,                        |      sj|dk7  ret/        j0                  t.        j2                        } j5                  |d d        j6                  j9                          t;        j<                  d       t?        j@                  d j4                  t        d             _!         j                  jE                   jF                   fd       y # t"        $ r d}Y 	w xY w)Nc                 d   d}| j                          | D ]t  }	 |j                  dd      dd \  }}j                  r
|r|d|}n|}t	        |      dz   t	        |      z   j
                  kD  r|dk7  rt        |       d}|d|z  z  }v |dk7  rt        |       yy# t        $ r |}d}Y |w xY w)zFormat the pkgs in a nice way.r   =r   r   r   Nz %s)sortsplit
ValueErrorr*   r   r#   r]   )pkgsrI   pkgnameversionr   r6   s         r:   show_packagesz2ConsoleClient._show_changes.<locals>.show_packages  s    DIIK '#$'IIc1$5a$:MD' ==W(,g6F!FIMCK/$2F2FF$KD&' s{d  " #D"G#s   BB/.B/z8The following NEW package will be installed (%(count)s):z9The following NEW packages will be installed (%(count)s):countz3The following package will be upgraded (%(count)s):z4The following packages will be upgraded (%(count)s):z2The following package will be REMOVED (%(count)s):z3The following packages will be REMOVED (%(count)s):z5The following package will be DOWNGRADED (%(count)s):z6The following packages will be DOWNGRADED (%(count)s):z6The following package will be reinstalled (%(count)s):z7The following packages will be reinstalled (%(count)s):z5The following package has been kept back (%(count)s):z7The following packages have been kept back (%(count)s):zNeed to get %sB of archives.r   z@After this operation, %sB of additional disk space will be used.zAAfter this operation, %sB of additional disk space will be freed.zDo you want to continue [Y/n]?nr   Fr   r  r  c                  $     j                         S r\   r  rn   s   r:   r  z-ConsoleClient._show_changes.<locals>.<lambda>  s    $"<"<"> r<   r  )$r   r   r3   rx   dependenciesextendr]   r   r   downloadr   r   r   spacePY3Kinput	raw_inputEOFErrorrematchlocalenl_langinfoYESEXPRr   r   EXIT_CANCELLEDr   r5   r^   r   r  r	   r  r   r}   rH   )r6   r  installs
reinstallsremovalspurgesupgrades
downgradesdep_installsdep_reinstallsdep_removals
dep_purgesdep_upgradesdep_downgrades	dep_keptskeptscontr   s   `                 r:   r  zConsoleClient._show_changes  sB   	* 	""$++44	:x)-):):)G)G	'~|ZI%%%
#.).)8 ++M	+ /6s8}-E	F H
 (#8 ++M	+ /6s8}-E	F H
 (#8 ++M	+ /6s8}-E	F H (#8 ++
O	- 18Z/I	J L
 *%8 ++
O	- 18Z/I	J L
 *%8 ++J	( ,3CJ*?	@ B
 % %%!23(():):)C)CDE F""Q&! $ %(():):)@)@AB C $$q(! % &(():):)@)@AB C ##t'8'8'A'AH
h% #C!DED$Q'G%HID HHV//?FBJ55e6J6JK,,S$>

! ,,S-1-I-I-.y\; 	,,> 	 	@  s   !/R RR)TFF)r   r   )NT)'__name__
__module____qualname____doc__r;   rA   rN   rR   rV   rY   rc   re   rm   rp   rr   rt   rw   r{   r}   r   r   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r"   rH   rG   r   r<   r:   r   r   9   s     BG%6F..ID
OG.J
D
FC=
K*,
 
 
 $ 
K0&2
- 
.H$$I0w@r<   r   c                     t        d      } t        t        j                  |       }|j	                  dddddt        d      	       |j	                  dd
dddt        d      	       |j	                  dddddt        d      	       |j	                  ddddddt        d             |j	                  ddddddt        d             |j	                  ddddddt        d             |j	                  dddddd t        d!             |j	                  d"d#dddd$t        d             |j	                  dd%dddd&t        d'             |j	                  dd(dd)t        d*      +       |j	                  dd,dd)t        d-      +       |j	                  dd.dd/t        d0      +       |j	                  dd1dddd2t        d3             |j	                  dd4dddt        d5      6       |j	                  dd7dddt        d8      6       |j	                  dd9dddd:t        d;             |j	                  dd<dddd=t        d>      ?       |j	                  dd@dddAt        dB      	       |j	                  ddCddddDt        dE             |j	                  ddFddGt        dH      +       |j	                  ddIddddJt        dK             |j	                  ddLdMdddNt        dO             |j	                  ddPddQt        dR      +       |j	                  ddSddTdUt        dV      W       |j	                  dXdYddZt        d[      +       |j                         \  }}t        |j                   |j                  |j                  \      }t        j                  d]|j                  t        d^            |_        |j                  r|j                  d_       n|j                   r|j                  dU       n|j"                  r|j%                          n|j&                  r6|j'                  |j&                  j)                         |j*                         n|j,                  r|j-                          nt|j.                  r|j1                          nV|j2                  r|j5                          n8|j6                  r8|j6                  j9                  d`      r|j;                  |j6                         n|j6                  s<|j<                  s0|j>                  s$|j@                  s|jB                  s|jD                  r|jG                  |j6                  j)                         |j<                  j)                         |j>                  j)                         |j@                  j)                         |jB                  j)                         |jD                  j)                                n|jH                  r'|jI                  |jH                  |jJ                         n|jL                  r|jO                  |jL                         n|jP                  r3|jR                  r'|jQ                  |jP                  |jR                         nj|jT                  r|jU                  |jT                         nB|jV                  r|jW                          n%|jY                          t[        j\                  da       |j_                          yb)cz'Run a command line client for aptdaemonziTo operate on more than one package put the package names in quotation marks:
aptdcon --install "foo bar")r  epilogz-cz	--refreshr   
store_truerefreshzRefresh the cache)defaultactiondesthelpz--fix-dependsfix_dependszoTry to resolve broken dependencies. Potentially dangerous operation since it could try to remove many packages.z--fix-installfix_installz1Try to finish a previous incompleted installationz-iz	--installstorestringrf   zInstall the given packages)rF  rG  rB   rH  rI  z--reinstallrg   zReinstall the given packagesz-rz--removerh   zRemove the given packagesz-pz--purgeri   z7Remove the given packages including configuration filesz-uz	--upgraderj   z--downgraderk   zDowngrade the given packagesz--upgrade-systemsafe_upgradez%Deprecated: Please use --safe-upgrade)rG  rH  rI  z--safe-upgradez Upgrade the system in a safe wayz--full-upgradefull_upgradez=Upgrade the system, possibly installing and removing packagesz--add-vendor-keyadd_vendor_keyz"Add the vendor to the trusted onesz--add-vendor-key-from-keyserverz-Add the vendor keyid (also needs --keyserver))rF  rG  rB   rI  z--keyserverz+Use the given keyserver for looking up keysz--add-repositoryrA   z*Add new repository from the given deb-linez--sources-filesources_filezQSpecify an alternative sources.list.d file to which repositories should be added.)rG  rF  rB   rH  rI  z--list-trusted-vendorsrc   zList trusted vendor keysz--remove-vendor-keyrV   z/Remove the trusted key of the given fingerprintz--cleanr{   zRemove downloaded package filesz--reconfigurerw   z]Reconfigure installed packages. Optionally the minimum priority of questions can be specifiedz
--priorityrF  ry   z8The minimum debconf priority of question to be displayedz--hide-terminalhide_terminalz!Do not attach to the apt terminalz--allow-unauthenticatedr8   Fz+Allow packages from unauthenticated sources)rG  rH  rF  rI  z-dz--show-detailsr9   zQShow additional information about the packages. Currently only the version number)r7   r8   r9   r  zWaiting for authenticationTz.debr   N)0r   r   	aptdaemon__version__
add_option
parse_argsr   rR  r8   r9   r	   r  r   r   rN  rt   rO  rE  rr   rw   r  ry   r{   rK  rm   rJ  rp   rf   endswithrY   rg   rh   ri   rj   rk   re   rA   rQ  rP  rN   rR   rT   rV   rc   
print_helpr   r  r}   )rC  parseroptionsargscons        r:   r   r     s     F )"7"7GF
dK)	01  3 b/2) < =  >
 b/2) , -  . dK$8)9:  < b-$8+;<  > dJ$8(89  ; dIr$8' 3 4  5 dK$8)9:  < b-$8+;<  > b,) . /  0 b*)?@  B b*) 1 2  3 b,b$8:JAB  D b;R$8 , -  . b-$8 $ %  & b,b$8:J ( )  * b*7B#. C D  E b2B)0J78  : b/$8:M + ,  - b))>?  A b/2$8- ) *  +
 b,	$8* , -  . b+)@A  C b3)0G# ' (  )
 d,)	 A B  C '')OWd
'*?*?&?.5.K.K '1C ''S-H-H()*F(GIC4 			5!				++113W5E5EF						""$			 	W__55f=)
//W..'..
--7??g.?.?GOO113#--335#NN002#MM//1#OO113#--335	7 
		71173G3GH			$$W%;%;<		.	.73D3D))11	 
	"	"g778		)	)$$&GGIr<   __main__)*r@  
__author____all__r   r   r   r   r   r*  optparser   r   r   r(  r   r1   r   r   r   aptsources.sourceslistr   gi.repositoryr	   dbus.mainloop.glibr   mainloopglibDBusGMainLooprS  r   r   r   r   chrr   r   version_infomajorr$  r   r   r=  rA  r<   r:   <module>rj     s   * 5

#       ! 	 
 	   
  
 .            5    GeO	Wu_

!c@ c@LQf zF r<   