+
     Bi                        R R.t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ]P                   tR	t]P$                  ! R
4      tR tRR ltR tR tR t ! R R 4      t ! R R]4      t ! R R]4      tR# )MessageEmailMessageN)BytesIOStringIO)utils)errors)compat32charset)decode_bz; z[ \(\)<>@,;:\\"/\[\]\?=]c                     \        V 4      P                  R 4      w  rpV'       g   VP                  4       R3# VP                  4       VP                  4       3# );N)str	partitionstrip)paramasepbs   &   $/usr/lib/python3.14/email/message.py_splitparamr      sF    
 E
$$S)IAAwwy$779aggi    c                    Ve   \        V4      ^ 8  d   \        V\        4      '       d@   V R,          p \        P                  ! V^,          V^ ,          V^,          4      pV : RV: 2#  VP                  R4       T'       g   \        P                  T4      '       d   T : R\        P                  ! T4      : R2# T : RT: 2# V #   \         d.    T R,          p \        P                  ! TRR4      pT : RT: 2u # i ; i)N*=asciizutf-8 z="")
len
isinstancetupler   encode_rfc2231encodeUnicodeEncodeError	tspecialssearchquote)r   valuer&   s   &&&r   _formatparamr(   '   s     SZ!^ eU##SLE((q58U1XFE#U++0W% I$$U++ %u{{5'9::#U++ & 0,,UGR@"'//0s   +C 5D ?D c                 j   R \        V 4      ,           p . pV R,          R 8X  Ed   V R,          p V P                  R 4      pV^ 8  dT   V P                  R^ V4      V P                  R^ V4      ,
          ^,          '       d   V P                  R V^,           4      pKZ  V^ 8  d   \        V 4      pV RV pRV9   dX   VP	                  R4      pVRV P                  4       P                  4       R,           W4^,           R P                  4       ,           pVP                  VP                  4       4       WR p EK  V# )r   :N   Nr*   NNr   z\"Nr   )r   findcountr   indexr   lowerappend)splistendfis   &    r   _parseparamr6   I   s    c!fAE
B%3,bEffSkAg17733/!''%C2HHAMM&&cAg&C7a&CdsG!8A"1##%+a!gmmo=AQWWYdGLr   c                     \        V \        4      '       d/   V ^ ,          V ^,          \        P                  ! V ^,          4      3# \        P                  ! V 4      # )    )r   r    r   unquote)r'   s   &r   _unquotevaluer:   ]   sB    
 %Qxq5==q#:::}}U##r   c                    . p\        V P                  4       4      pV FM  pVP                  R 4      '       g   K  VP                  R 4      P	                  R4      w  rEp \        V^R7        M	  \        R4      hV FV  pV'       g   \        R4      hVP                  R4      R8X  d    M, \        P                  ! V4      pVP                  V4       KX  	  RP                  V4      #   \         d     K  i ; i  \        P                   dI    T^ ,          ^ ,
          ^?,          ^,          ^,           ^,          p\        P                  ! TRT 4      p Li ; i)	s   begin     )basez`begin` line not foundzTruncated inputs    	
s   endNr   )iter
splitlines
startswithremoveprefixr   int
ValueErrorr   binasciia2b_uuErrorr0   join)	encodeddecoded_linesencoded_lines_iterlinemode_pathdecoded_linenbytess	   &        r   
_decode_uurQ   h   s3   Mg0023"??9%% --i8BB4HMDTDq!  # 122".//ZZ%/	:#??40L
 	\* # 88M""'   ~~ 	:Q
