Ë
    x[h  ã                   óv   — d dl Z d dlmZmZ d dlmZmZ d dlmZm	Z	  e j                  e«      Z G d„ de«      Zy)é    N)ÚIterableÚList)ÚsubpÚutil)ÚPackageManagerÚUninstalledPackagesc                   óH   — e Zd ZdZdefd„Zddœd„Zdedefd„Z	e
d	„ «       Zy
)ÚSnapÚsnapÚreturnc                 ó>   — t        t        j                  d«      «      S )Nr   )Úboolr   Úwhich)Úselfs    úK/usr/lib/python3/dist-packages/cloudinit/distros/package_management/snap.pyÚ	availablezSnap.available   s   € Ü”D—J‘J˜vÓ&Ó'Ð'ó    F)Úforcec                 ó   — y )N© )r   r   s     r   Úupdate_package_sourceszSnap.update_package_sources   s   € Ør   Úpkglistc                 ó,  — t        j                  dt        |«      «      }g }|D ]-  }	 t        j                  ddg|j	                  dd«      z   «       Œ/ |S # t        j
                  $ r* |j                  |«       t        j                  d|«       Y Œnw xY w)Nz%s=%sr   Úinstallú=é   zFailed to 'snap install %s'!)	r   Úexpand_package_listÚlistr   ÚsplitÚProcessExecutionErrorÚappendÚLOGÚinfo)r   r   ÚfailedÚpkgs       r   Úinstall_packageszSnap.install_packages   s�   € ô ×*Ñ*¨7´D¸³MÓBˆØˆØò 	>ˆCð>Ü—	‘	˜6 9Ð-°·	±	¸#¸qÓ0AÑAÕBð	>ð ˆøô ×-Ñ-ò >Ø—‘˜cÔ"Ü—‘Ð7¸Ö=ð>ús   ¨*AÁ:BÂBc                  óŒ  — g d¢} d }	 t        j                   | «      }t        j                  |j                  «      j	                  di «      j	                  d«      }|dk(  rt        j                  d|«       y t        j                   ddg«       y # t         j
                  $ r!}t        j                  d| |«       Y d }~Œcd }~ww xY w)N)r   ÚgetÚsystemz-dÚrefreshÚholdz9Continuing to snap refresh. Unable to run command: %s: %sÚforeverz9Skipping snap refresh because refresh.hold is set to '%s'r   )r   r   Ú	load_jsonÚstdoutr(   r    r"   r#   )ÚcommandÚ	snap_holdÚresultÚes       r   Úupgrade_packageszSnap.upgrade_packages$   s­   € â1ˆØˆ	ð
	Ü—Y‘Y˜wÓ'ˆFä—‘˜vŸ}™}Ó-×1Ñ1°)¸RÓ@×DÑDÀVÓLð ð ˜	Ò!Ü�H‰HØKØõô
 �I‰I�v˜yÐ)Õ*øô ×)Ñ)ò 	Ü�H‰HØKØØ÷ñ ûð	ús   ˆAB ÂCÂ"B>Â>CN)Ú__name__Ú
__module__Ú__qualname__Únamer   r   r   r   r   r&   Ústaticmethodr3   r   r   r   r
   r
      sE   „ Ø€Dð(˜4ó (ð /4ô ð¨ð Ð5Hó ð ñ+ó ñ+r   r
   )ÚloggingÚtypingr   r   Ú	cloudinitr   r   Ú4cloudinit.distros.package_management.package_managerr   r   Ú	getLoggerr4   r"   r
   r   r   r   ú<module>r>      s3   ðã ß !ç  ÷ð
 €g×Ñ˜Ó!€ô++ˆ>õ ++r   