File: //home/arjun/projects/env/lib/python3.10/site-packages/dns/__pycache__/query.cpython-310.pyc
o
!we�� � ! @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
mZmZm
Z
mZmZ ddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZddlZdd� Zdd� ZdZdZ zMddl!Z!ddl"Z!ddl#Z#e!j$Z%e!j&j'j(Z)d Zze#j*d d
��
d Z W d � n1 s�w Y W n e+y� Y nw G dd� de%�Z,G d
d� de#j-�Z.W n e/y� G dd� d�Z.Y nw eZ0zddl1Z1W n e/y� G dd� d�Z1Y nw ejZ2G dd� dej3j4�Z5G dd� dej3j6�Z7G dd� dej3j4�Z8G dd� dej3j4�Z9ej:j;Z;dd� Z<dd� Z=dd� Z>e?ed ��r,ej@aAnejBaAd!d"� ZCd#d$� ZDd%d&� ZEd'd(� ZF d�d)d*�ZGd�d+d,�ZHdd-dddddd.d dd dejIf
d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNd5eOd6eOd7e
e d8eLd9eOd:e
eL d;eeOeLf d<e
d= d>e
eN d?ejJjKf d@dA�ZPdBdC� ZQdDdE� ZR d�dFedGeejJjKeSf dHedIe
eM d?eeNeMf f
dJdK�ZT L d�dFedHe
e dIe
eM dMeOd5eOdNe
eejUjVejWjXf dOe
eS d6eOdPeOd?efdQdR�ZY S d�d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNdMeOd5eOd6eOdPeOdFe
e d?ejJjKfdTdU�ZZ S d�d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNdMeOd5eOd6eOdVe
e dWe
e d?eejJjKeOf fdXdY�Z[dZd[� Z\d\d]� Z] d�dFedGeejJjKeSf dIe
eM d?eeNeMf fd^d_�Z^ L d�dFedIe
eM d5eOdNe
eejUjVejWjXf dOe
eS d6eOd?eejJjKeMf fd`da�Z_dbdc� Z` S d�d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNd5eOd6eOdFe
e d?ejJjKfddde�Zadfdg� Zb h d�d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNd5eOd6eOdFe
e1jc die
e1jd dje
eL d?ejJjKfdkdl�Ze h d�d/ejJjKd0eLd1e
eM d2eNd3e
eL d4eNd5eOd6eOdme
ejfjg d;eeOeLf dje
eL d?ejJjKfdndo�ZfejhjiejjjkddSddd dddddejWjlf
d0eLdpeejUjVeLf dqeejhjmeLf dreejjjneLf d1e
eM d2eNdNe
eejUjVejWjXf dse
eejUjVeLf dteOdue
eM d3e
eL d4eNdveNdweOdxeejUjVeLf d?ef dydz�Z:G d{d|� d|ejo�ZpddSddddepjqfd0eLd}ejrjsd~e
ejJjK d2eNd1e
eM due
eM d3e
eL d4eNdepd?dfd�d��ZtdS )�zTalk to a DNS server.� N)�Any�Dict�Optional�Tuple�Unionc C s, | d u rd S | t � � }|dkrtjj�|S )N� )�time�dns� exception�Timeout)�
expiration�timeout� r �B/home/arjun/projects/env/lib/python3.10/site-packages/dns/query.py�
_remaining- s r c C s |d u rd S t t�� | |�S �N)�minr )r
r r r r �_expiration_for_this_attempt6 s r FT)�http2c s4 e Zd Z� fdd�Z ddd�Z ddd�Z� ZS ) �_NetworkBackendc s&