b(A-1a7F#??4=9L	:s%   C'+C9'C65C69AEEc                   |  a  ] tR t^t o ]3R ltR tR1R ltR tR2R lt	R t
R tR	 tR
 tR3R ltR4R ltR tR tR tR tR tR tR tR tR tR tR tR4R ltR tR tR4R ltR tR t R t!R t"R  t#R! t$R" t%R# t&R5R$ lt'R5R% lt(R6R& lt)R7R' lt*R8R( lt+R4R) lt,R4R* lt-R+ t.R4R, lt/R4R- lt0R. t1^ R/I2H3t3 R0t4V t5R# )9r   c                    Wn         . V n        R V n        R V n        R V n        R ;V n        V n        . V n        RV n        R # )N
text/plain)	policy_headers	_unixfrom_payload_charsetpreambleepiloguedefects_default_type)selfrU   s   &&r   __init__Message.__init__   s@    (,,)r   c                "    V P                  4       # N)	as_stringr^   s   &r   __str__Message.__str__   s     ~~r   Nc                    ^ RI Hp Vf   V P                  MTp\        4       pV! VRVVR7      pVP	                  WR7       VP                  4       # )r8   )	GeneratorF)mangle_from_maxheaderlenrU   unixfrom)email.generatorrh   rU   r   flattengetvalue)r^   rl   rj   rU   rh   fpgs   &&&&   r   rc   Message.as_string   sN     	. &FZb#(#/#% 	
		$	*{{}r   c                "    V P                  4       # rb   )as_bytesrd   s   &r   	__bytes__Message.__bytes__   s     }}r   c                    ^ RI Hp Vf   V P                  MTp\        4       pV! VRVR7      pVP	                  WR7       VP                  4       # )r8   )BytesGeneratorF)ri   rU   rk   )rm   rx   rU   r   rn   ro   )r^   rl   rU   rx   rp   rq   s   &&&   r   rt   Message.as_bytes   sE     	3 &FY2E&A			$	*{{}r   c                6    \        V P                  \        4      # rb   )r   rX   listrd   s   &r   is_multipartMessage.is_multipart   s    $--..r   c                    Wn         R # rb   rW   )r^   rl   s   &&r   set_unixfromMessage.set_unixfrom   s    !r   c                    V P                   # rb   r   rd   s   &r   get_unixfromMessage.get_unixfrom   s    ~~r   c                    V P                   f   V.V n         R #  V P                   P                  V4       R #   \         d    \        R4      hi ; i)Nz=Attach is not valid on a message with a non-multipart payload)rX   r0   AttributeError	TypeError)r^   payloads   &&r   attachMessage.attach   sO     == $IDM:$$W-! : !9 : ::s	   7 Ac                8   V P                  4       '       d.   V'       d   R # Vf   V P                  # V P                  V,          # VeF   \        V P                  \        4      '       g&   \	        R\        V P                  4      ,          4      hV P                  pV P                  RR4      p\        VR4      '       d   VP                  pM'\        V4      P                  4       P                  4       pV'       gl   \        V\        4      '       dT   \        P                  ! V4      '       d8    VP                  RR4      p VP                  V P!                  R4      R4      pV# V# \        V\        4      '       d    VP                  RR4      pMTpVR	8X  d   \&        P(                  ! V4      # VR
8X  dQ   \+        RP-                  VP/                  4       4      4      w  rgV F  pV P0                  P3                  W4       K   	  V# VR9   d    \5        V4      # \        V\        4      '       d   V# V#   \"         d    TP                  RR4      p T# i ; i  \$         d     T# i ; i  \$         d    TP                  R4      p Li ; i  \6         d    Tu # i ; i)NzExpected list, got %szcontent-transfer-encodingr   cter   surrogateescapereplaceraw-unicode-escapezquoted-printablebase64r   )z
x-uuencodeuuencodeuuezx-uue)r|   rX   r   r{   r   typegethasattrr   r   r   r/   r   _has_surrogatesr"   decodeget_content_charsetLookupErrorr#   quopridecodestringr   rG   r?   rU   handle_defectrQ   rC   )	r^   r5   r   r   r   bpayloadr'   r\   defects	   &&&      r   get_payloadMessage.get_payload   sO   D y}}$}}Q'' =DMM4!@!@3d4==6IIJJ--hh2B73''C c(.."((*C'3''E,A,A',J,J&~~g7HIHF"*//$2J2J72SU^"_
 N7Ngs##@">>'3DE H$$&&x00H_ &chhx/B/B/D&EFNE!))$7 "L>> !(++ gs##OC ' F"*//'9"E N	F) N & @
 #>>*>?@(    sT   ,I ?!H1 ;I' 
J	 1II II I$#I$'JJ	JJc                J   \        VR 4      '       dJ   Vf	   Wn        R# \        V\        4      '       g   \        V4      pVP	                  VP
                  R4      p\        VR4      '       d   VP                  RR4      V n        MWn        Ve   V P                  V4       R# R# )r"   Nr   r   r   )r   rX   r   Charsetr"   output_charsetr   set_charset)r^   r   r
   s   &&&r   set_payloadMessage.set_payloadQ  s     7H%% 'gw//!'*nnW%;%;=NOG7H%%#NN74EFDM#MW% r   c                   Vf   V P                  R4       R V n        R # \        V\        4      '       g   \        V4      pWn        RV 9  d   V P	                  RR4       RV 9  d$   V P	                  RRVP                  4       R7       M V P                  RVP                  4       4       WP                  4       8w  d!   VP                  V P                  4      V n        RV 9  d   VP                  4       p V! V 4       R # R #   \         d    T P                  pT'       dA    TP                  RR	4      pM,  \         d    TP                  TP                  4      p Mi ; iTP                  T4      T n        T P	                  RT4        R # i ; i)
Nr
   MIME-Version1.0Content-TyperT   r	   zContent-Transfer-Encodingr   r   )	del_paramrY   r   r   
add_headerget_output_charset	set_parambody_encoderX   get_body_encodingr   r"   UnicodeErrorr   )r^   r
   r   r   s   &&  r   r   Message.set_charsete  s_    ?NN9% DM'7++g&G%OONE2%OONL$+$>$>$@  B NN9g&@&@&BC0022#//>DM&d2++-CBD	 3  B --I")..:K"L' I")..1G1G"HI ' 3 3G < ;SABs6   5D F!D43F4&EFE+FFc                    V P                   # rb   )rY   rd   s   &r   get_charsetMessage.get_charset  s     }}r   c                ,    \        V P                  4      # rb   )r   rV   rd   s   &r   __len__Message.__len__  s    4==!!r   c                $    V P                  V4      # rb   )r   )r^   names   &&r   __getitem__Message.__getitem__  s     xx~r   c                   V P                   P                  V4      pV'       dh   VP                  4       p^ pV P                   FE  w  rgVP                  4       V8X  g   K  V^,          pWS8  g   K-  \	        RP                  W14      4      h	  V P                  P                  V P                   P                  W4      4       R# )r8   z/There may be at most {} {} headers in a messageN)rU   header_max_countr/   rV   rC   formatr0   header_store_parse)r^   r   val	max_countlnamefoundkvs   &&&     r   __setitem__Message.__setitem__  s     KK006	JJLEE779%QJE)( *88>y8OQ Q	 & 	T[[;;DFGr   c                    VP                  4       p. pV P                   F.  w  r4VP                  4       V8w  g   K  VP                  W434       K0  	  W n        R # rb   )r/   rV   r0   )r^   r   
newheadersr   r   s   &&   r   __delitem__Message.__delitem__  sI    
 zz|
MMDAwwyD !!1&) " #r   c                ~    VP                  4       pV P                   F  w  r4W#P                  4       8X  g   K   R # 	  R# )TF)r/   rV   )r^   r   
name_lowerr   r   s   &&   r   __contains__Message.__contains__  s1    ZZ\
MMDAWWY& " r   c              #  @   "   V P                    F	  w  rVx  K  	  R # 5irb   rV   )r^   fieldr'   s   &  r   __iter__Message.__iter__  s      MMLEK *s   c                N    V P                    UUu. uF  w  rVNK	  	  upp# u uppi rb   r   r^   r   r   s   &  r   keysMessage.keys  s"     #mm,mdam,,,s   !c                    V P                    UUu. uF   w  rV P                  P                  W4      NK"  	  upp# u uppi rb   rV   rU   header_fetch_parser   s   &  r   valuesMessage.values  s>     !MM+)DA ..q4)+ 	+ +s   &:c           	         V P                    UUu. uF!  w  rWP                  P                  W4      3NK#  	  upp# u uppi rb   r   r   s   &  r   itemsMessage.items  sA     !MM+)DA KK22189)+ 	+ +s   ';c                    VP                  4       pV P                   F7  w  r4VP                  4       V8X  g   K  V P                  P                  W44      u # 	  V# rb   )r/   rV   rU   r   )r^   r   failobjr   r   s   &&&  r   r   Message.get  sI     zz|MMDAwwyD {{55a;; " r   c                >    V P                   P                  W34       R # rb   )rV   r0   )r^   r   r'   s   &&&r   set_rawMessage.set_raw  s    
 	d]+r   c                H    \        V P                  P                  4       4      # rb   )r>   rV   copyrd   s   &r   	raw_itemsMessage.raw_items  s    
 DMM&&())r   c                    . pVP                  4       pV P                   FF  w  rEVP                  4       V8X  g   K  VP                  V P                  P	                  WE4      4       KH  	  V'       g   V# V# rb   )r/   rV   r0   rU   r   )r^   r   r   r   r   r   s   &&&   r   get_allMessage.get_all  s\     zz|MMDAwwyD dkk<<QBC " Nr   c           	     :   . pVP                  4        FW  w  rVVf$   VP                  VP                  RR4      4       K,  VP                  \        VP                  RR4      V4      4       KY  	  Ve   VP	                  ^ V4       \
        P                  V4      W&   R # )NrM   -)r   r0   r   r(   insert	SEMISPACErG   )r^   _name_value_paramspartsr   r   s   &&&,   r   r   Message.add_header)  s{    ( MMODAyQYYsC01\!))C*=qAB	 $
 LLF#nnU+r   c                4   VP                  4       p\        \        \        V P                  4      4      V P                  4       FH  w  pw  rEVP                  4       V8X  g   K  V P
                  P                  WB4      V P                  V&    R # 	  \        V4      hrb   )r/   zipranger   rV   rU   r   KeyError)r^   r   r   r5   r   r   s   &&&   r   replace_headerMessage.replace_headerG  ss     U3t}}#56FIAvwwyE!#';;#A#A!#La  G
 5/!r   c                    \        4       pV P                  R V4      pW!J d   V P                  4       # \        V4      ^ ,          P	                  4       pVP                  R4      ^8w  d   R# V# )content-type/rT   )objectr   get_default_typer   r/   r-   )r^   missingr'   ctypes   &   r   get_content_typeMessage.get_content_typeZ  sa     (1((**E"1%++-;;sq r   c                R    V P                  4       pVP                  R 4      ^ ,          # r   r  splitr^   r  s   & r   get_content_maintypeMessage.get_content_maintyper  &     %%'{{3""r   c                R    V P                  4       pVP                  R 4      ^,          # r  r	  r  s   & r   get_content_subtypeMessage.get_content_subtype{  r  r   c                    V P                   # rb   r]   rd   s   &r   r  Message.get_default_type  s     !!!r   c                    Wn         R # rb   r  r  s   &&r   set_default_typeMessage.set_default_type  s
     #r   c                r   \        4       pV P                  W#4      pWCJ d   V# . p\        V4       FJ  p VP                  R ^4      w  rxVP	                  4       pVP	                  4       pVP                  Wx34       KL  	  \        P                  ! V4      pV#   \
         d    TP	                  4       pRp LMi ; i)r   r   )	r  r   r6   r
  r   rC   r0   r   decode_params)	r^   r   headerr  r'   paramspr   r   s	   &&&      r   _get_params_preserveMessage._get_params_preserve  s     ()NU#AGGCO	zz|iik
 MM4+& $ $$V,  wwys   4BB65B6c                    \        4       pV P                  WB4      pWTJ d   V# V'       d"   V UUu. uF  w  rgV\        V4      3NK  	  upp# V# u uppi rb   )r  r  r:   )r^   r   r  r9   r  r  r   r   s   &&&&    r   
