�
�f! � �� � d dl mZmZmZ d dlmZmZmZmZm Z m
Z
mZmZm
Z
mZ eeee e
eeed�Zg d�Z d deeeee
j$ f fd�Zd
deeee
j$ f fd�Zy)� )�List�Tuple�Type)
�RendererNotFoundError�eni�freebsd�netbsd�netplan�network_manager�networkd�openbsd�renderer� sysconfig)r r r r
�network-managerr r
r )r r r
r r r r
r N�returnc � � | �t } t }| D �cg c] }||vs�|�� }}|rt d|z � �g }| D ]? }|| }|j |� s�||j f} |r| gc S |j | � �A |S c c}w )Nz/Unknown renderers provided in priority list: %s)�DEFAULT_PRIORITY�NAME_TO_RENDERER�
ValueError� available�Renderer�append)
�priority�target�firstr �i�unknown�found�name�
render_mod�curs
�9/usr/lib/python3/dist-packages/cloudinit/net/renderers.py�searchr# ) s� � � ��#�� �I�"�9�Q�a�y�&8�q�9�G�9���=��G�
�
�
�E�� ���t�_�
�����'���,�,�-�C���u���L�L���
� �L�� :s
� A;�A;c �z � t | |d�� }|s'| �t } d}|r
|dk7 rd|z }t d|�d| ��� �|d S ) NT)r r � �/z
in target=%sz$No available network renderers foundz. Searched through list: r )r# r r )r r r �tmsgs r" |