+
    ni;                     X   ^RI Ht ^RIHt ^RIHtHtHtHtH	t	H
t
HtHtHtHtHtHtHt ^ RIt^ RIt^ RIt^ RIt^ RIHtHtHtHt R R ltR R	 ltR
 R lt ! R R]4      tR R R lltR!R R llt R R lt!R R lt" ! R R]4      t#R"R R llt$R R lt% ! R R]4      t&R R lt'R# )#   )EmailSyntaxErrorValidatedEmail)EMAIL_MAX_LENGTHLOCAL_PART_MAX_LENGTHDOMAIN_MAX_LENGTHDOT_ATOM_TEXTDOT_ATOM_TEXT_INTLATEXT_REATEXT_INTL_DOT_REATEXT_HOSTNAME_INTL
QTEXT_INTLDNS_LABEL_LENGTH_LIMITDOT_ATOM_TEXT_HOSTNAMEDOMAIN_NAME_REGEXDOMAIN_LITERAL_CHARSN)OptionalTuple	TypedDictUnionc                |    V ^8  d   QhR\         R\        \        \         ,          \         \         \        3,          /# )   emailreturn)strr   r   bool)formats   "pC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO\maestro-backend\venv\Lib\site-packages\email_validator/syntax.py__annotate__r      s4     xG xGs xGuXc]Cd%BC xG    c                    R  R lpR R lpV! V R4      w  r4VP                  R4      '       Ed   VP                  4       pV! V4      w  rVV'       g   V Uu0 uF:  p\        P                  ! V4      '       g   VR8w  g
   VR8X  g   K/  \	        V4      kK<  	  ppV'       d2   \        RR	P                  \        V4      4      ,           R,           4      h\        VR
R7       RV9  d   \        R4      hVP                  R4      pVR,          R8w  d   \        R4      hVR,          P                  R4      p	V! V	R4      w  rMRpY4rVP                  R4      '       d
   VR,          pV! V
4      w  rWZW3# u upi )c                x    V ^8  d   QhR\         R\        \         R3,          R\        \         \         3,          /# )r   textspecials.r   )r   r   )r   s   "r   r   !split_email.<locals>.__annotate__2   s6     ?% ?%s ?%eCHo ?%RWX[]`X`Ra ?%r    c                    R pR pRp\        V 4       F  w  rV\        P                  ! RWR 4      ^ ,          V8w  d   WF,          pK4  V'       d5   WF,          pVR8X  d   V'       g   RpKW  VR8X  d   V'       g   R pR pKl  R pKp  VR8X  d   WF,          pRpK  Wa9   d    MWF,          pK  	  \        V4      \        V 4      8X  d0   RV 9   d   \	        R4      hR	V 9   d   \	        R
4      h\	        R4      hV \        V4      R pWG3# )F NFCN\T"u   ＠zZThe email address has the "full-width" at-sign (@) character instead of a regular at-sign.u   ﹫zWThe email address has the "small commercial at" character instead of a regular at-sign.z%An email address must have an @-sign.)	enumerateunicodedata	normalizelenr   )r#   r$   inside_quoteescaped	left_partic
right_parts   &&      r    split_string_at_unquoted_special5split_email.<locals>.split_string_at_unquoted_special2   s   
 	dODA $$UDH5a8A=		9W"G#Xg#(L#G#Gc	#	5 $> y>SY& }&  (F  G  G }&  (A  B  B"#JKK #i./*