get_paramsMessage.get_params  sT     (**7;N6<=fdaQa()f==M >s   Ac                    W09  d   V# V P                  W#4       FA  w  rVVP                  4       VP                  4       8X  g   K*  V'       d   \        V4      u # Vu # 	  V# rb   )r  r/   r:   )r^   r   r   r  r9   r   r   s   &&&&&  r   	get_paramMessage.get_param  sT    0 N--g>DAwwyEKKM)(++H ? r   c                   \        V\        4      '       g   V'       d   WVV3pW09  d   VP                  4       R 8X  d   RpMV P                  V4      pV P	                  WR7      '       g8   V'       g   \        WV4      pM\        P                  V\        WV4      .4      pM~RpV P                  VVR7       Fe  w  rRpV	P                  4       VP                  4       8X  d   \        WV4      pM\        WV4      pV'       g   TpKO  \        P                  W.4      pKg  	  WP                  V4      8w  d$   V'       d   V P                  W84       R# W WV&   R# R# )r   rT   )r  r   r  r9   N)
r   r    r/   r   r#  r(   r   rG   r   r   )r^   r   r'   r  requoter
   languager   r  	old_param	old_valueappend_params   &&&&&&&&    r   r   Message.set_param  s(   $ %''G.E&,,.N"B EHHV$E~~e~33$U7;!Lw?@B E(,v@G )8 )I$	!??$5#/g#FL#/	g#NL(E%NNE+@AE)I HHV$$##F2L$V %r   c           	     B   W 9  d   R # RpV P                  W#R7       Fa  w  rVVP                  4       VP                  4       8w  g   K*  V'       g   \        WVV4      pK@  \        P	                  V\        WVV4      .4      pKc  	  W@P                  V4      8w  d	   W W@V&   R # R # )Nr   r&  )r   r/   r(   r   rG   r   )r^   r   r  r'  	new_ctyper  r   s   &&&&   r   r   Message.del_param  s     	OO6OCDAwwyEKKM)  ,Q7 ;I )	0<Q70K0M !NI D (($L )r   c                   VP                  R 4      ^8X  g   \        hVP                  4       R8X  d	   V R RV R&   W 9  d   WV&   R# V P                  W#R7      pW WV&   VR,           F  w  rVV P	                  WVW#4       K  	  R# )r   r   zmime-versionr   r   Nr&  r+   )r-   rC   r/   r   r   )r^   r   r  r'  r  r  r   s   &&&&   r   set_typeMessage.set_type,  s      zz#!#<<>^+^$#(D L@LV2JJDANN11 r   c                    \        4       pV P                  R VR4      pW2J d   V P                  RVR4      pW2J d   V# \        P                  ! V4      P	                  4       # )filenamecontent-dispositionr   r   )r  r#  r   collapse_rfc2231_valuer   )r^   r   r  r4  s   &&  r   get_filenameMessage.get_filenameL  s[     (>>*g7LM~~fg~FHN++H5;;==r   c                    \        4       pV P                  R V4      pW2J d   V# \        P                  ! V4      P	                  4       # )boundary)r  r#  r   r6  rstrip)r^   r   r  r:  s   &&  r   get_boundaryMessage.get_boundary\  s@     (>>*g6N++H5<<>>r   c                   \        4       pV P                  VR 4      pW2J d   \        P                  ! R4      h. pRpV FJ  w  rgVP	                  4       R8X  d   VP                  RRV,          34       RpK8  VP                  Wg34       KL  	  V'       g   VP                  RRV,          34       . pV P                   F  w  rV	P	                  4       R 8X  d   . pV F7  w  rV
R8X  d   VP                  V4       K  VP                  V: RV
: 24       K9  	  \        P                  V4      pVP                  V P                  P                  W4      4       K  VP                  W34       K  	  Wn        R# )	r   zNo Content-Type header foundFr:  z"%s"Tr   r   N)r  r  r   HeaderParseErrorr/   r0   rV   r   rG   rU   r   )r^   r:  r  r  	newparamsfoundppkpvr   hr   r   r   r   s   &&            r   set_boundaryMessage.set_boundaryi  sD    (**7NC ))*HII	FBxxzZ'  *fx.?!@A  "*   j&8*;<=
MMDAwwyN*%DABwQ1%56	 &
  nnU+!!$++"@"@"HI !!1&) " #r   c                   \        4       pV P                  R V4      pW2J d   V# \        V\        4      '       d8   V^ ,          ;'       g    Rp V^,          P	                  R4      p\        WT4      p VP	                  R4       VP                  4       #   \        \        3 d    T^,          p L>i ; i  \         d    Tu # i ; i)r
   zus-asciir   )	r  r#  r   r    r"   r   r   r   r/   )r^   r   r  r
   pcharsetrt   s   &&    r   r   Message.get_content_charset  s     (..G4Ngu%%qz//ZH% #1:,,-ABh1	NN:& }}  . %!!*%
  	N	s$   #B 2B3 B0/B03CCc                h    V P                  4        Uu. uF  q"P                  V4      NK  	  up# u upi rb   )walkr   )r^   r   parts   && r   get_charsetsMessage.get_charsets  s,      ?CiikJkd((1kJJJs   /c                t    V P                  R 4      pVf   R# \        V4      ^ ,          P                  4       pV# )r5  N)r   r   r/   )r^   r'   c_ds   &  r   get_content_dispositionMessage.get_content_disposition  s8     ./=% #))+
r   )rK  )	rY   r]   rV   rX   rW   r\   r[   rU   rZ   )Fr8   N)FN)NFrb   )Nr   T)r   TNr   F)r   T)r   T)6__name__
__module____qualname____firstlineno__r   r_   re   rc   ru   rt   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r   r#  r   r   r1  r7  r<  rE  r   rM  rQ  email.iteratorsrK  __static_attributes____classdictcell__)__classdict__s   @r   r   r      s      ' 
* 
0
/": \|&(-B^"	H$
#-	+	+
",*$,<"&0##"#*, D1%f%,2@> ?,#\<K$
 %$r   c                      a a ] tR tRt oRV 3R lltRV 3R lltR tR tR tRR lt	0 Rmt
