4eFddlZdZ ejddddlmZdZddlm Z dd lm Z dd lm Z dd lm Z dd lm Z ddlZddlZddlZddlZddlZddlZddlZddlZddlZd dlmZmZd dlmZmZmZmZd dlmZd dl m!Z"d dl#m$Z$ddl%Z%d dl&m%Z'GddejPjRjTZ+GddejPjRjXZ-GddeZ.GddeZ/Gdde0Z1Gdde0Z2Gd d!ee$Z3e4d"k(r3e3Z5e.e5Z6e/e5Z7e5jqjsgd#e jtejvdejxZ=ej|d dD]8Z?e=e?jre=e?j&e=e?j:e=je6e7e jte7jd$d%e5jqjsgd#e5jd&d'd(e5jd)gd*yy#e$rBejddddlmZej jej _Y|wxYw)+NFVtez2.91)rTz2.90)Gtk)Gdk)GLib)GObject)Pango) run_apport apport_crash)DistUpgradeViewFuzzyTimeToStrInstallProgressAcquireProgress)DistUpgradeConfig)get)SimpleGtkbuilderApp)gettextc(eZdZdZdZdZdZdZy)GtkCdromProgressAdapterzi Report the cdrom add progress Subclass this class to implement cdrom add progress reporting cV|j|_|j|_||_yN) label_statusstatusprogressbar_cacheprogressparentselfrs A/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeViewGtk3.py__init__z GtkCdromProgressAdapter.__init__Ds#)) 00  c0|r|jj||jj|jt |j z tjr*tjtjr)yy)z; update is called regularly so that the gui can be redrawn N) rset_textr set_fractionvaluefloat totalStepsrevents_pendingmain_iteration)rtextsteps rupdatezGtkCdromProgressAdapter.updateHsa  KK  & ""4::eDOO.D#DE  "      "r!cy)N)Frs rask_cdrom_namez&GtkCdromProgressAdapter.ask_cdrom_nameOsr!cy)NFr/r0s r change_cdromz$GtkCdromProgressAdapter.change_cdromQsr!N)__name__ __module__ __qualname____doc__r r,r1r3r/r!rrr@s!r!rc,eZdZdZdfd ZdZxZS) GtkOpProgressc ||_d|_y)N) progressbarfraction)rr<s rr zGtkOpProgress.__init__Vs& r!cTtt| ||jdz }t |j |z dkDr,||_|j j|j tjr*tjtjr)yy)NY@皙?) superr9r,percentabsr=r<r$rr(r))rrB new_fraction __class__s rr,zGtkOpProgress.update\s} mT)'2 ||E) t}}\) *S 0(DM    ) )$-- 8  "      "r!c:|jjdy)N )r<r#r0s rdonezGtkOpProgress.doneis !!#&r!r)r4r5r6r r,rH __classcell__rEs@rr9r9Us !'r!r9cDeZdZfdZdZdZfdZdZfdZxZ S)GtkAcquireProgressAdapterctt| |j|_|j |_||_d|_|j|_ |jjd|jy)NFclicked) rArLr rrrrrcanceledbutton_fetch_cancel button_cancelconnect cancelClicked)rrrEs rr z"GtkAcquireProgressAdapter.__init__qsc '79)) 00   #77 ""9d.@.@Ar!c<tjdd|_y)NrST)loggingdebugrO)rwidgets rrSz'GtkAcquireProgressAdapter.cancelClickedzs o& r!ctd||fz}tj|jjtj j tjjtjj}|j||j}|jd|j|tjj k(ryy)Nz&Please insert '%s' into the drive '%s'rflagstypebuttonsr.TF)_r MessageDialogr window_main DialogFlagsMODAL MessageTypeQUESTION ButtonsType OK_CANCEL set_markuprun set_titledestroy ResponseTypeOK)rmediumdrivemsgdialogress r media_changez&GtkAcquireProgressAdapter.media_change}s89VENJ""$++*A*A),)>)>(+(@(@+.??+D+DF #jjl #""%% %r!ctt| |jj d|j j |jj y)Nr)rArLstartrr$rshowrQ)rrEs rrszGtkAcquireProgressAdapter.startsE '46 ""1%  !r!c|jjd|jjtd|jj y)NrGzFetching is complete)rr#rr]rQhider0s rstopzGtkAcquireProgressAdapter.stops> s# Q567 !r!c tt| |t|j|j j dzz dkDrp|j j|jdz |jdz}||jkDr |j}|jdkDrtj|j}t|tr#|jt!j"}|j$j't)d||j|fz|j j't)dt+|j,znN|j$j't)d||jfz|j j'dt/j0r)t/j2t/j0r)|j4 S) Nr?r@r rz!Fetching file %li of %li at %sB/sAbout %s remainingzFetching file %li of %liz )rArLpulserCrBr get_fractionr$ current_items total_items current_cpsapt_pkg size_to_str isinstancebytesdecodelocalegetpreferredencodingrr#r]r etarr(r)rO)rowner currentItemr~rEs rrzzGtkAcquireProgressAdapter.pulses '4U; t||DMM668>> ?# E MM & &t||E'9 :,,q0KT---".. !#%11$2B2BC k51"-"4"4335#7K $$Q'J%K!1!1;O@&@A &&q)='>HHB( $$Q'A%B!1!1F3&34 &&t,  "      "MM!"r!) r4r5r6r rSrqrsrwrzrIrJs@rrLrLms'B " " ##r!rLcTeZdZdZdZdZdZdZdZdZ dZ dd Z d Z d Z d Zy )GtkInstallProgressAdapteri,c^tj|d|_|j|_|j|_|j |_|j|_ |jjd|j||_ tjjddy)N child-exitedzDPkg::StopOnErrorFalse)rr _cacherrrexpander_terminalexpander_termtermrR child_exitedrrconfigsetrs rr z"GtkInstallProgressAdapter.__init__s  & "//00 00 LL  .$*;*;<  .w7r!cLtj|d|_|jj t d|j jd|j j d|jjd|jj|jjd|jtjj!dxsd}|dk(rP|j"rDd |j"vs|j"d j$sd }|jj'dd |j(zd g|_dtjvr|j*j-d |zd|_d|_d|_y)NFzApplying changesr;rGTzcontents-changedDEBIAN_FRONTENDgnomez libgtk3-perlrozVTE_PTY_KEEP_FD=%szAPT_LISTCHANGES_FRONTEND=nonezDEBIAN_FRONTEND=%s)r start_updatefinishedrr#r]rr$r set_sensitiverrtrR_on_term_content_changedosenvironrr is_installed set_expandedwritefdenvappend start_timetime_ui last_activity)rfrontends rrz&GtkInstallProgressAdapter.start_updates=$$T*  ""1%7#89 ""3' s# ##D)  ,d.K.KL**..!23>w w 4;;"dkk1KK/<<# **40($,,635 BJJ . HHOO08; <  r!ctj|||tjd|d|dtjdd|vry|j j j|j jtd|z}td|z}d |d |}|j j j|j j jd |j j jjtjj |j j"j%||j j&j)j+||j j,j/|j j j1|j j j3y) Nz!got an error from dpkg for pkg: 'z': ''dpkgz*dependency problems - leaving unconfiguredFzCould not install '%s'zThe upgrade will continue but the '%s' package may not be in a working state. Please consider submitting a bug report about it. r.)rerrorrUrdgettextr dialog_errorset_transient_forr_r]realizerh get_window set_functionsr WMFunctionMOVE label_errorrftextview_error get_bufferr# scroll_errorrtrgrv)rpkgerrormsgsummaryrnmarkups rrzGtkInstallProgressAdapter.errorsjdC2 c8TU   F$P QU] ]   224;;3J3JK,-3'(*-.07<   ((*   **2.   ++-;;CNNz r.z .dpkg-distz /usr/bin/diffz-u)stdoutrzUTF-8replacez The 'diff' command was not foundzy zn zutf-8)rUrVtimer]rlabel_conffilerfdialog_conffilerhrr_rpathexists subprocessPopenPIPE communicatertextview_conffilerr#rgrvrrrjYESr feed_childencode) rcurrentnewrsprimsecrcmddiffrpresponses rconffilez"GtkInstallProgressAdapter.conffiles FPQ CDwN#$OSTWX ""--f5 ##--b1 ##55dkk6M6MNww~~g&l*G 77>>/ *"D'37C##JOO--8[]1>D;;w 2D KK ) ) 4 4 6 ? ? E KK ) ) 4 4 6 ? ?Bd@e fkk))--/ ##((*  e++ #""&& &HH / II !9 : / II 2 .s '*JJ2ctjjtjj}t j }|dk(r]|jD])}|jd\}}|t j|<+|jdt jd<|S|jj||jj||S)Nr=1DPKG_UNTRANSLATED_MESSAGES)rPtynew_syncPtyFlagsDEFAULTrforkrsplitr child_setuprset_pty watch_child)rptypidrkeyr%s rrzGtkInstallProgressAdapter.forksggs||334ggi !8xx ("yy~ e"' 3 ( OO 8;BJJ3 4  II  c " II ! !# & r!cDtj|_d|_y)z helper function that is called when the terminal changed to ensure that we have a accurate idea when something hangs FN)rractivity_timeout_reported)rrs rrz2GtkInstallProgressAdapter._on_term_content_changed.s"YY[).&r!cP|jdk(rtj|_t||jj dzz dkDrP|jj t |dz |jj|j|dkDr|j|jz }||jz}t ||z }d|z |z}|dkDr6|dkr1|jjtdt|zn|jjd|jjrR|jjj!d d k(r)|jjj#d |zyyyy) Nr;r?r@?gN@iryrGz load-statuszprogress("%s"))rrrCrr{r$r&rr#striprrr]r r _webkit_view get_propertyexecute_script)rrrBrdeltatime_per_percentrs r status_changez'GtkInstallProgressAdapter.status_change5sV ??c !"iikDO wt}}113E99 :S @ MM & &uW~e'; <    & &v||~ 6 S=&&8E T\\ !E %e W 4 7?&66CTzcZ0 &&q)='>PSAT'TU &&s+ (( ((55mDI ((778H78RSJ) r!Nc^||j|_d|_y||_d|_yNT)get_child_exit_status apt_statusr)rrrs rrz&GtkInstallProgressAdapter.child_exitedOs0 >"88:DO  &DO r!cl|js|j|js|jSr)rupdate_interfacerr0s r wait_childz$GtkInstallProgressAdapter.wait_childXs(--  ! ! #--r!c:|jjdy)Nr.rr#r0s r finish_updatez'GtkInstallProgressAdapter.finish_update]s ""2&r!ctj||jdk(r/|jj t j d|jdkDr|j|jzt j krv|jsEtjd|jd|jjdd|_ |jjj!dt#j$r)t#j&t#j$r)t j dy) Nr;g?rzno activity on terminal for z seconds ()Tg{Gz?)rrrrrzrsleeprTIMEOUT_TERMINAL_ACTIVITYrrUwarningrget_textrrrrr(r)r0s rrz*GtkInstallProgressAdapter.update_interface`s((. ??c ! MM   ! JJsO    !   !?!? ?499; N11QUQoQoqurCrCrLrLrN!OP15. KK ) ) 6 6t <  "      " 4r!r)r4r5r6rr rrrrrrrrrrr/r!rrrsC!$ 8!8(.%/N$/T4 'r!rceZdZdZddZy)DistUpgradeVteTerminalc ||_||_yr)rr)rrrs rr zDistUpgradeVteTerminal.__init__ts  r!c *trfd}nfd}jjjjd|jj j d|dk(r%jj jdd_tr>jjtjjd|ddddd\}}n<jjtjjd|dddd\}}|r|dkryjs_tjr)tj tjr)t#j$djs_`y) Ncd_yrr)terminalrrs rwait_for_childz3DistUpgradeVteTerminal.call..wait_for_childy " r!cd_yrr)rWrs rr z3DistUpgradeVteTerminal.call..wait_for_child}r r!rTF/rr@)vte291rrtrRrrrrr spawn_syncrrrfork_command_fullrr(r)rr)rrhiddenr successrs` rcallzDistUpgradeVteTerminal.callws>  # #  ..9 %%33D9 5= KK ) ) 6 6t < !YY11 $$ NWc"YY88 $$NWc#' --$$&""$$$& JJsO-- Mr!NF)r4r5r6r rr/r!rrrss +r!rc0eZdZdZdZdZdZdZdZy)HtmlViewc||_yr)r)r webkit_views rr zHtmlView.__init__s 'r!cV|jsy ddlm}|sJ|jj||jj d|j y#t $rD|jj||jj d|jYywxYw)NrWebKit2z load-changedz load-finished) r gi.repositoryrload_urirR_on_load_changed ImportErroropen_on_load_finished)rurlrs rr z HtmlView.opens   O -N7    & &s +    % %nd6K6K L O    " "3 '    % %ot7M7M N OsA AA B('B(c8|jjyr)rrtr0s rrtz HtmlView.show  r!c8|jjyr)rrvr0s rrvz HtmlView.hider$r!c$|jyr)rt)rviewframes rr!zHtmlView._on_load_finisheds  r!cdddlm}||jjk(r|j yy)Nrr)rr LoadEvent LOAD_FINISHEDrt)rr'eventdatars rrzHtmlView._on_load_changeds') G%%33 3 IIK 4r!N) r4r5r6r r rtrvr!rr/r!rrrs!( O!!r!rceZdZdZddZdZdZdZdZdZ dZ d Z d Z d Z d Zd ZdZdZfdZddZddZ ddZddZddZdZdZddZdZxZS) DistUpgradeViewGtk3z& gtk frontend of the distUpgrade tool c: tj|_|r|dk(ritjj tj d}tj }ttj _n2d}tjj |d}t|_tjtjtjd tj d|t#j$dt-j|dzdtj.j1} j2j5|j7d d d jj?d d}tAjBjE|}jFjI} | jKd|} jFjM| jOd_(tj.j1_)d_*j2jWj2jYj[t\j^j`tcjd_3ti_5tm_7tq_9tjtt8jv_<tjzd} tj|} | j| d| j| dd jj| jxjd tjjjjjxjjdfd} jjd| jt_Ly#t&$r#}t)j*d|zYd}~4d}~wwxYw#t8j:$r#}t)j<d |zYd}~d}~wwxYw)N.moz/usr/share/locale/ gtkbuilderGTKzubuntu-release-upgraderzError setting locales (%s)z/DistUpgrade.uizsystem-software-update rz)error setting default icon, ignoring (%s)SourcesTo%sr.TrFcrjj}jj| yr)expander_details get_expandeddialog_changes set_resizable)wexpandedrs r _activatedz0DistUpgradeViewGtk3.__init__.._activateds-,,99;H    - -(l ;r!activate)Mr r logdirrrjoingetcwdrrr init_checksysargv get_telemetryset_updater_typerbindtextdomainr textdomain ExceptionrUrr IconTheme get_defaultr_set_default_icon load_iconrGErrorrVr distro_infoUbuntuDistroInfoversion label_title get_labelr set_labelcreate_terminal prev_step iconthemerrrrrrrr9r_opCacheProgressrL_acquireProgressr_cdromProgressr_installProgress TreeStore TYPE_STRING details_listTreeViewColumnCellRendererText pack_start add_attributetreeview_details append_columnset_sort_column_idSortType ASCENDING set_modelr<r=r:rR_handleException excepthook) rdatadirrB localedirgladedireiconsto_dist to_version title_stringcolumnrenderr@s ` rr zDistUpgradeViewGtk3.__init__sf  & 'S.ggll299;t4IYY[H+BIIK8DK*IWW\\'<8H+G4DK sxx ((/ >  ! !";I F   8 9 $$T%-.?%?%> @ ))+     - -eoo>VXZ\].^ _ ++//)T2 113;;GD ''113 #++D*=  ""<0 224    " ##%33CNN4G4GH -d.D.D E 9$ ?5d; 9$ ?MM'*=*=>##B'%%'&$'VXq1 ++F3 ,,Q 0F0FG ''(9(9: ))%0 < %%j*=..w > OO81< = = >~~  MMEI J  s0=+P5!,Q$5 Q!>QQ!$R7RRc@ddl}|j|||}tjddj |zt |||t s4|jtdtddj |tjdy)Nrznot handled exception: %s zA fatal error occurredzPlease report this as a bug (if you haven't already) and include the files /var/log/dist-upgrade/main.log and /var/log/dist-upgrade/apt.log in your report. The upgrade has aborted. Your original sources.list was saved in /etc/apt/sources.list.distUpgrade.r ) tracebackformat_exceptionrUrrCr r r]rFexit)rr[r%tbrzliness rrlz$DistUpgradeViewGtk3._handleExceptions **4; 2TYYu5EEF T5"%| JJq12>? yy' )  r!c.t||jSr)rrr0s r getTerminalzDistUpgradeViewGtk3.getTerminal(s%dDJJ77r!c|jq ddlm}|j |_|jj }|jdd|jj|jdddt|jS#t$r ddlm}YwxYw#tjdtjcYSxYw)Nrr)WebKitzenable-pluginsFTz html widget)rrrrrWebView get_settings set_property vbox_mainpack_endrU exceptionr SampleHtmlViewr)rrsettingss r getHtmlViewzDistUpgradeViewGtk3.getHtmlView*s    $ 85?%+NN$4!,,99;%%&6>''(9(94qI))**#545  8!!-0&5577s)BA)B(B%"B($B%%B((+Cct|jdk(rYt|jdk(rAtd}td}|j ||}t j d|| Sy)Nr zCtrl-c pressedzkThis will abort the operation and may leave the system in a broken state. Are you sure you want to do that?z5ctrl-c press detected, user decided to pass it on: %sF)lenstringordr]askYesNoQuestionrUr)rrWkeyevrrnrps r_key_press_handlerz&DistUpgradeViewGtk3._key_press_handler:so u||  !c%,,&71&<()GKLC''5C OO%&) +7Nr!ctjj|_t |jds%|jj |j_|jjd|jtjd}|jj|g|_ |jj|jddd|jjt!j"|_|j$j'|jj|j$ddd|j$j)|jj+ t-t.j0j3|j4dd|_|jS#t8$r#t:j<|_Y|jSwxYw)z! helper to create a vte terminal rzkey-press-eventz monospace 10Trzterm.logr>)rTerminalrrhasattrset_pty_objectrrRrrfont_description_from_stringset_font_terminal_lines hbox_customrdrr VScrollbarvscrollbar_terminalrtset_adjustmentget_vadjustmentr rrrCrB _terminal_logrLrFr)rfontdescs rrXz#DistUpgradeViewGtk3.create_terminalFsi\\%%' tzz9-!%!:!:DJJ  ,d.E.EF55nE H%! ##DJJdA> #&>>#3    %%' ##D$<$=G>c|jSr)r\r0s rgetAcquireProgressz&DistUpgradeViewGtk3.getAcquireProgress_$$$r!c<||j_|jSr)r^r)rcaches rgetInstallProgressz&DistUpgradeViewGtk3.getInstallProgressas',$$$$r!c|jSr)r[r0s rgetOpCacheProgressz&DistUpgradeViewGtk3.getOpCacheProgressdrr!c|jSr)r]r0s rgetCdromProgressz$DistUpgradeViewGtk3.getCdromProgressfs"""r!c@|jjd|zy)Nr8r)rrns r updateStatusz DistUpgradeViewGtk3.updateStatushs ""4#:.r!ct|d|jz}t|d|jz}|j|jyN image_step%i label_step%i)getattrr%rvrr+imagelabels rhideStepzDistUpgradeViewGtk3.hideStepjs>^djj89^djj89  r!ct|d|jz}t|d|jz}|j|jyr)rr%rtrs rshowStepzDistUpgradeViewGtk3.showStepps>^djj89^djj89  r!c:tjj}|j}|rst |d|j z}t |d|j z}|j tj||j|jyy)Nr arrow_step%i) rIconSizeMENUrYrr%set_from_stock STOCK_CANCELrtrv)rsizer+rarrows rabortzDistUpgradeViewGtk3.abortust||  ~~ D$**!<=ED$**!<=E  !1!14 8 JJL JJL r!c|tt| ||jj rt j dtjj}tj}|jrt|d|jjz}t|d|jjz}t|d|jjz}|jd||j!tj"||j%|j'||_ t|d|jz}t|d|jz}t|d|jz}|j)dsy|j%|j'y)Nzicon theme changed, re-readingrrr attributesvisible)rAr/setSteprZrescan_if_neededrUrVrrrrAttrListrYrr%rr STOCK_APPLYrtrvr)rr+rattrlistrrrrEs rrzDistUpgradeViewGtk3.setStep~sB !406 >> * * , MM: ;||  ! >>D$..2F2F!FGED$..2F2F!FGED$..2F2F!FGE   |H 5  $ 7 JJL JJL^djj89^djj89^djj89!!),   r!c.|jjd|jj|jd|d|}|jj ||dk7rF|j j}|j||jjn|jj|jj|jjjtj j"|jj%|jjt'j(r*t'j*t'j(r)yy)Nr.rr)dialog_informationrhrr_label_informationrftextview_informationrr#scroll_informationrtrvrrrrrrrgrr(r)rrrn extended_msgbuffers r informationzDistUpgradeViewGtk3.informations ))"- 11$2B2BC.5c: ))#. 4 ..99;F OOL )  # # ( ( *  # # ( ( * '') **,::3>>;N;NO ##% $$&  "      "r!c|jjd|jj|jd|d|}|jj ||dk7rF|j j}|j||jjn|jj|jj|jjjtj j"|jj%|jjy)Nr.rrF)rrhrr_rrfrrr#rrtrvrrrrrrrgrs rrzDistUpgradeViewGtk3.errors ##B' ++D,<,<=,3S 9 ##C( 4 ((335F OOL )    " " $    " " $ !!# $$&44S^^5H5HI   r!c^tj|||||sy|xjdtdzz c_|dk7rr|jj d|jj d|jj|d|jj|d|jjd|z|jj|j|jjtd|jftd |jftd |j ftd |j"ftd |j$ftd |j&ffD]\}}|s |jj)d|t+|zg} |D]W} |jj)| d| j,dt/j0t3| j4ddgY|j6j9|j6j;|j<|j6j?d|j6jAjCtDjFjHtDjFjJz|j6jM} |j6jO| tPjRjTk(ryy)NFz %sz?To prevent data loss close all open applications and documents.Trr z%sz%No longer supported by Canonical (%s)zDowngrade (%s)z Remove (%s)zNo longer needed (%s)z Install (%s)z Upgrade (%s)zz - rr.)+r confirmChangesconfirmChangesMessager]button_cancel_changes set_use_stockset_use_underlinerWbutton_confirm_changes label_summaryrf label_changesraclear demotions toDowngradetoRemove toRemoveAuto toInstall toUpgraderrnamermarkup_escape_textr candidater<rrr_rhrrrrrRESIZErgrvrrjr) rrchangesr downloadSizeactions removal_bold parent_textranoderrps rrz"DistUpgradeViewGtk3.confirmChangess--dGW.7G "" , -(- -" d?  & & 4 4U ;  & & 8 8 >  & & 0 0 <  ' ' 1 1'!* = %%&.>? %%b) &&(66s~~7J7J141F1F8G H!!%%'   " #""&& &r!cZd|d|}tj|jtjjtj j tjj}|jd|dk(r*|jtjjn)|jtjj|j||j}|j!|tjjk(ryy)NrrrYr.NoTF)rr^r_r`rarbrcrdYES_NOrhset_default_responserjNOrrfrgrirrrndefaultrorps rrz$DistUpgradeViewGtk3.askYesNoQuestions.5c:""$*:*:),)>)>(+(@(@+.??+A+AC  d?  ' '(8(8(;(; <  ' '(8(8(<(< =#jjl #""&& &r!c |rd|d|}tj|jtjjtj j tjj}|jd|j||jtdtjjtdtjj|dk(r*|j!tjjn)|j!tjj|j#}|j%|tjjk(ryy) NrrrYr.CancelContinueTF)rr^r_r`rarbWARNINGrdNONErhrf add_buttonsr]rjCANCELACCEPTrrgrirs raskCancelContinueQuestionz-DistUpgradeViewGtk3.askCancelContinueQuestions 29#>C""$*:*:),)>)>(+(?(?+.??+?+?A #1X;(8(8(?(?Z=#*:*:*A*A C h   ' '(8(8(?(? @  ' '(8(8(?(? @jjl #"")) )r!c|jj|j|jjd|jj |jj j tjj|jj}|jj|tjjk(ryy)Nr.TF)dialog_restartrr_rhrrrrrrrgrvrrjr)rrps rconfirmRestartz"DistUpgradeViewGtk3.confirmRestarts --d.>.>? %%b) ##% &&(66s~~7J7JK!!%%'   " #""&& &r!ctjr*tjtjr)yyr)rr(r)r0s r processEventsz!DistUpgradeViewGtk3.processEvents%s(  "      "r!ct|jj|r|jjdyy)Nr)rrzr$)rrs r pulseProgressz!DistUpgradeViewGtk3.pulseProgress)s0 $$&   " " / / 4 r!c|jj|j|jjd|jj |jj j tjj|jj}|jj|tjjk(rtj dy)Nr.r T) dialog_cancelrr_rhrrrrrrrgrvrrjrrFr|)rrWr,rps ron_window_main_delete_eventz/DistUpgradeViewGtk3.on_window_main_delete_event.s ,,T-=-=> $$R( ""$ %%'55cnn6I6IJ  $$& ! #"")) ) HHQKr!)NNrr)r)rr)r4r5r6r7r rlrrrrXrrrrrrrrrrrrrrrrrrrIrJs@rr/r/s,O/b,8+ 2%%%#/  <!$&37.`$0 !5 r!r/__main__)z /usr/bin/dpkgz --configurez-aTODOzTODO~shortlongaasfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended asfds afsdj af asdf asdf asf dsa fadsf asdf as fasf sextended xxd)Ggirrequire_versionrrrLrrrrrrrrrFrrUrraptrrRrDistUpgradeApportr r r r rrDistUpgradeConfigParserr telemetryrrHSimpleGtk3builderApprrDistUpgradeGettextr]rbase CdromProgressr OpProgressr9rLrobjectrrr/r4r'fpiprrmainr|CacherrGrr mark_delete mark_installcommitrrrr/r!rr!sL,  #Buf%! F!    7^^6+5,cll//==*'CLL%%00'0@#@#F@@F/V/dv4x/*=xv  z  D "4 (B "4 (B@A CHHJ CHHQK CIIKExx|& : " " #J " " $ #J # # % &  LLB CHHJKKw@AJJwvQ R%A{#Buf%"ww{{CGG #sIAJ J