$$r    c                R    V ^8  d   QhR\         R\        \         \        3,          /# )r   r#   r   )r   r   r   )r   s   "r   r   r%   s   s#      C E#t),< r    c           
      x   R pR pRp\        V 4       F  w  rEV'       d}   V'       d   W5,          pR pK!  VR8X  d   RpK,  VR8X  dM   V\        V 4      ^,
          8w  d2   \        RRP                  R W^,           R  4       4      ,           4      h W13# W5,          pK  V^ 8X  d   VR8X  d   RpK  W5,          pK  	  W13# )	Fr'   r)   Tr*   z,Extra character(s) found after close quote: , c              3   8   "   T F  p\        V4      x  K  	  R # 5iNsafe_character_display.0r3   s   & r   	<genexpr>=split_email.<locals>.unquote_quoted_string.<locals>.<genexpr>   s     :k^jYZ;QRS;T;T^j   N)r+   r.   r   join)r#   quotedr0   valuer2   r3   s   &     r   unquote_quoted_string*split_email.<locals>.unquote_quoted_strings   s    
 dODAJE#G$Y"G#XCIM)./]15:k^bghchci^j:k1k0l m m } JEaAH
# $& }r    @< .z>The display name contains invalid characters when not quoted: r9   Tallow_space>zoAn open angle bracket at the start of the email address has to be followed by a close angle bracket at the end.z0There can't be anything after the email address.:r   NNN)rH   rI   )rH   )	
startswithrstripr   matchr=   r   rC   sortedcheck_unsafe_chars)r   r5   rF   r1   r4   display_namedisplay_name_quotedr3   	bad_chars	addr_spec
local_partdomain_partis_quoted_local_parts   &            r   split_emailr\      s   H?%B< =UJOI S!!$$&	 -B),L) # &%A q))a3h18 *&q)%  
 &'gjnjsjstz  |E  uF  kG  (G  JM  (M  N  N 	<T: j "  $U  V  V&&s+
b>S "#UVV rN))#.	 #C9f"U
K
 "+Kc""!"o (=Z'H$J[FFKs    E07E0E0c                <    V ^8  d   QhR\         R\        R\         /# )r   addrlimitr   )r   int)r   s   "r   r   r      s!     2 2C 2 2 2r    c                N    \        V 4      V,
          pV^8  d   RMRpRV RV R2# )zEHelper function to return an error message related to invalid length.sr'   (
 character
 too many))r.   )r^   r_   diffsuffixs   &&  r   get_length_reasonrh      s2    t9uD1HS"FtfJvhj11r    c                0    V ^8  d   QhR\         R\         /# )r   r3   r   r   )r   s   "r   r   r      s     " "c "c "r    c                 8   V R 8X  d   RV  R2# \         P                  ! V 4      ^ ,          R9   d   \        V 4      # \        V 4      R8  d   R\        V 4      R 2P	                  4       pMR\        V 4      R 2P	                  4       p\         P
                  ! W4      # )r)   r*   i  zU+04x08xLNPS)r,   categoryreprorduppername)r3   hs   & r   r=   r=      s    DyA3bzAq!%99Aw 1vQ##%Q##% A!!r    c                   ,   a  ] tR t^t o V 3R ltRtV tR# )LocalPartValidationResultc                N   < V ^8  d   Qh/ S[ ;R&   S[S[ ,          ;R&   S[;R&   # )r   rY   ascii_local_partsmtputf8)r   r   r   )r   __classdict__s   "r   r   &LocalPartValidationResult.__annotate__   s*     O sm#  N r     N__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__r~   s   @r   rz   rz            r    rz   c                `    V ^8  d   QhR\         R\        R\        R\        R\        R\        /# )r   localallow_smtputf8allow_empty_localquoted_local_partstrictr   )r   r   rz   )r   s   "r   r   r      sJ     ^_ ^_S ^_$ ^_Z^ ^_15^_GK^_Xq^_r    c                   \        V 4      ^ 8X  d   V'       g   \        R4      hRV RV RR/# V'       d5   \        V 4      \        8  d!   \        V \        R7      p\        RV R24      h\        P
                  ! V 4      '       d	   RV RV RR/# R	pRp\        P
                  ! V 4      '       d   V'       g}   V  Uu0 uF,  p\        P
                  ! V4      '       d   K!  \        V4      kK.  	  p	pV	'       d2   \        R
