
    Eqg                      P   d dl mZmZmZ d dlZddlmZmZ ddlm	Z	m
Z
mZmZmZ ddlmZ erd dlZej        j        ZneZddddddddddd
d	eeef         d
ee         dedee         dee         dee         dee         dee         dee         dee         dee         defdZdS )    )OptionalUnionTYPE_CHECKINGN   )EmailSyntaxErrorValidatedEmail)split_emailvalidate_email_local_partvalidate_email_domain_namevalidate_email_domain_literalvalidate_email_length)CASE_INSENSITIVE_MAILBOX_NAMESF)
allow_smtputf8allow_empty_localallow_quoted_localallow_domain_literalallow_display_namecheck_deliverabilitytest_environmentglobally_deliverabletimeoutdns_resolveremailr   r   r   r   r   r   r   r   r   r   returnc      
         $   ddl m}m}m}m}m}m}m}m} ||}||}||}||}||}||}||}|	|
|}	t          | t                    s9	 |                     d          } n"# t          $ r}t          d          |d}~ww xY wt          |           \  }}}}t                      }|s|nd|z   dz   dz   |z   |_        ||_        t%          ||||          }|d	         |_        |d
         |_        |d         |_        t-          j        d|j                  }||j        k    rN	 t%          ||||           n2# t          $ r%}t          dt          |          z             |d}~ww xY w||_        |r|st          d          |j        c|j                                        t2          v rC|j        <|j                                        |_        |j                                        |_        d}t5          |          dk    rt          d          |                    d          rg|                    d          rRt;          |dd                   }|st          d          |d         |_        |d         |_        |d         |_         d}n,tC          |||          }|d         |_        |d         |_        |j        dz   |j        z   |_"        |j        s0|j        stG          d          |j        pddz   |j        z   |_$        nd|_$        tK          |           ||st          d          |r\|sZ|r|S ddl&m'}  ||j        |j        |	|
          }|(                    d          } | | |_)        |(                    d           |_*        |S )!z
    Given an email address, and some options, returns a ValidatedEmail instance
    with information about the address if it is valid or, if the address is not
    valid, raises an EmailNotValidError. This is the main function of the module.
    r   )ALLOW_SMTPUTF8ALLOW_QUOTED_LOCALALLOW_DOMAIN_LITERALALLOW_DISPLAY_NAMEGLOBALLY_DELIVERABLECHECK_DELIVERABILITYTEST_ENVIRONMENTDEFAULT_TIMEOUTNasciiz%The email address is not valid ASCII."@)r   r   quoted_local_part
local_partascii_local_partsmtputf8NFCzAfter Unicode normalization: z7Quoting the part before the @-sign is not allowed here.Fr   z)There must be something after the @-sign.[]z<A bracketed IP address after the @-sign is not allowed here.domaindomain_addressT)r   r   ascii_domainzMissing ASCII domain. zRA display name and angle brackets around the email address are not permitted here.)validate_email_deliverabilitymxmx_fallback_type)+r2   r   r   r   r   r    r!   r"   r#   
isinstancestrdecode
ValueErrorr   r	   r   originaldisplay_namer
   r(   r)   r*   unicodedata	normalizelowerr   len
startswithendswithr   r/   r1   r0   r   
normalized	Exceptionascii_emailr   deliverabilityr3   getr4   r5   )!r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   er;   r(   domain_partis_quoted_local_partretlocal_part_infonormalized_local_partis_domain_literaldomain_literal_infodomain_name_infor3   deliverability_infor4   s!                                    P/var/www/html/env/lib/python3.11/site-packages/email_validator/validate_email.pyvalidate_emailrR      s   ,V V V V V V V V V V V V V V V V V V V V'!/#3!/#3+#3</!
 eS!! S	SLL))EE 	S 	S 	S"#JKKQRR	S e

 @L*k+? 

C'; 2ZZ
*S0'(CL $C 0
?MBSBVX X XO %\2CN*+=>C":.CL
 (1%HH..	T%&;5C8I8LN N N N N   	T 	T 	T"#BSVV#KLLRSS	T.
  Z$6 ZXYYY
 '%%''+III>%"399;;--// 
;1JKKK				$	$ <)=)=c)B)B <;K"<MNN# 	c"#abbb(2
.x801AB 
 6kTd  |P  Q  Q  Q%h/
+N; ^c)CJ6CN <  	53444/52<s?OO # (:sttt K$4 K  	J 	BAAAAA;;cj'<
 
 !$$T**>CF2667IJJJs0   A# #
B-A==B%D9 9
E( E##E()typingr   r   r   r<   exceptions_typesr   r   syntaxr	   r
   r   r   r   rfc_constantsr   dns.resolverdnsresolverResolver	_Resolverobjectr7   bytesboolintrR        rQ   <module>rb      s   1 1 1 1 1 1 1 1 1 1     > > > > > > > > M  M  M  M  M  M  M  M  M  M  M  M  M  M 9 9 9 9 9 9 %III &*#)-+/)-+/'++/!(,e e eee TN	e
 e !e #4.e !e #4.e tne #4.e c]e 9%e e e e e e era   