R	 tR
 tRR/R ltRR/R ltR tRR ltRR ltRR ltRR/R ltR tR tR tR tR tRtVtV ;t# )MIMEParti  Nc                >   < Vf	   ^ RI Hp Tp\        SV `  V4       R # )N)default)email.policyr^  superr_   )r^   rU   r^  	__class__s   && r   r_   MIMEPart.__init__  s    >,F r   c                h   < Vf   V P                   MTpVf   VP                  p\        SV `  WV4      # rb   )rU   max_line_lengthr`  rc   )r^   rl   rj   rU   ra  s   &&&&r   rc   MIMEPart.as_string  s7     !'F!11Lw @@r   c                Z    V P                  V P                  P                  R R7      R7      # )T)utf8rU   )rc   rU   clonerd   s   &r   re   MIMEPart.__str__  s%    ~~T[[%6%6D%6%A~BBr   c                N    V P                  R 4      pVf   R# VP                  R8H  # )r5  F
attachment)r   content_disposition)r^   rP  s   & r   is_attachmentMIMEPart.is_attachment  s+    hh,-uP)@)@L)PPr   c              #    "   VP                  4       '       d   R # VP                  4       P                  R4      w  r4VR8X  d   WB9   d   VP                  V4      V3x  R # VR8w  g   V P	                  4       '       g   R # VR8w  d3   VP                  4        F  pV P                  WR4       R j  xL
  K  	  R # RV9   d   VP                  R4      V3x  R pVP                  R4      pV'       d*   VP                  4        F  pVR,          V8X  g   K  Tp M	  Vf$   VP                  4       pV'       d
   V^ ,          MR pVe   V P                  Wb4       R j  xL
  R # R #  L L