RP                  \        V	4      4      ,           R,           4      h\        R4      hRpRpMV'       d   V  Uu0 uF,  p\        P
                  ! V4      '       d   K!  \        V4      kK.  	  p	pV	'       d2   \        RRP                  \        V	4      4      ,           R,           4      hV  Uu0 uF*  p^ \        V4      u;8:  d
   ^~8:  d   K  M \        V4      kK,  	  p	pV	'       d<   RpV'       g2   \        R
RP                  \        V	4      4      ,           R,           4      hRpV'       dd   \        WR8H  R7        V P                  R4       TR8X  d'   R\         P"                  ! RRT 4      ,           R,           p RT RT'       g   T RT/# R	RT/# V  Uu0 uF,  p\$        P
                  ! V4      '       d   K!  \        V4      kK.  	  p	pV	'       d2   \        RRP                  \        V	4      4      ,           R,           4      h\'        V RRRR7       \        R4      hu upi u upi u upi   \         d   p
\        R4      T
hR	p
?
ii ; iu upi )z;Validates the syntax of the local part of an email address.z*There must be something before the @-sign.rY   r|   r}   Fr_   z0The email address is too long before the @-sign rK   NzBInternationalized characters before the @-sign are not supported: r9   zAInternationalized characters before the @-sign are not supported.zdot-atomTzKThe email address contains invalid characters in quotes before the @-sign: rD   rL   utf8z0The email address contains an invalid character.r*   z(["\\])z\\\1zAThe email address contains invalid characters before the @-sign: z(An email address cannot start with a {}.z@An email address cannot have a {} immediately before the @-sign.is_hostnamez@The email address contains invalid characters before the @-sign.)r.   r   r   rh   r	   rR   r
   r   r=   rC   rS   r   ru   rT   encode
ValueErrorresubr   check_dot_atom)r   r   r   r   r   reasonvalidrequires_smtputf8r3   rW   es   &&&&&      r   validate_email_local_partr      s    5zQ "#OPP
 %
 	
 #e*44"50EF!QRXQYYZ[\\ 5!! %
 	
  E&& A~~a( *&q)  
 &'knrnwnwx~  @I  yJ  oK  (K  NQ  (Q  R  R ##fgg   
 
##A& &"1% 	 

 "#psws|s|  ~D  EN  ~O  tP  $P  SV  $V  W  W
 
#a&'C' &' #1% 	 

  $ "&'knrnwnwx~  @I  yJ  oK  (K  NQ  (Q  R  R   	5/@B
	^LL  H"&&We<<sBE %->)
 	
DH)
 	
 A &&q) 	"q!  
 beienenouv  pA  fB   B  EH   H  I  	I 5D  GI  W\  ] ]
^^G0

