
    h'                         S SK Jr  S SKrS SKrS SKrS SKr " S S5      r " S S\5      r " S S\5      r	 " S	 S
\5      r
 " S S\5      r " S S\5      rg)    )urlparseNc                      \ rS rSrS rS rS\4S jrS\4S jr	S\4S jr
S\4S jr  SS	\R                  R                  S
\S\S-  S\S\S\S\S\R                  R"                  4S jjr  SS	\R                  R                  S
\S\S-  S\S\S\R&                  R(                  S\S\S\R                  R"                  4S jjrSrg)
Nameserver	   c                     g N selfs    cC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\dns/nameserver.py__init__Nameserver.__init__
   s        c                     [         er   NotImplementedErrorr
   s    r   __str__Nameserver.__str__       !!r   returnc                     [         er   r   r
   s    r   kindNameserver.kind   r   r   c                     [         er   r   r
   s    r   is_always_max_sizeNameserver.is_always_max_size   r   r   c                     [         er   r   r
   s    r   answer_nameserverNameserver.answer_nameserver   r   r   c                     [         er   r   r
   s    r   answer_portNameserver.answer_port   r   r   requesttimeoutsourceNsource_portmax_sizeone_rr_per_rrsetignore_trailingc                     [         er   r   r   r#   r$   r%   r&   r'   r(   r)   s           r   queryNameserver.query   s
     "!r   backendc	                    #    [         e7fr   r   	r   r#   r$   r%   r&   r'   r.   r(   r)   s	            r   async_queryNameserver.async_query(   s      "!s   	r	   FF)__name__
__module____qualname____firstlineno__r   r   strr   boolr   r   intr!   dnsmessageQueryMessagefloatMessager,   asyncbackendBackendr1   __static_attributes__r	   r   r   r   r   	   s=   ""c ""D ""3 ""S " "' %
"))
" 
" d
	
"
 
" 
" 
" 
" 
		
"( "' %"))" " d
	"
 " " !!))" " " 
		" "r   r   c                   r   ^  \ rS rSrS\S\4U 4S jjrS\4S jrS\4S jr	S r
S\4S	 jrS\4S
 jrSrU =r$ )AddressAndPortNameserver6   addressportc                 :   > [         TU ]  5         Xl        X l        g r   )superr   rF   rG   r   rF   rG   	__class__s      r   r   !AddressAndPortNameserver.__init__7   s    	r   r   c                     [         er   r   r
   s    r   r   AddressAndPortNameserver.kind<   r   r   c                     g)NFr	   r
   s    r   r   +AddressAndPortNameserver.is_always_max_size?       r   c                 ^    U R                  5       nU SU R                   SU R                   3$ )N:@)r   rF   rG   )r   ns_kinds     r   r    AddressAndPortNameserver.__str__B   s,    ))+!DLL>499+66r   c                     U R                   $ r   )rF   r
   s    r   r   *AddressAndPortNameserver.answer_nameserverF   s    ||r   c                     U R                   $ r   )rG   r
   s    r   r!   $AddressAndPortNameserver.answer_portI   s    yyr   )rF   rG   )r4   r5   r6   r7   r8   r:   r   r   r9   r   r   r   r!   rB   __classcell__rK   s   @r   rD   rD   6   sP     3 
"c "D 73 S  r   rD   c                   z  ^  \ rS rSrSS\S\4U 4S jjjrS r  SS\R                  R                  S\S\S	-  S
\S\S\S\S\R                  R                  4S jjr  SS\R                  R                  S\S\S	-  S
\S\S\R                  R                   S\S\S\R                  R                  4S jjrSrU =r$ )Do53NameserverM   rF   rG   c                 $   > [         TU ]  X5        g r   )rI   r   rJ   s      r   r   Do53Nameserver.__init__N   s    'r   c                     g)NDo53r	   r
   s    r   r   Do53Nameserver.kindQ   s    r   r#   r$   r%   Nr&   r'   r(   r)   r   c                     U(       a:  [         R                  R                  UU R                  UU R                  UUUUS9nU$ [         R                  R                  UU R                  UU R                  UUSUUSSS9nU$ )N)r$   rG   r%   r&   r(   r)   T)	r$   rG   r%   r&   raise_on_truncationr(   r)   ignore_errorsignore_unexpected)r;   r,   tcprF   rG   udp)	r   r#   r$   r%   r&   r'   r(   r)   responses	            r   r,   Do53Nameserver.queryT   s     yy}}YY'!1 / % 	H0  yy}}YY'$(!1 /""& % H r   r.   c	                 2  #    U(       aC  [         R                  R                  UU R                  UU R                  UUUUUS9	I S h  vN n	U	$ [         R                  R                  UU R                  UU R                  UUSUUUSSS9I S h  vN n	U	$  NL N7f)N)r$   rG   r%   r&   r.   r(   r)   T)