5i)Nr   text	multipartrelatedstart
content-id)	rn  r  r
  r.   r|   
iter_parts
_find_bodyr#  r   )	r^   rL  preferencelistmaintypesubtypesubpart	candidatert  subpartss	   &&&      r   rw  MIMEPart._find_body  sG     11399#>v(%++G4d;;{"$*;*;*=*=i??,??7CCC -&!''	2D99	w'??,<(E1 'I - '')H'/TI yAAA ! D Bs=   A:E$=0E$-E .A E$/E$!E$4#E$E"	E$"E$c                    \        V4      pR pV P                  W4       F  w  rEWB8  g   K  TpTpV^ 8X  g   K   V# 	  V# rb   )r   rw  )r^   rx  	best_priobodypriorL  s   &&    r   get_bodyMIMEPart.get_body  sO     '	//$?JD 	19 @ r   c              #    "   V P                  4       P                  R 4      w  rVR8w  g   VR8X  d   R# V P                  4       p VP                  4       pTR8X  d   TR8X  d   T P                  R4      pT'       dM   Rp. pT F.  pTP                  R4      T8X  d   RpK  TP                  T4       K0  	  T'       d   T Rj  xL
  R# TP                  ^ 4       T Rj  xL
  R# . p	T Fi  pTP                  4       P                  R 4      w  rY3T P                  9   d0   TP                  4       '       g   Y)9  d   T	P                  T4       Ke  Tx  Kk  	  R#   \         d     R# i ; i L L5i)	r   rr  alternativeNrs  rt  Fru  T)r  r
  r   r   r   r#  r   r0   pop_body_typesrn  )
