+
    ">ºjÁ%  ã                   ó    € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H	t
 ^ RIHt ^ RIHt ^RIHt ^RIHt  ! R R]4      tR# )	é    N)Úgettext)Úurlopen)Ú	HTTPError)Úget_dist)Úreadlinec                   ó’   a € ] tR t^(t o RtRtRtR]P                  9   t	R t
R tR tR tR	 tR
 tR tR tR tR tR tR tRtV tR# )ÚDistUpgradeFetcherCorez1base class (without GUI) for the upgrade fetcher z http://archive.ubuntu.com/ubuntuÚmainÚDEBUG_UPDATE_MANAGERc                óJ   € Wn         \        4       V n        W n        . V n        R # )N)Únew_distr   Úcurrent_dist_nameÚ	_progressÚrun_options)Úselfr   Úprogresss   &&&ÚD/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeFetcherCore.pyÚ__init__ÚDistUpgradeFetcherCore.__init__/   s   € Ø ŒÜ!)£ˆÔØ!ŒàˆÖó    c                óz   € V P                   '       d)   \        P                  P                  VR,           4       R# R# )z!helper to show debug information Ú
N)ÚDEBUGÚsysÚstderrÚwrite)r   Úmsgs   &&r   Ú_debugÚDistUpgradeFetcherCore._debug6   s&   € à�:�:ˆ:Ü�J‰J×Ñ˜S 4�ZÖ(ñ r   c                ó  € R V P                   9   d   R# V P                  P                  e„   V P                  P                  p\        P                  ! 4       p \        P
                  ! ^4       \        V4      pVP                  4       P                  RR4      p\        P
                  ! T4       \        4        \        X4       \        \        R	4      R
R7       \        4       pVP                  4       P!                  4       P#                  \        R4      4      '       d   R# R#   \         d)    T P                  \        R4      \        R4      4        R# \         d)    T P                  \        R4      \        R4      4        R# i ; i)z(--frontend=DistUpgradeViewNonInteractiveTzUTF-8Úreplacez'Could not find the release announcementzThe server may be overloaded.Fz+Could not download the release announcementz&Please check your internet connection.zContinue [yN] Ú )ÚendÚy)r   r   ÚreleaseNotesURIÚsocketÚgetdefaulttimeoutÚsetdefaulttimeoutr   ÚreadÚdecoder   ÚerrorÚ_ÚIOErrorÚprintr   ÚstripÚlowerÚ
startswith)r   ÚuriÚtimeoutÚrelease_notesÚnotesÚress   &     r   ÚshowReleaseNotesÚ'DistUpgradeFetcherCore.showReleaseNotes;   s.  € Ø5¸×9IÑ9IÔIÙØ�=‰=×(Ñ(Ò4Ø—-‘-×/Ñ/ˆCÜ×.Ò.Ó0ˆGðÜ×(Ò(¨Ô+Ü '¨£�Ø%×*Ñ*Ó,×3Ñ3°G¸YÓG�ô ×$Ò$ WÔ-ÜŒÜˆeŒÜŒaÐ Ó! rÕ*Ü‹jˆØ�9‰9‹;×ÑÓ×)Ñ)¬!¨C«&×1Ò1ÙÙøô ô Ø—
‘
œ1ÐFÓGÜÐ<Ó=ô?âÜô Ø—
‘
œ1ÐJÓKÜÐEÓFôHâðús   ÁAD$ Ä$/FÅFÅ%FÆFc                ó2   € \        V4       \        V4       R# )zlminimal implementation for error display, should be overwriten
by subclasses that want to more fancy method
F)r.   )r   ÚsummaryÚmessages   &&&r   r+   ÚDistUpgradeFetcherCore.errorV   s   € ô 	ˆgŒÜˆgŒÙr   c           	     óP  € V P                   P                  '       Ed	   V P                  R ,           \        P                  P                  V P                   P                  4      ,           pV P                  R ,           \        P                  P                  V P                   P                  4      ,           p\        \        R4      R\        P                  P                  V4      R\        P                  P                  V4      /,          4       V P                  W4      '       d   R# R# )Ú/z0authenticate '%(file)s' against '%(signature)s' ÚfileÚ	signatureTF)
r   ÚupgradeToolSigÚtmpdirÚosÚpathÚbasenameÚupgradeToolr.   r,   Úgpgauthenticate)r   ÚfÚsigs   &  r   ÚauthenticateÚ#DistUpgradeFetcherCore.authenticate^   sË   € Ø�=‰=×'×'Ñ'Ø—‘˜cÕ!¤B§G¡G×$4Ñ$4°T·]±]×5NÑ5NÓ$OÕOˆAØ—+‘+ Õ#¤b§g¡g×&6Ñ&6Ø—‘×,Ñ,ó'.õ .ˆCä”!ÐFÓGØœŸ™×(Ñ(¨Ó+ØœRŸW™W×-Ñ-¨cÓ2ðK4õ 4ô 5ð ×#Ñ# A×+Ò+ÙÙr   c                óf   € RRRVV.p\         P                  ! V\         P                  R7      pV^ 8H  # )z.authenticate a file against a given signature z/usr/bin/gpgvz	--keyringz./usr/share/keyrings/ubuntu-archive-keyring.gpg)r   )Ú
subprocessÚcallÚPIPE)r   r?   r@   ÚgpgÚrets   &&&  r   rG   Ú&DistUpgradeFetcherCore.gpgauthenticatej   s9   € ð ØÐIØØð	
ˆô �oŠo˜c¬*¯/©/Ô:ˆØ�a‰xˆr   c                óè  € \         P                  P                  V P                  \         P                  P	                  V P
                  4      4      p\        \        R 4      \         P                  P	                  V4      ,          4       \         P                  P                  V4      '       g   R#  \        P                  ! V P                  R,           \         P                  P	                  V P
                  4      ,           R4      pV F  pVP                  V4       K  	  VP                  4        R#   \        P                   d)   p\        P                  ! RT,          4        Rp?R# Rp?ii ; i)zextracting '%s'Fr>   Úrzfailed to open tarfile (%s)NT)rC   rD   ÚjoinrB   rE   r2   r.   r,   ÚexistsÚtarfileÚopenÚextractÚcloseÚ	ReadErrorÚloggingr+   )r   ÚfnameÚtarÚtarinfoÚes   &    r   ÚextractDistUpgraderÚ*DistUpgradeFetcherCore.extractDistUpgraderv   só   € ä—‘—‘˜TŸ[™[¬"¯'©'×*:Ñ*:¸4¿8¹8Ó*DÓEˆÜŒaÐ!Ó"¤R§W¡W×%5Ñ%5°eÓ%<Õ<Ô=Ü�w‰w�~‰~˜e×$Ò$Ùð	Ü—,’,˜tŸ{™{¨SÕ0Ü!Ÿw™w×/Ñ/°·±Ó9õ :Ø;>ó@ˆCã�Ø—‘˜GÖ$ñ à�I‰IŒKñ øô × Ñ ô 	Ü�MŠMÐ7¸!Õ;Ô<Ýûð	ús   Â2B D4 Ä4E1Å	E,Å,E1c                ó"  € V P                   : R V P                  P                  : 2;V n        p\        P
                  P                  V4      '       g<   V P                  \        R4      \        R4      R,           \        R4      ,           4      # R# )r>   zCould not run the upgrade toolz.  z…This is most likely a bug in the upgrade tool. Please report it as a bug using the command 'ubuntu-bug ubuntu-release-upgrader-core'.T)	rB   r   ÚnameÚscriptrC   rD   rV   r+   r,   )r   re   s   & r   ÚverifyDistUpgraderÚ)DistUpgradeFetcherCore.verifyDistUpgrader‡   sy   € ð
 +/¯+¬+°t·}±}×7IÓ7IÐJÐJˆŒ�fÜ�w‰w�~‰~˜f×%Ò%Ø—:‘:œaÐ @ÓAÜÐ @ÓAÀEÕIÜð !Aó BõBóCð Cñ r   c                ó  € \         P                  ! RR7      pWn        \        P                  ! V4       \
        P                  ! RV,          4       V P                  ^ 8”  dA   \        P                  P                  RR4       \        P                  P                  RR4       \        P                  ! V P                  4      pV P                  P                  e;   V P                  P                  p\        P                  ! VV\!        R4      R7      pV V P                  P"                  Eea   V P                  P"                  V n        \        P                  ! VV P$                  \!        R	4      R7      pV VP'                  4       pWbP(                  8w  d    \
        P*                  ! R