r$   rG   r%   r&   rf   r.   r(   r)   rg   rh   )r;   
asyncqueryri   rF   rG   rj   )
r   r#   r$   r%   r&   r'   r.   r(   r)   rk   s
             r   r1   Do53Nameserver.async_queryy   s       ^^//YY'!1 / 0 
 
H4  !^^//YY'$(!1 /""& 0  H 5
s%   ABBABBBBr	   )5   r3   )r4   r5   r6   r7   r8   r:   r   r   r;   r<   r=   r>   r9   r?   r,   r@   rA   r1   rB   r[   r\   s   @r   r^   r^   M   s"   ( (3 ( ( "' %#))# # d
	#
 # # # # 
		#Z "' %&))& & d
	&
 & & !!))& & & 
		& &r   r^   c                   0  ^  \ rS rSrSSS\R
                  R                  R                  4S\S\S-  S\	\-  S\	S	\R
                  R                  4
U 4S
 jjjr
S rS\	4S jrS rS\4S jrS\4S jr   SS\R"                  R$                  S\S\S-  S\S\	S\	S\	S\R"                  R(                  4S jjr  SS\R"                  R$                  S\S\S-  S\S\	S\R*                  R,                  S\	S\	S\R"                  R(                  4S jjrSrU =r$ )DoHNameserver   NTFurlbootstrap_addressverifywant_gethttp_versionc                 ^   > [         TU ]  5         Xl        X l        X0l        X@l        XPl        g r   )rI   r   rt   ru   rv   rw   rx   )r   rt   ru   rv   rw   rx   rK   s         r   r   DoHNameserver.__init__   s+     	!2 (r   c                     g)NDoHr	   r
   s    r   r   DoHNameserver.kind   rQ   r   r   c                     g)NTr	   r
   s    r   r    DoHNameserver.is_always_max_size   s    r   c                     U R                   $ r   rt   r
   s    r   r   DoHNameserver.__str__       xxr   c                     U R                   $ r   r   r
   s    r   r   DoHNameserver.answer_nameserver   r   r   c                 N    [        U R                  5      R                  nUc  SnU$ )Ni  )r   rt   rG   )r   rG   s     r   r!   DoHNameserver.answer_port   s%    !&&<Dr   r#   r$   r%   r&   r'   r(   r)   c                     [         R                  R                  UU R                  UUUU R                  UUU R
                  U R                  (       + U R                  S9$ N)	r$   r%   r&   ru   r(   r)   rv   postrx   )r;   r,   httpsrt   ru   rv   rw   rx   r+   s           r   r,   DoHNameserver.query   sZ     yyHH#"44-+;;mm#**  
 	
r   r.   c	                    #    [         R                  R                  UU R                  UUUU R                  UUU R
                  U R                  (       + U R                  S9I S h  vN $  N7fr   )r;   rn   r   rt   ru   rv   rw   rx   r0   s	            r   r1   DoHNameserver.async_query   si      ^^))HH#"44-+;;mm#** * 
 
 	
 
s   A"A+$A)%A+)ru   rx   rt   rv   rw   FFFr3   )r4   r5   r6   r7   r;   r,   HTTPVersionDEFAULTr8   r9   r   r   r   r   r   r:   r!   r<   r=   r>   r?   r@   rA   r1   rB   r[   r\   s   @r   rr   rr      s    )-!.1ii.C.C.K.K)) :) s
	)
 ) ii++) )D 3 S  !& %
))
 
 d
	

 
 
 
 
 
		