r^   ry  rz  r   r   rt  r   attachmentsrL  seens
   &         r   iter_attachmentsMIMEPart.iter_attachments,  s[     !11399#>{"g&>""$	LLNE
 {"w)'; NN7+E !Dxx-6 $#**40	 "
 ***IIaL D $ 5 5 7 = =c BH#t'7'77**,,1DG$J 7  		$ + s[   AE.E &E.<?E.<E.E*E.E,AE.5#E.E'#E.&E''E.,E.c              #  r   "   V P                  4       '       d   V P                  4        R j  xL
  R # R #  L5irb   )r|   r   rd   s   &r   rv  MIMEPart.iter_partsc  s0     
 ''))) )s   *75	7content_managerc               b    Vf   V P                   P                  pVP                  ! V .VO5/ VB # rb   )rU   r  get_contentr^   r  argskws   &$*,r   r  MIMEPart.get_contentk  s2    ""kk99O**4=$="==r   c               f    Vf   V P                   P                  pVP                  ! V .VO5/ VB  R # rb   )rU   r  set_contentr  s   &$*,r   r  MIMEPart.set_contentp  s/    ""kk99O##D64626r   c                T   V P                  4       R 8X  d:   V P                  4       pW!3,           pWB9   d   \        RP                  WA4      4      h. p. pV P                   FP  w  rxVP                  4       P                  R4      '       d   VP                  Wx34       K>  VP                  Wx34       KR  	  V'       d=   \        V 4      ! V P                  R7      p	Win        V P                  V	n
        V	.V n
        M. V n
        WPn        RV,           V R&   Ve   V P                  RV4       R# R# )rr  zCannot convert {} to {}content-rh  z
