
    ,h	                         U d dl Zd dlZd dlZd dlmZmZmZ dedefdZ	dede
fdZi Zeee
f   ed<   d	ede
fd
Zd	ede
ddfdZdgg ddgdgdgdgdZeeee   f   ed<   y)    N)DictListTupleversionreturnc                    | j                  d      }g }|D ]C  }dj                  t        j                  d |            }	 |j	                  t        |             E t        |      S # t        $ r Y  t        |      S w xY w)N. c                 &    | t         j                  v S )N)stringdigits)xs    O/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/dns/_features.py<lambda>z"_tuple_from_text.<locals>.<lambda>   s    !v}}*<     )splitjoin	itertools	takewhileappendint	Exceptiontuple)r   
text_parts	int_parts	text_partdigit_prefixs        r   _tuple_from_textr   	   s    s#JI 	ww <iH
	S./   		s    A''	A>=A>requirementc                     | j                  d      \  }}	 t        j                  j                  |      }|y	 t        |      }t        |      }||k  ryy# t        $ r Y yw xY w)zeIs the requirement fulfilled?

    The requirement must be of the form

        package>=version
    z>=FT)r   	importlibmetadatar   r   r   )r   packageminimumr   	t_version	t_minimums         r   _version_checkr'      sy     #((.GW$$,,W5?  !)I )I9  s   !A 	A"!A"_cachefeaturec                     t         j                  |       }||S t        j                  |       }|
dt         | <   yd}|D ]  }t        |      rd} n |t         | <   |S )zIs *feature* available?

    This tests if all optional packages needed for the
    feature are available and recent enough.

    Returns ``True`` if the feature is available,
    and ``False`` if it is not or if metadata is
    missing.
    FT)r(   get_requirementsr'   )r)   valuerequirementsokr   s        r   haver0   2   ss     JJwE $$W-Lw	B# k*B F7OIr   enabledc                     |t         | <   y)zForce the status of *feature* to be *enabled*.

    This method is provided as a workaround for any cases
    where importlib.metadata is ineffective, or for testing.
    N)r(   )r)   r1   s     r   forcer3   M   s     F7Or   zcryptography>=43)zhttpcore>=1.0.0zhttpx>=0.26.0z	h2>=4.1.0zaioquic>=1.0.0z	idna>=3.7z
trio>=0.23z
wmi>=1.5.1)dnssecdohdoqidnatriowmir,   )importlib.metadatar!   r   r   typingr   r   r   strr   boolr'   r(   __annotations__r0   r3   r,    r   r   <module>r@      s       $ $c e 	0 S$Y # $ 63  $  ""<MN>	'tCcN# 	r   