V,          4       R# \        P,                  P/                  V P                  P                  4      \        P,                  P/                  V P                  P"                  4      3 Fl  p\        P,                  P1                  V4      '       d'   \        P,                  P3                  V4      ^ 8”  d   KN  \
        P*                  ! RV,          4        R# 	  R# R# )z-download the tarball with the upgrade script zubuntu-release-upgrader-)Úprefixzusing tmpdir: '%s'zDebug::Acquire::httpÚ1zDebug::Acquire::ftpzUpgrade tool signature)ÚdescrzUpgrade toolzfetch result != continue (%s)Fzfile '%s' missingT)ÚtempfileÚmkdtemprB   rC   Úchdirr\   Údebugr   Úapt_pkgÚconfigÚsetÚAcquirer   r   rA   ÚAcquireFiler,   rF   r2   ÚrunÚRESULT_CONTINUEÚwarningrD   rE   rV   Úgetsize)r   rB   Úfetcherr2   Úaf1Úaf2ÚresultrH   s   &       r   ÚfetchDistUpgraderÚ(DistUpgradeFetcherCore.fetchDistUpgrader–   s½  € ä×!Ò!Ð)CÔDˆØŒÜ
�Š�ÔÜ�ŠÐ*¨VÕ3Ô4à�:‰:˜Œ>Ü�N‰N×ÑÐ5°sÔ;Ü�N‰N×ÑÐ4°cÔ:ä—/’/ $§.¡.Ó1ˆØ�=‰=×'Ñ'Ò3Ø—-‘-×.Ñ.ˆCÜ×%Ò% gØ&)Ü,-Ð.FÓ,GôIˆCñ Ø�=‰=×$Ñ$Ó0Ø—}‘}×0Ñ0ˆDŒHÜ×%Ò% gØ&*§h¡hÜ,-¨nÓ,=ô?ˆCñ Ø—[‘[“]ˆFØ×0Ñ0Ô0Ü—’Ð ?À&Õ HÔIÙä—g‘g×&Ñ& t§}¡}×'CÑ'CÓDÜ—g‘g×&Ñ& t§}¡}×'@Ñ'@ÓAóC�äŸ™Ÿ™ q×)Ò)¬b¯g©g¯o©o¸aÓ.@À1Ö.DÜ—O’OÐ$7¸!Õ$;Ô<Ú ñ	Cñ
 Ùr   c                óü   € V P                   .V P                  ,           p\        P                  ! 4       ^ 8w  d#   \        P                  ! RRR.V,           4       R# \        P                  ! V P                   V4       R# )r   z/usr/bin/sudoÚsudoz-EN)re   r   rC   ÚgetuidÚexecv)r   Úargss   & r   ÚrunDistUpgraderÚ&DistUpgradeFetcherCore.runDistUpgrader½   sO   € Ø—‘ˆ}˜t×/Ñ/Õ/ˆÜ�9Š9‹;˜!ÔÜ�HŠH�_ v¨t n°tÕ&;Ö<ä�HŠH�T—[‘[ $Ö'r   c                ór   € \         P                  ! R 4       \        P                  ! V P                  4       R# )z..N)rC   rn   ÚshutilÚrmtreerB   )r   s   &r   ÚcleanupÚDistUpgradeFetcherCore.cleanupÄ   s   € ä