multipart/r   Nr:  )r  r  rC   r   rV   r/   r@   r0   r   rU   rX   r   )
r^   rz  disallowed_subtypesr:  existing_subtypekeep_headerspart_headersr   r'   rL  s
   &&&&      r   _make_multipartMIMEPart._make_multipartu  s   $$&+5#779"5
"B6 !:!A!A$"/ 0 0==KDzz|&&z22##TM2##TM2	 )
 :T[[1D(M MMDM!FDMDM$+g5^NN:x0  r   c                ,    V P                  R RV4       R# )rs  N)r  mixedr  r^   r:  s   &&r   make_relatedMIMEPart.make_related  s    Y(@(Kr   c                ,    V P                  R RV4       R# )r  N)r  r  r  s   &&r   make_alternativeMIMEPart.make_alternative  s    ]JAr   c                ,    V P                  R RV4       R# )r  N r  r  s   &&r   
make_mixedMIMEPart.make_mixed  s    Wb(3r   _dispc               .   V P                  4       R 8w  g   V P                  4       V8w  d   \        V RV,           4      ! 4        \        V 4      ! V P                  R7      pVP
                  ! V/ VB  V'       d   RV9  d   W%R&   V P                  V4       R# )rr  make_rh  r5  zContent-DispositionN)r  r  getattrr   rU   r  r   )r^   _subtyper  r  r  rL  s   &&$*, r   _add_multipartMIMEPart._add_multipart  s{    %%';6((*h6D'H,-/Dz-$%"%*$6*/&'Dr   c                6    V P                   ! R .VO5RR/VB  R# )rs  r  inlineNr  r^   r  r  s   &*,r   add_relatedMIMEPart.add_related  s    ICCHCCr   c                2    V P                   ! R .VO5/ VB  R# )r  Nr  r  s   &*,r   add_alternativeMIMEPart.add_alternative  s    M7D7B7r   c                6    V P                   ! R .VO5RR/VB  R# )r  r  rl  Nr  r  s   &*,r   add_attachmentMIMEPart.add_attachment  s    GEdE,E"Er   c                "    . V n         R V n        R # rb   rV   rX   rd   s   &r   clearMIMEPart.clear  s    r   c                    V P                    UUu. uF/  w  rVP                  4       P                  R 4      '       d   K,  W3NK1  	  uppV n         RV n        R# u uppi )r  N)rV   r/   r@   rX   )r^   nr   s   &  r   clear_contentMIMEPart.clear_content  sL    ,0MM BMDA !	 4 4Z @  !M BBs
   )AAr  rb   )FNN))rs  htmlplain>   rq  r  rq  r  rr  rs  rr  r  )rS  rT  rU  rV  r_   rc   re   rn  rw  r  r  r  rv  r  r  r  r  r  r  r  r  r  r  r  r  rX  rY  __classcell__ra  rZ  s   @@r   r\  r\    s     !A CQB:(1K5n*> >
7 7
16LB4D D8F r   r\  c                   2   a a ] tR tRt oV 3R ltRtVtV ;t# )r   i  c                D   < \         SV `  ! V/ VB  R V 9  d   RV R &   R# R# )r   r   N)r`  r  )r^   r  r  ra  s   &*,r   r  EmailMessage.set_content  s,    T(R(%#(D  &r   r  )rS  rT  rU  rV  r  rX  rY  r  r  s   @@r   r   r     s     ) )r   )NT)__all__rD   rer   ior   r   emailr   r   email._policybaser   r
   rY   email._encoded_wordsr   r   r   compiler$   r   r(   r6   r:   rQ   r   r\  r   r  r   r   <module>r     s    n
%  	      & % )


	 JJ23	  D($#>M% M%`\w \~)8 )r   