
    x[h=                     P    S SK JrJr  S SKJrJr  S SKJr  \\   r	 " S S\5      r
g)    )ABCabstractmethod)IterableList)helpersc                       \ rS rSr% \\S'   S\R                  4S jr\	S\R                  SS 4S j5       r
\S\4S j5       r\SS	.S
 j5       r\S\S\4S j5       rSrg)PackageManager
   namerunnerc                     Xl         g Nr   )selfr   kwargss      V/usr/lib/python3/dist-packages/cloudinit/distros/package_management/package_manager.py__init__PackageManager.__init__   s        returnc                     U " U5      $ r    )clsr   cfgs      r   from_configPackageManager.from_config   s    6{r   c                     g)z1Return if package manager is installed on system.Nr   )r   s    r   	availablePackageManager.available       r   F)forcec                    g r   r   )r   r!   s     r   update_package_sources%PackageManager.update_package_sources   s    69r   pkglistc                     g)a  Install the given packages.

Return a list of packages that failed to install.
Overriding classes should NOT raise an exception if packages failed
to install. Instead, log the error and return what couldn't be
installed so other installed package managers may be attempted.
Nr   )r   r%   s     r   install_packagesPackageManager.install_packages   r    r   r   N)__name__
__module____qualname____firstlineno__str__annotations__r   Runnersr   classmethodr   r   boolr   r#   r   UninstalledPackagesr'   __static_attributes__r   r   r   r	   r	   
   s    
Iw   :J   @4 @ @ .39 9 5H  r   r	   N)abcr   r   typingr   r   	cloudinitr   r-   r2   r	   r   r   r   <module>r7      s$    # ! 3i S r   