�
�;d�d � �� � d Z ddlZddlZddlZddlZddlZddlZddlZddlm Z ddlm
Z
ddlmZ ddlmZ ddlm
Z
ddlmZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z ddlm!Z! ddlm"Z" ddl#m$Z% ddl&m'Z( ddl)m*Z* ddl+mZ, ej- e.� � Z/g d�Z0ddgZ1g d�Z2 e3 ej4 e2e1e0d� � � � Z5d ej6 d!e7d"ee!j8 fd#�Z9d ej6 d$e
e7e f d"dfd%�Z:d ej6 d$e
e7e f d"dfd&�Z;d ej6 d$e
e7e f d"dfd'�Z<d$e
e7e f d"e
e7e f fd(�Z=d)e7d*eee7 e7f d"ee7 fd+�Z>d,e7d*e7d"e?fd-�Z@d,e7d*e7d"eAfd.�ZBd,e7d*e7d"ee7 fd/�ZCd ej6 d0e!j8 d"e?fd1�ZDd ej6 d0e!j8 d2e7d"dfd3�ZEd ej6 d0e!j8 d"dfd4�ZFd ej6 d5eee7 d6ejG d0e!j8 d"df
d7�ZHd8ee7 d9e7d"e7fd:�ZId ej6 d;ee7 d<ee7 d=ee7 d>ee7 d"dfd?�ZJd ej6 d"dfd@�ZKdAe7d ej6 d"dfdB�ZLdS )CzGFunctionality for autorenewal and associated juggling of configurations� N)�Any)�Dict)�Iterable)�List)�Mapping)�Optional)�Union)�default_backend)�ec)�rsa)�load_pem_private_key)�
configuration)�crypto_util)�errors)�util)�cli)�client)� constants)�hooks)�storage)�updater)�obj)�disco)�os)�
config_dir�logs_dir�work_dir�
user_agent�server�account�
authenticator� installer�
renew_hook�pre_hook� post_hook�http01_address�preferred_chain�key_type�elliptic_curve�rsa_key_size�http01_port)�must_staple�allow_subset_of_names� reuse_key� autorenew)�pref_challs�config� full_path�returnc �D � t j || � � }n�# t j t f$ rz}t
� d|� � t
� dt |� � � � t
� dt j
� � � � Y d}~dS d}~ww xY wd|j vrt
� d|� � dS |j d }d|vrt
� d|� � dS |� d d
� � |d < |