
    g6                     J   S SK JrJrJrJrJr  S SKrSSKJr  S SK	r
S SKr
SSSS.S\\   S\S\\
R                  R                     S	\
R                  R                  4S
 jjr\" S\\\\4      \\   \S.SS9rSS\S\S\\   S\\
R                  R                     S	\4
S jjrg)    )AnyListOptionalTuple	TypedDictN   )EmailUndeliverableError)timeoutcachedns_resolverr
   r   r   returnc                     U c  SSK Jn  Un U=(       d    [        R                  R	                  5       nU=(       d    [        R                  R                  5       Ul        Xl        U$ )Nr   DEFAULT_TIMEOUT) r   dnsresolverResolverLRUCacher   lifetime)r
   r   r   r   r   s        W/home/matz/Project1/venv/lib/python3.13/site-packages/email_validator/deliverability.pycaching_resolverr      sJ    %!6s||446H5cll335HNO    DeliverabilityInfo)mxmx_fallback_typeunknown-deliverabilityF)totaldomaindomain_i18nc           	        ^ Uc0  SSK Jn  Uc  Un[        R                  R	                  5       nX#l        OUb  [        S5      e0 n  UR                  U S5      n[        U Vs/ s H2  owR                  [        UR                  5      R                  S5      4PM4     sn5      nU V	V
s/ s H  u  pU
S:w  d  M  X4PM     nn	n
[        U5      S:X  a  [        SU S	35      eXS
'   S US'   U$ s  snf s  sn
n	f ! [        R                  R                   Ga    S[         S["        4S jm UR                  U S5      n[%        U4S jU 5       5      (       d  [        R                  R                  eSU 4/US
'   SUS'   O! [        R                  R                   a     UR                  U S5      n[%        U4S jU 5       5      (       d  [        R                  R                  eSU 4/US
'   SUS'    O:! [        R                  R                   a  n[        SU S	35      UeS nAff = ff = f UR                  U S5      nU HK  nSR'                  UR(                  5      nUR+                  S5      (       d  M6  US:X  d  M>  [        SU S35      e    U$ ! [        R                  R                   a      U$ f = ff = f! [        R                  R,                   a  n[        SU S35      UeS nAf[        R                  R.                   a    SS0s $ [        R0                  R2                   a    SS0s $ [         a    e [4         a  n[        S[        U5      -   5      UeS nAff = f)Nr   r   z5It's not valid to pass both timeout and dns_resolver.MX.r   r   zThe domain name z does not accept email.r   r   addressr   c                 h     [         R                  " U 5      nUR                  $ ! [         a     gf = f)NF)	ipaddress
ip_address
ValueError	is_global)r$   ipaddrs     r   is_global_addr5validate_email_deliverability.<locals>.is_global_addrO   s9    !&11':F ''' " ! !s   $ 
11Ac              3   H   >#    U  H  nT" UR                   5      v   M     g 7fNr$   .0rr+   s     r   	<genexpr>0validate_email_deliverability.<locals>.<genexpr>Y   s     Gh>!))44h   "AAAAc              3   H   >#    U  H  nT" UR                   5      v   M     g 7fr/   r0   r1   s     r   r4   r5   f   s     K(Q~aii88(r6   TXTr   s   v=spf1 s   v=spf1 -allz does not send email.z does not exist.r   no_nameserversr
   zZThere was an error while checking if the domain name in the email address is deliverable: )r   r   r   r   get_default_resolverr   r(   resolvesorted
preferencestrexchangerstriplenr	   NoAnswerr   boolanyjoinstrings
startswithNXDOMAINNoNameservers	exceptionTimeout	Exception)r   r    r
   r   r   deliverability_inforesponser3   mtasr>   r@   erecvaluer+   s                 @r   validate_email_deliverabilityrT      s    %?%G||88: '		PQQ.0mP	#++FD9H PXYPX1LL#ajj/*@*@*EFPXYZD HL 't/Cz2~ +Z*tD '4yA~-0@Md.eff(,%6: 23z S Z' ||$$ =	( ( (r'//<GhGGG,,///./[M#D):=#$67<<(( rr+33FFCHK(KKK!ll33323V'->D'(:;||,, r
 24D[MQh2ijpqqrr2	'//>#CHHS[[1E''
33 N2"9<L[MYn:o"pp	 $J A <<(( < Aw=	~ <<   _ &(8EU&VW]^^<<%% 
 %&6
 	
 ==   
 %i
 	
 #  %hknopkqq
	s   C5 "9C*C5 'C/7C/>*C5 *C5 50J6&AE:9J6:H%AG.,J6.H!HH!!H%%J6)AJ3J;JJ9 J2-J6.J9 1J22J66J9 9M!K''%M!!M!1M!MM!)NN)typingr   r   r   r   r   r&   exceptions_typesr	   dns.resolverr   dns.exceptionintr   r   r   r?   r   rT    r   r   <module>r[      s   8 8  5   26Dz~ # c X`adamamavavXw   DG  DP  DP  DY  DY  3
uS#X
 !6 
	 C# CC C(SV- Cnvwz  xD  xD  xM  xM  oN C  Zl Cr   