
    ܍~c              	           d dl Z d dlmZ d dlmZmZ dedefdZ	 ddedeee                  defdZ		 dd	ed
ee         deee                  de
fdZdS )    N)
ModuleType)OptionalSequencemodule_namereturnc                 *    t          j        |           S N)	importlibimport_module)r   s    4/usr/lib/python3/dist-packages/cloudinit/importer.pyr   r      s    ";///    attrsc                 n    d}|s|S t          j        |           }|D ]}t          ||          r|dz  }|S )Nr      )r
   r   hasattr)r   r   found_attrsmodattrs        r   _count_attrsr      sY     K 

!+
.
.C  3 	1Kr   	base_namesearch_pathsrequired_attrsc                    |sg }g }|D ]m}g }|r(|                     |                    d                     |                    |            d                    |          }|                    |           ng }|D ]X}t          j                            |          s"t          ||          t          |          k    r|                    |           Y||fS )zFinds specified modules.)	extendsplitappendjoinr
   util	find_specr   len)r   r   r   lookup_pathspath	real_path	full_pathfound_pathss           r   find_moduler'   !   s      L ' '	 	.TZZ__---###HHY''	I&&&&K! * *	~''	22 		>22c.6I6IIIy)))&&r   r	   )r
   typesr   typingr   r   strr   intr   tupler'    r   r   <module>r.      s              % % % % % % % %0s 0z 0 0 0 0
 8<
 

%hsm4

 
 
 
  /3' ''3-' Xc]+' 	' ' ' ' ' 'r   