
    hM#                         S SK JrJr  SSKJrJr  SSKJrJrJ	r	J
r
  SSKJrJrJr  SSSSSSSSSS.	S	\\\4   S
\\   S\S\\   S\\   S\\   S\\   S\\   S\\   S\\   S\4S jjrg)    )OptionalUnion   )EmailSyntaxErrorValidatedEmail)validate_email_local_partvalidate_email_domain_namevalidate_email_domain_literalget_length_reason)EMAIL_MAX_LENGTHQUOTED_LOCAL_PART_ADDRCASE_INSENSITIVE_MAILBOX_NAMESNF)	allow_smtputf8allow_empty_localallow_quoted_localallow_domain_literalcheck_deliverabilitytest_environmentglobally_deliverabletimeoutdns_resolveremailr   r   r   r   r   r   r   r   r   returnc       	            SSK Jn
JnJnJnJnJnJn  Uc  U
nUc  UnUc  UnUc  UnUc  UnUc  UnUc  Un[        U [        5      (       d   U R                  S5      n Sn[        R                  " U 5      nU(       a-  SnUR                  5       u  nnSSKnUR#                  S	S
U5      nO0U R%                  S5      n['        U5      S:w  a  [        S5      eUu  nn[)        5       nU Ul        [-        UUUUS9nU(       a  U(       d  [        S5      eUS   Ul        US   Ul        US   Ul        UR0                  bm  UR0                  R5                  5       [6        ;   aK  UR.                  b>  UR0                  R5                  5       Ul        UR.                  R5                  5       Ul        Sn['        U5      S:X  a  [        S5      eUR9                  S5      (       aD  UR;                  S5      (       a.  [=        USS US9nUS   Ul        US   Ul         US   Ul!        SnO[E        UXgS9nUS   Ul        US   Ul         UR.                  S-   UR>                  -   Ul#        UR2                  (       dG  UR@                  (       d  [I        S5      eUR0                  =(       d    SS-   UR@                  -   Ul%        OSUl%        URJ                  (       a  ['        URJ                  5      [L        :  as  URJ                  URF                  :X  a  [O        URJ                  5      nO4['        URF                  5      [L        :  a  [O        URF                  SS9nOSn[        S U S!35      e['        URF                  RQ                  S"5      5      [L        :  aC  ['        URF                  5      [L        :  a  [O        URF                  SS9nOS#n[        S U S!35      eU(       a[  U(       dT  U(       a  U$ SS$K)J*n  U" UR@                  UR>                  X5      nURW                  5        H  u  nn[Y        UUU5        M     U$ ! [         a    [        S5      ef = f)%a  
Validates an email address, raising an EmailNotValidError if the address is not valid or returning a dict of
information when the address is valid. The email argument can be a str or a bytes instance,
but if bytes it must be ASCII-only. This is the main method of this library.
r   )ALLOW_SMTPUTF8ALLOW_QUOTED_LOCALALLOW_DOMAIN_LITERALGLOBALLY_DELIVERABLECHECK_DELIVERABILITYTEST_ENVIRONMENTDEFAULT_TIMEOUTNasciiz%The email address is not valid ASCII.FTr   z\\(.)z\1@   z@The email address is not valid. It must have exactly one @-sign.)r   r   quoted_local_partz7Quoting the part before the @-sign is not allowed here.
local_partascii_local_partsmtputf8z)There must be something after the @-sign.[])r   domaindomain_address)r   r   ascii_domainzMissing ASCII domain. )utf8z(when converted to IDNA ASCII)zThe email address is too long .r0   z(when encoded in bytes))validate_email_deliverability)-r/   r   r   r   r   r   r    r!   
isinstancestrdecode
ValueErrorr   r   matchgroupsresubsplitlenr   originalr   r&   r'   r(   lowerr   
startswithendswithr
   r,   r.   r-   r	   
normalized	Exceptionascii_emailr   r   encodedeliverabilityr2   itemssetattr) r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r%   mr&   domain_partr9   partsretlocal_part_infois_domain_literaldomain_part_inforeasonr2   deliverability_infokeyvalues                                    sC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\email_validator/validate_email.pyvalidate_emailrT      s    *V V V'!/#3#3+#3!
 eS!!	LLL)E $$U+A "#((*
K 	VVHeZ8
 C u:?"#eff"'
K 
CCL 0
?MBSBSUO !3XYY$\2CN*+=>C":.CL
 '%%'+II>>%"3399;--/ 
;1JKK				$	$)=)=c)B)B8Qr9Jauv%h/
+H5-.>? 
 6kTd  Q%h/
+N; ^^c)CJJ6CN <<344//52<s?O?OO, 3s/2BB??cnn,&s7F #33 's~~DAF5F!?xqIJJ
3>>  (),<<s~~!11 's~~DAF.F!?xqIJJ$4 J 	B;cjj'
 .335JCCe$ 6 JU  	L"#JKK	Ls   P/ /Q)typingr   r   exceptions_typesr   r   syntaxr   r	   r
   r   rfc_constantsr   r   r   r4   bytesboolintobjectrT        rS   <module>r_      s    " > { { c c &*#)-+/+/'++/!%)vev TN	v
 v !v #4.v #4.v tnv #4.v c]v 6"v vr^   