<  	^"#UV\]]	^,sH   8LLL$$L$2L)L)L. M;M.M
9MM
c                4    V ^8  d   QhR\         R\        RR/# )r   rb   rM   r   Nr   r   )r   s   "r   r   r     s&     1h 1h# 1hD 1hT 1hr    c           	      P   \        4       p\        V 4       F  w  r4\        P                  ! V4      pV^ ,          R
9   d   K+  V^ ,          R8X  d   V^ 8X  d   VP	                  V4       KS  KU  VR8X  d   V'       g   VP	                  V4       Kw  Ky  V^ ,          R8X  d   VP	                  V4       K  V^ ,          R8X  d   VP	                  V4       K  VP	                  V4       K  	  V'       d9   \        RRP                  R \        V4       4       4      ,           R,           4      hR	# )    MZsZCz.The email address contains unsafe characters: r9   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir;   r<   r>   s   & r   r@   %check_unsafe_chars.<locals>.<genexpr>  s     *`N_+A!+D+DN_rB   rK   Nrn   )setr+   r,   rs   addr   rC   rS   )rb   rM   rW   r2   r3   rs   s   &&    r   rT   rT     s    I!''*A;..a[C
 Ava   a  a[C
 MM!a[C MM! MM!U V O!%*`fU^N_*`!` acf g h 	h r    c          
      L    V ^8  d   QhR\         R\         R\         R\        RR/# )r   labelstart_descr	end_descrr   r   Nr   )r   s   "r   r   r     s7     m m# mC mC md mW[ mr    c                    V P                  R 4      '       d   \        VP                  R4      4      hV P                  R 4      '       d   \        VP                  R4      4      hRV 9   d   \        R4      hV'       d~   V P                  R4      '       d   \        VP                  R4      4      hV P                  R4      '       d   \        VP                  R4      4      hRV 9   g   RV 9   d   \        R4      hR	# R	# )
rK   periodz..z2An email address cannot have two periods in a row.-hyphenz.-z-.zFAn email address cannot have a period and a hyphen next to each other.N)endswithr   r   rP   )r   r   r   r   s   &&&&r   r   r     s    ~~cy//9::{11(;<<u}STT>>#"9#3#3H#=>>C  ";#5#5h#?@@5=DEM"#kll * r    c                0    V ^8  d   QhR\         R\        /# )r   charr   r   )r   s   "r   r   r     s      3 4 r    c                    \        V 4      p^Tu;8:  d
   ^8:  d    R#  RTu;8:  d   R8:  d(   M M$RTu;8:  d   R8:  g   M RTu;8:  d   R8:  d1   M R# VR9   g&   RTu;8:  d   R	8:  g   M R
Tu;8:  d
   R8:  d    R#  MR# \        P                  ! \        V4      4      R9   d   R# R\        P                  ! \        V4      4      P                  R4      9   d   R# R# )   Fi   i`   i$   i&   i(   i.   i   i   i i T002ErJ   )   id   i  )CfCnCoCsr   ZlZp)ru   r,   rs   chrdecompositionsplit)r   r3   s   & r   uts46_valid_charr     s    
 	D	AqD  Q & &A*?*?&TUJ_Y_J_  **q"F"$W$  % 			c!f	%)S	S 	;,,SV4::3?	?r    c                   ,   a  ] tR tRt o V 3R ltRtV tR# )DomainNameValidationResulti  c                2   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   # )r   ascii_domaindomainrj   )r   r~   s   "r   r   'DomainNameValidationResult.__annotate__  s      K r    r   Nr   r   s   @r   r   r     r   r    r   c                H    V ^8  d   QhR\         R\        R\        R\        /# )r   r   test_environmentglobally_deliverabler   )r   r   r   )r   s   "r   r   r     s4     D Ds Dd Dbf D  sM Dr    c                6
   V  Uu0 uF,  p\         P                  ! V4      '       d   K!  \        V4      kK.  	  ppV'       d2   \        RRP	                  \        V4      4      ,           R,           4      h\        V 4       V  Uu0 uF!  p\        V4      '       d   K  \        V4      kK#  	  ppV'       d2   \        RRP	                  \        V4      4      ,           R,           4      hT p \        P                  ! V RRR7      p T  Uu0 uF,  p\         P                  ! T4      '       d   K!  \        T4      kK.  	  ppT'       d2   \        R	RP	                  \        T4      4      ,           R,           4      h\        T R
RRR7       T P                  R4       F:  p\        P                  ! RT\        P                  4      '       g   K1  \        R4      h	  \        P                  ! T 4      '       d   T pMO RP	                  R T P                  R4       4       4      p\        P                  ! T4      '       g   \        R4      h\!        T4      \"        8  dZ   Y8X  d!   \%        T\"        R7      p	\        RT	 R24      h\!        T4      \"        ,
          p