�Š�Œä�Š�d—k‘kÖ"r   c                ó>  € V P                  4       '       g   R # V P                  4       '       g'   V P                  \        R4      \        R4      4       R # V P	                  4       '       g7   V P                  \        R4      \        R4      4       V P                  4        R # V P                  4       '       g'   V P                  \        R4      \        R4      4       R # V P                  4       '       g7   V P                  \        R4      \        R4      4       V P                  4        R #  \        P                  ! V P                  \        P                  4      '       g&   \        R	V P                  ,          4      p^Vn        VhV P                  4        R#   \         d|   pTP                  ^8X  d+   T P                  \        R
4      \        R4      4        R p?R# T P                  \        R
4      \        R4      TP                  ,          4        R p?R# R p?ii ; i)NzFailed to fetchz=Fetching the upgrade failed. There may be a network problem. zAuthentication failedz_Authenticating the upgrade failed. There may be a problem with the network or with the server. zFailed to extractz[Extracting the upgrade failed. There may be a problem with the network or with the server. zVerification failedz[Verifying the upgrade failed.  There may be a problem with the network or with the server. zCan not execute '%s'zCan not run the upgradezyThis usually is caused by a system where /tmp is mounted noexec. Please remount without noexec and run the upgrade again.FzThe error message is '%s'.T)r7   r}   r+   r,   rJ   r‰   ra   rf   rC   Úaccessre   ÚX_OKÚOSErrorÚerrnor„   Ústrerror)r   Úexr`   s   &  r   ru   ÚDistUpgradeFetcherCore.runÊ   sÍ  € à×$Ñ$×&Ò&ÙØ×%Ñ%×'Ò'Ø�J‰J”qÐ*Ó+Üð %ó &ô'ñ Ø× Ñ ×"Ò"Ø�J‰J”qÐ0Ó1Üð Ió JôKð �L‰LŒNÙØ×'Ñ'×)Ò)Ø�J‰J”qÐ,Ó-Üð Ió JôKñ Ø×&Ñ&×(Ò(Ø�J‰J”qÐ.Ó/Üð Ió JôKð �L‰LŒNÙð	Iô —9’9˜TŸ[™[¬"¯'©'×2Ò2ÜÐ3°d·k±kÕAÓB�Ø�”Ø�Ø× Ñ Ô"ñ øô ô 		IØ�w‰w˜"Œ}Ø—
‘
œ1Ð6Ó7Üð Aó BôCõ à—
‘
œ1Ð6Ó7ÜÐ9Ó:¸Q¿Z¹ZÕG÷Ið Iáûð		Iús$   Ä*4F Å5F ÆHÆ!5HÇ5HÈH)r   r   r   r   re   rB   r2   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚDEFAULT_MIRRORÚDEFAULT_COMPONENTrC   Úenvironr   r   r   r7   r+   rJ   rG   ra   rf   r}   r„   r‰   ru   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r   r	   r	   (   sc   ø‡ € Ù8à7€NØÐØ" b§j¡jÑ0€Eòò)ò
ò6ò
ò
òò"ò%òN(ò#÷-ð -r   r	   )rC   rp   r\   rW   rl   r‡   r&   r   rM   r   r,   Úurllib.requestr   Úurllib.errorr   Úutilsr   ÚDistUpgradeViewTextr   Úobjectr	   © r   r   Ú<module>r¤      s?   ðó. 
Û Û Û Û Û Û Û 
Û Ý  Ý "Ý "å Ý )ôO˜Vö Or   