@ "' %
))
 
 d
	

 
 
 !!))
 
 
 
		
 
r   rr   c                     ^  \ rS rSr   SS\S\S\S-  S\\-  4U 4S jjjrS r   SS	\	R                  R                  S
\S\S-  S\S\S\S\S\	R                  R                  4S jjr  SS	\	R                  R                  S
\S\S-  S\S\S\	R                  R                   S\S\S\	R                  R                  4S jjrSrU =r$ )DoTNameserver   NrF   rG   hostnamerv   c                 <   > [         TU ]  X5        X0l        X@l        g r   )rI   r   r   rv   )r   rF   rG   r   rv   rK   s        r   r   DoTNameserver.__init__   s     	' r   c                     g)NDoTr	   r
   s    r   r   DoTNameserver.kind  rQ   r   r#   r$   r%   r&   r'   r(   r)   r   c                     [         R                  R                  UU R                  U R                  UUUU R
                  U R                  S9$ N)rG   r$   r(   r)   server_hostnamerv   )r;   r,   tlsrF   rG   r   rv   r+   s           r   r,   DoTNameserver.query  sF     yy}}LL-+ MM;;  	
 		
r   r.   c	                    #    [         R                  R                  UU R                  U R                  UUUU R
                  U R                  S9I S h  vN $  N7fr   )r;   rn   r   rF   rG   r   rv   r0   s	            r   r1   DoTNameserver.async_query  sU      ^^''LL-+ MM;; ( 	
 	
 		
 	
   AAAA)r   rv   )U  NTr   r3   r4   r5   r6   r7   r8   r:   r9   r   r   r;   r<   r=   r>   r?   r,   r@   rA   r1   rB   r[   r\   s   @r   r   r      sO    #!		 	 *		
 s
	 	 !& %
))
 
 d
	

 
 
 
 
 
		
: "' %
))
 
 d
	

 
 
 !!))
 
 
 
		
 
r   r   c                     ^  \ rS rSr   SS\S\S\\-  S\S-  4U 4S jjjrS r   SS	\	R                  R                  S
\S\S-  S\S\S\S\S\	R                  R                  4S jjr  SS	\	R                  R                  S
\S\S-  S\S\S\	R                  R                   S\S\S\	R                  R                  4S jjrSrU =r$ )DoQNameserveri1  NrF   rG   rv   r   c                 <   > [         TU ]  X5        X0l        X@l        g r   )rI   r   rv   r   )r   rF   rG   rv   r   rK   s        r   r   DoQNameserver.__init__2  s     	'.r   c                     g)NDoQr	   r
   s    r   r   DoQNameserver.kind=  rQ   r   r#   r$   r%   r&   r'   r(   r)   r   c                     [         R                  R                  UU R                  U R                  UUUU R
                  U R                  S9$ N)rG   r$   r(   r)   rv   r   )r;   r,   quicrF   rG   rv   r   r+   s           r   r,   DoQNameserver.query@  sH     yy~~LL-+;; 00  	
 		
r   r.   c	                    #    [         R                  R                  UU R                  U R                  UUUU R
                  U R                  S9I S h  vN $  N7fr   )r;   rn   r   rF   rG   rv   r   r0   s	            r   r1   DoQNameserver.async_queryU  sW      ^^((LL-+;; 00 ) 	
 	
 		
 	
r   )r   rv   )r   TNr   r3   r   r\   s   @r   r   r   1  sO    !&*	/	/ 	/ s
		/
 t	/ 	/ !& %
))
 
 d
	

 
 
 
 
 
		
: "' %
))
 
 d
	

 
 
 !!))
 
 
 
		
 
r   r   )urllib.parser   dns.asyncbackendr;   dns.asyncquerydns.message	dns.queryr   rD   r^   rr   r   r   r	   r   r   <module>r      se    !    *" *"Zz .R- RjQ
J Q
h8
, 8
v8
, 8
r   