T
^8X  d   RMRp\        RT
 RT R24      hTP                  R4       F7  p\!        T4      \&        8  g   K  \%        T\&        R7      p	\        RT	 R24      h	  T'       dI   RT9  d   TR8X  d	   T'       g   \        R4      h\(        P*                  ! T4      '       g   \        R4      h^RIHp T FC  pTR8X  d   T'       d   K  Y8X  g!   TP1                  RT,           4      '       g   K:  \        R4      h	   \        P2                  ! TP5                  R 4      4      pT Uu0 uF,  p\         P                  ! T4      '       d   K!  \        T4      kK.  	  ppT'       d2   \        RRP	                  \        T4      4      ,           R,           4      h\        T4        \        P4                  ! T4       R#TR$T/# u upi u upi   \        P                   d   p\        RT R24      ThRp?ii ; iu upi   \        P                   d   p\        RT R24      ThRp?ii ; i  \        P                   d   p\        R!T R24      ThRp?ii ; iu upi   \        P                   d   p\        R"T R24      ThRp?ii ; i)%z<Validates the syntax of the domain part of an email address.z7The part after the @-sign contains invalid characters: r9   rK   F)
std3_rulestransitionalz7The part after the @-sign contains invalid characters ().NzSThe part after the @-sign contains invalid characters after Unicode normalization: z?An email address cannot have a {} immediately after the @-sign.z&An email address cannot end with a {}.Tr   z
(?!xn)..--zAn email address cannot have two letters followed by two dashes immediately after the @-sign or after a period, except Punycode.c              3   l   "   T F*  p\         P                  ! V4      P                  R 4      x  K,  	  R# 5i)asciiN)idnaalabeldecode)r?   r   s   & r   r@   -validate_email_domain_name.<locals>.<genexpr>G  s.      $.E E"))'22.s   24z&The part after the @-sign is invalid (zSThe email address contains invalid characters after the @-sign after IDNA encoding.r   z/The email address is too long after the @-sign r'   rb   z0The email address is too long after the @-sign ( bytez too many after IDNA encoding).zDAfter the @-sign, periods cannot be separated by so many characters testz@The part after the @-sign is not valid. It should have a period.zRThe part after the @-sign is not valid. It is not within a valid top-level domain.)SPECIAL_USE_DOMAIN_NAMESz[The part after the @-sign is a special-use or reserved name that cannot be used with email.r   z-The part after the @-sign is not valid IDNA (zXThe part after the @-sign became invalid after normalizing to international characters (r   r   )r   rR   r=   r   rC   rS   rT   r   r   uts46_remap	IDNAErrorr   r   r   Ir   r.   r   rh   r   r   searchr'   r   r   r   r   )r   r   r   r3   rW   original_domainr   r   r   r   rf   rb   r   ddomain_i18ns   &&&            r   validate_email_domain_namer     s<    A"((+ 	"q!  
 X[_[d[dekluev[wwz}}~~ v
 ,2+1a" 	"q!6   X[_[d[dekluev[wwz}}~~ Og!!&UO A"((+ 	"q!  
 tw{  xA  xA  BH  IR  BS  xT   T  WZ   Z  [  	[ 6\  _G  UY  Z c"88M5"$$//"  $f  g  g # ##F++	Z88 $#\\#.$ L &++L99"#xyy <,,*&|;LMF"%TU[T\\]#^__|$'88DaiSA"%UVZU[[`ab`c  dC  $D  E  E ##C(u:..&u4JKF"%ijpiqqr#stt )
  l"LF,BGW"#eff !''55"#wxx +%;+ 5 5cAg > >"  $A  B  B & ]kk,"5"5g">? A"((+ 	"q!  
 X[_[d[dekluev[wwz}}~~{#HK  	+ y $ >> g!XYZX[[]^_effg
Z ~~ 	Z"%KA3b#QRXYY	ZL >> ]!NqcQSTU[\\] >> H!yz{y||~  A  GH  	HHs   QQQQ&Q R
&R
.'R %R< >S)!S)7S. R2RRR9$R44R9<S&S!!S&.TTTc                (    V ^8  d   QhR\         RR/# )r   addrinfor   Nr   )r   s   "r   r   r     s     <O <ON <Ot <Or    c                 x   V P                   R 3V P                  R3V P                  ;'       g    V P                  ;'       g    RR,           V P                  ,           R3.pV F  w  r#\        V4      p\        VP                  R4      4      pV\        ,
          pV^ 8  g   K@  Vf   WE8X  d   \        V\        R7      pMkVfM   \        R V 4       4      p\        ^Wg,          4      pV^8  d   RMRp	W8X  d   R	V R
V	 R2pM(R	V RV R
V	 R2pMV^8  d   RMRp	VRV RV	 R2,          p\        RV R24      h	  R # )Nzafter normalizationr'   rH   z9when the part after the @-sign is converted to IDNA ASCIIr   r   c              3   V   "   T F  p\        VP                  R 4      4      x  K!  	  R# 5i)r   N)r.   r   r>   s   & r   r@   (validate_email_length.<locals>.<genexpr>  s!     ?$Q3qxx/00$s   ')rb   rc   rd   re   r   z (r   zThe email address is too long rK   )original
normalizedr|   rY   r   r.   r   r   rh   maxr   )
r   addresses_to_checkr^   r   addr_lenaddr_utf8_lenrf   mbpcmcharsrg   s
   &         r   validate_email_lengthr     s\   2 
		D!			34

#
#
@
@x':':
@
@bC	G(J_J_	_  b]  	^ +t9DKK/0//!8~("; +47GH ?$??Q- $qb> j
CF $z&LF
 !%qbBtfE&<<"%CF81#MNN= +r    c                   ,   a  ] tR tRt o V 3R ltRtV tR# )DomainLiteralValidationResulti  c                p   < V ^8  d   Qh/ S[ S[P                  S[P                  3,          ;R&   S[;R&   # )r   domain_addressr   )r   	ipaddressIPv4AddressIPv6Addressr   )r   r~   s   "r   r   *DomainLiteralValidationResult.__annotate__  s0     )//1F1FFGG K r    r   Nr   r   s   @r   r   r     r   r    r   c                0    V ^8  d   QhR\         R\        /# )r   domain_literalr   )r   r   )r   s   "r   r   r     s     9m 9m# 9m:W 9mr    c                    \         P                  ! R V 4      '       d"    \        P                  ! V 4      pRTRRT R2/# V P                  R4      '       d3    \        P                  ! V R	,          4      pRTRRTP                   R2/# RV 9  d   \        R4      hV  Uu0 uF,  p\        P                  ! V4      '       d   K!  \        V4      kK.  	  ppV'       d2   \        RRP                  \        V4      4      ,           R,           4      h\        R4      h  \         d   p\        RT R24      ThRp?ii ; i  \         d   p\        R
T R24      ThRp?ii ; iu upi )z
^[0-9\.]+$zRThe address in brackets after the @-sign is not valid: It is not an IPv4 address (z') or is missing an address literal tag.Nr   r   []zIPv6::   NNz<The IPv6 address in brackets after the @-sign is not valid (r   z[IPv6::z\The part after the @-sign in brackets is not an IPv4 address and has no address literal tag.zCThe part after the @-sign contains invalid characters in brackets: r9   rK   zNThe part after the @-sign contains an invalid address literal tag in brackets.)r   rR   r   r   r   r   rP   r   
compressedr   r=   rC   rS   )r   r^   r   r3   rW   s   &    r   validate_email_domain_literalr    s    
xx~..	k((8D d$qk
 	
   ))	p(();<D dt/q1
 	
 . }~~  A#))!, 	"q!  
 dgkgpgpqw  yB  rC  hD   D  GJ   J  K  	K k
llY  	k"%wxywz  {b  $c  d  jk  k	k  	p"%abcaddf#ghnoo	p*s;   D D9 EED6!D11D69EEE)TFFF)F)FT)(
exceptionsr   typesr   rfc_constantsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r,   r   r   typingr   r   r   r   r\   rh   r=   rz   r   rT   r   r   r   r   r   r   r  r   r    r   <module>r     s    ( !\ \ \ \ 
    4 4xGv2""	 ^_B1hhm&< 
DN<O~I 
9mr    