+
    öÙ†j{> ã                   ó  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t^ RI
t^ RIt^ RIt^ RIHt  ^ RIt. R6Ot]P$                  P'                  R4      t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R	]P8                  P:                  4      t ! R  R
]4      t ! R! R"]4      t ! R# R]4      t  ! R$ R]4      t! ! R% R]4      t" ! R& R]4      t# ! R' R(4      t$ ! R) R*]$4      t%R7R+ lt&R, t'R- t(R. t)R/ t*R0 t+ ! R1 R],4      t- ! R2 R]-4      t. ! R3 R]-4      t/ ! R4 R]-4      t0 ! R5 R]-4      t1R#   ] d    Rt ELEi ; i)8zDRead/write support for Maildir, mbox, MH, Babyl, and MMDF mailboxes.N)ÚGenericAliasÚMailboxÚMaildirÚmboxÚMHÚBabylÚMMDFÚMessageÚMaildirMessageÚmboxMessageÚ	MHMessageÚBabylMessageÚMMDFMessageÚErrorÚNoSuchMailboxErrorÚNotEmptyErrorÚExternalClashErrorÚFormatErrorÚasciic                   ó  a € ] tR t^"t o RtR$R ltR tR tR tR t	R t
R%R	 ltR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR%R ltR tR%R ltR tR tR t R t!R  t"R!t#R&R" lt$]%! ]&4      t'R#t(V t)R# )'r   z*A group of messages in a particular place.Nc                ó”   € \         P                  P                  \         P                  P                  V4      4      V n        W n        R# )zInitialize a Mailbox instance.N)ÚosÚpathÚabspathÚ
expanduserÚ_pathÚ_factory©Úselfr   ÚfactoryÚcreates   &&&&Ú/usr/lib/python3.14/mailbox.pyÚ__init__ÚMailbox.__init__%   s*   € ä—W‘W—_‘_¤R§W¡W×%7Ñ%7¸Ó%=Ó>ˆŒ
ØŽó    c                ó   € \        R4      h)ú$Add message and return assigned key.ú&Method must be implemented by subclass©ÚNotImplementedError©r   Úmessages   &&r!   ÚaddÚMailbox.add*   ó   € ä!Ð"JÓKÐKr$   c                ó   € \        R4      h)ú=Remove the keyed message; raise KeyError if it doesn't exist.r'   r(   ©r   Úkeys   &&r!   ÚremoveÚMailbox.remove.   r.   r$   c                ó(   € V P                  V4       R # ©N)r3   r1   s   &&r!   Ú__delitem__ÚMailbox.__delitem__2   s   € Ø�‰�CÖr$   c                óN   €  V P                  V4       R#   \         d     R# i ; i©z'If the keyed message exists, remove it.N)r3   ÚKeyErrorr1   s   &&r!   ÚdiscardÚMailbox.discard5   s%   € ð	Ø�K‰K˜ÖøÜô 	Úð	ús   ‚ •$£$c                ó   € \        R4      h)ú>Replace the keyed message; raise KeyError if it doesn't exist.r'   r(   ©r   r2   r+   s   &&&r!   Ú__setitem__ÚMailbox.__setitem__<   r.   r$   c                óL   €  V P                  V4      #   \         d    Tu # i ; i)z9Return the keyed message, or default if it doesn't exist.)Ú__getitem__r;   )r   r2   Údefaults   &&&r!   ÚgetÚMailbox.get@   s,   € ð	Ø×#Ñ# CÓ(Ð(øÜô 	ØŠNð	ús   ‚ “#¢#c                ó  € V P                   '       g   V P                  V4      # \        P                  ! V P	                  V4      4      ;_uu_ 4       pV P                  V4      uuRRR4       #   + '       g   i     R# ; i)z=Return the keyed message; raise KeyError if it doesn't exist.N)r   Úget_messageÚ
contextlibÚclosingÚget_file)r   r2   Úfiles   && r!   rD   ÚMailbox.__getitem__G   sS   € à�}�}ˆ}Ø×#Ñ# CÓ(Ð(ä×#Ò# D§M¡M°#Ó$6×7Ô7¸4Ø—}‘} TÓ*÷ 8×7×7Ó7ús   ÁA-Á-A>	c                ó   € \        R4      h)ú4Return a Message representation or raise a KeyError.r'   r(   r1   s   &&r!   rI   ÚMailbox.get_messageO   r.   r$   c                óh   € \         P                  ! V P                  V4      4      P                  4       # )zŒReturn a string representation or raise a KeyError.

Uses email.message.Message to create a 7bit clean string
representation of the message.©ÚemailÚmessage_from_bytesÚ	get_bytesÚ	as_stringr1   s   &&r!   Ú
get_stringÚMailbox.get_stringS   s'   € ô
 ×'Ò'¨¯©°sÓ(;Ó<×FÑFÓHÐHr$   c                ó   € \        R4      h)z8Return a byte string representation or raise a KeyError.r'   r(   r1   s   &&r!   rV   ÚMailbox.get_bytesZ   r.   r$   c                ó   € \        R4      h)ú6Return a file-like representation or raise a KeyError.r'   r(   r1   s   &&r!   rL   ÚMailbox.get_file^   r.   r$   c                ó   € \        R4      h)úReturn an iterator over keys.r'   r(   ©r   s   &r!   ÚiterkeysÚMailbox.iterkeysb   r.   r$   c                ó4   € \        V P                  4       4      # )zReturn a list of keys.)Úlistrb   ra   s   &r!   ÚkeysÚMailbox.keysf   s   € ä�D—M‘M“OÓ$Ð$r$   c              #  óz   "  € V P                  4        F  p W,          pTx € K  	  R#   \         d     K$  i ; i5i)z%Return an iterator over all messages.N©rb   r;   ©r   r2   Úvalues   &  r!   Ú
itervaluesÚMailbox.itervaluesj   s;   é € à—=‘=–?ˆCðØ�	�ð ŒKó #øô ô Úðüs   ‚;—)Ÿ
;©8´;·8¸;c                ó"   € V P                  4       # r6   )rl   ra   s   &r!   Ú__iter__ÚMailbox.__iter__s   s   € Ø�‰Ó Ð r$   c                ó4   € \        V P                  4       4      # )z,Return a list of messages. Memory intensive.)re   rl   ra   s   &r!   ÚvaluesÚMailbox.valuesv   s   € ä�D—O‘OÓ%Ó&Ð&r$   c              #  ó|   "  € V P                  4        F  p W,          pY3x € K  	  R#   \         d     K%  i ; i5i)z.Return an iterator over (key, message) tuples.Nri   rj   s   &  r!   Ú	iteritemsÚMailbox.iteritemsz   s>   é € à—=‘=–?ˆCðØ�	�ð �,Ôó #øô ô Úðüs   ‚<—*Ÿ<ª9µ<¸9¹<c                ó4   € \        V P                  4       4      # )z9Return a list of (key, message) tuples. Memory intensive.)re   ru   ra   s   &r!   ÚitemsÚMailbox.itemsƒ   s   € ä�D—N‘NÓ$Ó%Ð%r$   c                ó   € \        R4      h)ú9Return True if the keyed message exists, False otherwise.r'   r(   r1   s   &&r!   Ú__contains__ÚMailbox.__contains__‡   r.   r$   c                ó   € \        R4      h)ú*Return a count of messages in the mailbox.r'   r(   ra   s   &r!   Ú__len__ÚMailbox.__len__‹   r.   r$   c                óV   € V P                  4        F  pV P                  V4       K  	  R# )zDelete all messages.N)rf   r<   r1   s   & r!   ÚclearÚMailbox.clear�   s   € à—9‘9–;ˆCØ�L‰L˜Öó r$   c                ó`   €  W,          pT P                  T4       T#   \          d    Tu # i ; i)z3Delete the keyed message and return it, or default.)r;   r<   )r   r2   rE   Úresults   &&& r!   ÚpopÚMailbox.pop”   s7   € ð	Ø•YˆFð 	�‰�SÔØˆøô ô 	ØŠNð	ús   ‚ �-¬-c                ój   € V P                  4        F  pWP                  V4      3u # 	  \        R4      h)z6Delete an arbitrary (key, message) pair and return it.zNo messages in mailbox)rb   r‡   r;   r1   s   & r!   ÚpopitemÚMailbox.popitem�   s1   € à—=‘=–?ˆCØŸ™ #›Ð'Ò'ñ #ô Ð3Ó4Ð4r$   c                ó  € \        VR4      '       d   VP                  4       pM%\        VR4      '       d   VP                  4       pMTpRpV F
  w  rE WPV&   K  	  V'       d   \        R4      hR#   \         d    Rp K3  i ; i)z4Change the messages that correspond to certain keys.ru   rx   FTzNo message with key(s)N)Úhasattrru   rx   r;   )r   ÚargÚsourceÚbad_keyr2   r+   s   &&    r!   ÚupdateÚMailbox.update¤   s€   € ä�3˜×$Ò$Ø—]‘]“_‰FÜ�S˜'×"Ò"Ø—Y‘Y“[‰FàˆFØˆÛ"‰LˆCðØ#�S“	ñ #÷
 ÜÐ3Ó4Ð4ñ øô ô Ø“ðús   ÁA0Á0BÂ Bc                ó   € \        R4      h)ú&Write any pending changes to the disk.r'   r(   ra   s   &r!   ÚflushÚMailbox.flushµ   r.   r$   c                ó   € \        R4      h)úLock the mailbox.r'   r(   ra   s   &r!   ÚlockÚMailbox.lock¹   r.   r$   c                ó   € \        R4      h)ú#Unlock the mailbox if it is locked.r'   r(   ra   s   &r!   ÚunlockÚMailbox.unlock½   r.   r$   c                ó   € \        R4      h)úFlush and close the mailbox.r'   r(   ra   s   &r!   ÚcloseÚMailbox.closeÁ   r.   r$   c                óZ   €  VP                  R 4      #   \         d    \        R4      hi ; i)r   z?String input must be ASCII-only; use bytes or a Message instead)ÚencodeÚUnicodeErrorÚ
ValueErrorr*   s   &&r!   Ú_string_to_bytesÚMailbox._string_to_bytesÅ   s7   € ð	2Ø—>‘> 'Ó*Ð*øÜô 	2Üð 1ó 2ð 2ð	2ús   ‚ “*Fc                ó>  € \        V\        P                  P                  4      '       d×   \        P
                  ! 4       p\        P                  P                  WC^ 4      pVP                  V4       VP                  ^ 4       VP                  4       pVP                  R\        4      pVP                  V4       V P                  '       d5   VP                  \        4      '       g   VP                  \        4       R# R# R# \        V\         \"        \        P$                  34      '       dý   \        V\        P$                  4      '       d-   \&        P(                  ! R\*        ^4       VP-                  4       p\        V\         4      '       d   V P/                  V4      pV'       d   VP                  RR4      pVP                  R\        4      pVP                  V4       V P                  '       d5   VP                  \        4      '       g   VP                  \        4       R# R# R# \1        VR4      '       EdJ   \1        VR4      '       d)   \&        P(                  ! R\*        ^4       VP2                  pRp VP5                  4       pVP                  R	4      '       d   VRR R,           pM#VP                  R
4      '       d   VRR R,           pV'       g   MZV'       d(   VP7                  R4      '       d   RVR,          ,           pVP                  R\        4      pVP                  V4       TpK»  V P                  '       d?   V'       d5   VP                  \        4      '       g   VP                  \        4       R# R# R# R# \9        R\;        V4      ,          4      h)z%Dump message contents to target file.ó   
ú8Use of StringIO input is deprecated, use BytesIO insteads   
From s   
>From ÚreadÚbufferúDUse of text mode files is deprecated, use a binary mode file insteadNó   
ó   ó   From s   >From ºé   NNúInvalid message type: %séþÿÿÿéÿÿÿÿ)Ú
isinstancerT   r+   r	   ÚioÚBytesIOÚ	generatorÚBytesGeneratorÚflattenÚseekr¬   ÚreplaceÚlinesepÚwriteÚ_append_newlineÚendswithÚstrÚbytesÚStringIOÚwarningsÚwarnÚDeprecationWarningÚgetvaluer§   r�   r­   ÚreadlineÚ
startswithÚ	TypeErrorÚtype)	r   r+   ÚtargetÚmangle_from_r­   ÚgenÚdataÚlastlineÚlines	   &&&&     r!   Ú_dump_messageÚMailbox._dump_messageÒ   s˜  € ô �gœuŸ}™}×4Ñ4×5Ò5Ü—Z’Z“\ˆFÜ—/‘/×0Ñ0°ÀqÓIˆCØ�K‰K˜Ô Ø�K‰K˜ŒNØ—;‘;“=ˆDØ—<‘< ¤wÓ/ˆDØ�L‰L˜ÔØ×#×#Ð#¨D¯M©M¼'×,BÒ,Bà—‘œWÖ%ñ -CÑ#ô ˜¤#¤u¬b¯k©kÐ!:×;Ò;Ü˜'¤2§;¡;×/Ò/Ü—’ð *Ü+=¸qôBà!×*Ñ*Ó,�Ü˜'¤3×'Ò'Ø×/Ñ/°Ó8�ßØ!Ÿ/™/¨*°kÓB�Ø—o‘o e¬WÓ5ˆGØ�L‰L˜Ô!Ø×#×#Ð#¨G×,<Ñ,<¼W×,EÒ,Eà—‘œWÖ%ñ -FÑ#ô �W˜f×%Ó%Ü�w ×)Ò)Ü—’ð 5Ü6HÈ!ôMà!Ÿ.™.�ØˆHØØ×'Ñ'Ó)�à—=‘= ×)Ò)Ø  ˜9 uÕ,‘DØ—]‘] 5×)Ò)Ø  ˜9 uÕ,�DßØß D§O¡O°H×$=Ò$=Ø$ t¨B¥xÕ/�DØ—|‘| E¬7Ó3�Ø—‘˜TÔ"Ø’Ø×#×#Ð#¯¸×9JÑ9JÌ7×9SÒ9Sà—‘œWÖ%ñ :T©Ñ#ô Ð6¼¸g»ÕFÓGÐGr$   )r   r   ©NTr6   ©F)*Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r"   r,   r3   r7   r<   rA   rF   rD   rI   rX   rV   rL   rb   rf   rl   ro   rr   ru   rx   r|   r€   rƒ   r‡   rŠ   r‘   r•   r™   r�   r¡   r§   rÁ   rÔ   Úclassmethodr   Ú__class_getitem__Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r!   r   r   "   sÇ   ø‡ € Ù4ô ò
LòLòòòLôò+òLòIòLòLòLò%òò!ò'òò&òLòLòô
ò5ô5ò"LòLòLòLò2ð €Oô4Hñl $ LÓ1Ör$   c                   ó  a € ] tR tRt o RtRtR(R ltR tR tR t	R	 t
R
 tR tR tR tV 3R lR ltR tV 3R lR ltV 3R lR ltV 3R lR ltR tR tR tR tR tR tR tR tR tR  tR! tR" t^t R# t!R$ t"R% t#R& t$R't%V t&R# ))r   i  zA qmail-style Maildir mailbox.Ú:Nc           	     óÈ  € \         P                  WW#4       R\        P                  P	                  V P
                  R4      R\        P                  P	                  V P
                  R4      R\        P                  P	                  V P
                  R4      /V n        \        P                  P                  V P
                  4      '       gx   V'       d[   \        P                  ! V P
                  R4       V P                  P                  4        F  p\        P                  ! VR4       K  	  M\        V P
                  4      h/ V n        R^ R^ /V n        ^ V n        RV n        R# )zInitialize a Maildir instance.ÚtmpÚnewÚcuréÀ  gš™™™™™¹?N)r   r"   r   r   Újoinr   Ú_pathsÚexistsÚmkdirrr   r   Ú_tocÚ_toc_mtimesÚ
_last_readÚ_skewfactor)r   Údirnamer   r    r   s   &&&& r!   r"   ÚMaildir.__init__  sî   € ä×Ñ˜¨Ô8à”2—7‘7—<‘< §
¡
¨EÓ2Ø”2—7‘7—<‘< §
¡
¨EÓ2Ø”2—7‘7—<‘< §
¡
¨EÓ2ðˆŒô
 �w‰w�~‰~˜dŸj™j×)Ò)ßÜ—’˜Ÿ™ UÔ+Ø ŸK™K×.Ñ.Ö0�DÜ—H’H˜T 5Ö)ò 1ô )¨¯©Ó4Ð4ØˆŒ	Ø! 1 e¨QÐ/ˆÔØˆŒØˆÖr$   c                ó.  € V P                  4       p V P                  W4       \        T4       \        T\        4      '       dE   TP                  4       pT P                  TP                  4       ,           pY@P                  8X  d   RpMRpRp\        P                  P                  TP                  4      P                  T P                  4      ^ ,          p\        P                  P!                  T P"                  Y5T,           4      p\        T\        4      '       dY   \        P$                  ! TP                  \        P                  P'                  TP                  4      TP)                  4       34         \        P*                  ! TP                  T4       \        P
                  ! TP                  4       T#   \         d3    TP                  4        \        P
                  ! TP                  4       h i ; i  \,        \.        3 d&    \        P0                  ! TP                  T4        T# i ; i  \2         dX   p\        P
                  ! TP                  4       TP4                  \4        P6                  8X  d   \9        RT,          4      hh Rp?ii ; i)r&   Ú rç   z$Name clash with existing message: %sN)Ú_create_tmprÔ   ÚBaseExceptionr¡   r   r3   ÚnameÚ_sync_closer·   r
   Ú
get_subdirÚcolonÚget_infor   ÚbasenameÚsplitrê   r   ÚutimeÚgetatimeÚget_dateÚlinkÚAttributeErrorÚPermissionErrorÚrenameÚOSErrorÚerrnoÚEEXISTr   )r   r+   Útmp_fileÚsubdirÚsuffixÚuniqÚdestÚes   &&      r!   r,   ÚMaildir.add$  så  € à×#Ñ#Ó%ˆð	Ø×Ñ˜wÔ1ô
 	�HÔÜ�gœ~×.Ò.Ø×'Ñ'Ó)ˆFØ—Z‘Z '×"2Ñ"2Ó"4Õ4ˆFØŸ™Ô#Ø�øàˆFØˆFÜ�w‰w×Ñ §¡Ó.×4Ñ4°T·Z±ZÓ@ÀÕCˆÜ�w‰w�|‰|˜DŸJ™J¨°vµÓ>ˆÜ�gœ~×.Ò.Ü�HŠH�X—]‘]Ü—g‘g×&Ñ& x§}¡}Ó5°w×7GÑ7GÓ7IÐJôLð
	ð)Ü—’˜Ÿ™ tÔ,ô —	’	˜(Ÿ-™-Ô(ð ˆøôG ô 	Ø�N‰NÔÜ�IŠI�h—m‘mÔ$Øð	ûô0 #¤OÐ4ô /Ü—	’	˜(Ÿ-™-¨Õ.ð ˆð/ûô ô 	Ü�IŠI�h—m‘mÔ$Ø�w‰wœ%Ÿ,™,Ô&Ü(Ð)OØ+/õ*0ó 1ð 1ð ûð	úsB   ’F9 Å6!G9 Æ H2 Æ9=G6Ç92H/È+H2 È.H/È/H2 È2JÈ=AJÊJc                ó    € \         P                  ! \         P                  P                  V P                  V P                  V4      4      4       R# ©r0   N)r   r3   r   rê   r   Ú_lookupr1   s   &&r!   r3   ÚMaildir.removeN  s*   € ä
�	Š	”"—'‘'—,‘,˜tŸz™z¨4¯<©<¸Ó+<Ó=Ö>r$   c                óZ   €  V P                  V4       R#   \        \        3 d     R# i ; ir:   )r3   r;   ÚFileNotFoundErrorr1   s   &&r!   r<   ÚMaildir.discardR  s+   € ð	Ø�K‰K˜ÖøÜÔ+Ð,ô 	Úð	ús   ‚ •*©*c                ó&  € V P                  V4      pV P                  V4      pV P                  V4      p\        V\        4      '       d   TpMTp\        P
                  P                  V4      pV P                  V9   d5   V P                  VP                  V P                  4      R,          ,           pMRpV P                  V4       \        P
                  P                  V P                  V4      p	\        P
                  P                  V P                  WqV,           4      p
\        V\        4      '       dE   \        P                  ! V	\        P
                  P                  V	4      VP                  4       34       \        P                  ! Wš4       R# )r?   rõ   Nr¶   )r  r,   r·   r
   r   r   rò   rû   rþ   r<   rê   r   rÿ   r   r  r  )r   r2   r+   Úold_subpathÚtemp_keyÚtemp_subpathÚdominant_subpathr
  r  Útmp_pathÚnew_paths   &&&        r!   rA   ÚMaildir.__setitem__Z  s  € à—l‘l 3Ó'ˆØ—8‘8˜GÓ$ˆØ—|‘| HÓ-ˆÜ�gœ~×.Ò.à+Ñð  +ÐÜ—‘—‘Ð!1Ó2ˆØ�:‰:Ð)Ô)Ø—Z‘ZÐ"2×"8Ñ"8¸¿¹Ó"DÀRÕ"HÕH‰FàˆFØ�‰�SÔÜ—7‘7—<‘< §
¡
¨LÓ9ˆÜ—7‘7—<‘< §
¡
¨F¸&µLÓAˆÜ�gœ~×.Ò.Ü�HŠH�XÜ—g‘g×&Ñ& xÓ0°'×2BÑ2BÓ2DÐEôGô
 	�	Š	�(Ö%r$   c                óÊ  € V P                  V4      p\        \        P                  P	                  V P
                  V4      R4      ;_uu_ 4       pV P                  '       d   V P                  V4      pM\        V4      pRRR4       \        P                  P                  V4      w  rVXP                  V4       V P                  V9   d2   VP                  VP                  V P                  4      R,          4       VP                  \        P                  P                  \        P                  P	                  V P
                  V4      4      4       V#   + '       g   i     LÜ; i)rP   ÚrbNr¶   )r  Úopenr   r   rê   r   r   r
   rþ   Ú
set_subdirrû   Úset_infoÚset_dateÚgetmtime)r   r2   ÚsubpathÚfÚmsgr
  rø   s   &&     r!   rI   ÚMaildir.get_messageu  sà   € à—,‘,˜sÓ#ˆÜ”"—'‘'—,‘,˜tŸz™z¨7Ó3°T×:Ô:¸aØ�}�}ˆ}Ø—m‘m AÓ&‘ä$ QÓ'�÷	 ;ô
 —w‘w—}‘} WÓ-‰ˆØ�‰�vÔØ�:‰:˜ÔØ�L‰L˜Ÿ™ D§J¡JÓ/°Õ3Ô4Ø�‰”R—W‘W×%Ñ%¤b§g¡g§l¡l°4·:±:¸wÓ&GÓHÔIØˆ
÷ ;×:ús   Á0EÅE"	c                ó  € \        \        P                  P                  V P                  V P                  V4      4      R4      ;_uu_ 4       pVP                  4       P                  \        R4      uuRRR4       #   + '       g   i     R# ; i)ú2Return a bytes representation or raise a KeyError.r   rª   N)	r!  r   r   rê   r   r  r¬   r¾   r¿   ©r   r2   r'  s   && r!   rV   ÚMaildir.get_bytes„  sS   € ä”"—'‘'—,‘,˜tŸz™z¨4¯<©<¸Ó+<Ó=¸t×DÔDÈØ—6‘6“8×#Ñ#¤G¨UÓ3÷ E×D×DÓDús   Á$A;Á;B	c                óž   € \        \        P                  P                  V P                  V P                  V4      4      R4      p\        V4      # )r]   r   )r!  r   r   rê   r   r  Ú
_ProxyFiler,  s   && r!   rL   ÚMaildir.get_file‰  s4   € ä”—‘—‘˜dŸj™j¨$¯,©,°sÓ*;Ó<¸dÓCˆÜ˜!‹}Ðr$   c                óŽ   € V P                  V4      pV P                  V9   d#   VP                  V P                  4      R,          # R# )z+Get the keyed message's "info" as a string.rõ   r¶   )r  rû   rþ   )r   r2   r&  s   && r!   rü   ÚMaildir.get_infoŽ  s7   € à—,‘,˜sÓ#ˆØ�:‰:˜Ô Ø—=‘= §¡Ó,¨RÕ0Ð0Ùr$   c                ó    <€ V ^8„  d   QhRS[ /# )é   Úinfo©rÃ   )Úformatrâ   s   "€r!   Ú__annotate__ÚMaildir.__annotate__•  s   ø€ ÷ %ñ %¡#ñ %r$   c                ó  € \        V\        4      '       g   \        R\        V4       24      hV P	                  V4      pVP                  V P                  4      ^ ,          pV'       d   W@P                  V,           ,          pWC8X  d   R# \        P                  P                  V P                  V4      p\        P                  P                  V P                  V4      p\        P                  ! WV4       W@P                  V&   R# )z&Set the keyed message's "info" string.zinfo must be a string: N)r·   rÃ   rÌ   rÍ   r  rþ   rû   r   r   rê   r   r  rî   )r   r2   r5  r  Únew_subpathÚold_pathr  s   &&&    r!   r#  ÚMaildir.set_info•  s±   € ä˜$¤×$Ò$ÜÐ5´d¸4³j°\ÐBÓCÐCØ—l‘l 3Ó'ˆØ!×'Ñ'¨¯
©
Ó3°AÕ6ˆßØŸ:™:¨Õ,Õ,ˆKØÔ%ÙÜ—7‘7—<‘< §
¡
¨KÓ8ˆÜ—7‘7—<‘< §
¡
¨KÓ8ˆÜ
�	Š	�(Ô%Ø$�	‰	�#‹r$   c                óh   € V P                  V4      pVP                  R4      '       d
   VR,          # R# )zHReturn as a string the standard flags that are set on the keyed message.ú2,ºr4  NNrõ   )rü   rË   )r   r2   r5  s   && r!   Ú	get_flagsÚMaildir.get_flags¤  s+   € à�}‰}˜SÓ!ˆØ�?‰?˜4× Ò Ø˜•8ˆOÙr$   c                ó    <€ V ^8„  d   QhRS[ /# )r4  Úflagsr6  )r7  râ   s   "€r!   r8  r9  «  s   ø€ ÷ ?ñ ?¡Cñ ?r$   c                óÔ   € \        V\        4      '       g   \        R\        V4       24      hV P	                  VRRP                  \        \        V4      4      4      ,           4       R# )z>Set the given flags and unset all others on the keyed message.zflags must be a string: r?  rõ   N)r·   rÃ   rÌ   rÍ   r#  rê   ÚsortedÚset)r   r2   rD  s   &&&r!   Ú	set_flagsÚMaildir.set_flags«  sK   € ä˜%¤×%Ò%ÜÐ6´t¸E³{°mÐDÓEÐEà�‰�c˜4 "§'¡'¬&´°U³Ó*<Ó"=Õ=Ö>r$   c                ó    <€ V ^8„  d   QhRS[ /# ©r4  Úflagr6  )r7  râ   s   "€r!   r8  r9  ²  s   ø€ ÷ Kñ K¡#ñ Kr$   c           
     óò   € \        V\        4      '       g   \        R\        V4       24      hV P	                  VRP                  \        V P                  V4      4      \        V4      ,          4      4       R# )zCSet the given flag(s) without changing others on the keyed message.úflag must be a string: rõ   N)r·   rÃ   rÌ   rÍ   rH  rê   rG  rA  ©r   r2   rL  s   &&&r!   Úadd_flagÚMaildir.add_flag²  sT   € ä˜$¤×$Ò$ÜÐ5´d¸4³j°\ÐBÓCÐCà�‰�s˜BŸG™G¤C¨¯©°sÓ(;Ó$<¼sÀ4»yÕ$HÓIÖJr$   c                ó    <€ V ^8„  d   QhRS[ /# rK  r6  )r7  râ   s   "€r!   r8  r9  ¹  s   ø€ ÷ Oñ O¡Sñ Or$   c           
     ó$  € \        V\        4      '       g   \        R\        V4       24      hV P	                  V4      '       dL   V P                  VRP                  \        V P	                  V4      4      \        V4      ,
          4      4       R# R# )zLUnset the given string flag(s) without changing others on the keyed message.rN  rõ   N)r·   rÃ   rÌ   rÍ   rA  rH  rê   rG  rO  s   &&&r!   Úremove_flagÚMaildir.remove_flag¹  sh   € ä˜$¤×$Ò$ÜÐ5´d¸4³j°\ÐBÓCÐCØ�>‰>˜#×ÒØ�N‰N˜3 §¡¬¨D¯N©N¸3Ó,?Ó(@Ä3ÀtÃ9Õ(LÓ MÖNñ r$   c              #  ó¤   "  € V P                  4        V P                   F  p V P                  V4       Tx € K  	  R#   \         d     K-  i ; i5i©r`   N)Ú_refreshrî   r  r;   r1   s   & r!   rb   ÚMaildir.iterkeysÀ  sG   é € à�‰ŒØ—9”9ˆCðØ—‘˜SÔ!ð ŒIó øô ô Úðüs%   ‚ A£>´
A¾AÁ	AÁAÁAc                ó>   € V P                  4        WP                  9   # ©r{   )rX  rî   r1   s   &&r!   r|   ÚMaildir.__contains__Ê  s   € à�‰ŒØ—i‘iÑÐr$   c                óL   € V P                  4        \        V P                  4      # ©r   )rX  Úlenrî   ra   s   &r!   r€   ÚMaildir.__len__Ï  s   € à�‰ŒÜ�4—9‘9‹~Ðr$   c                ó   € R# )ú"Write any pending changes to disk.N© ra   s   &r!   r•   ÚMaildir.flushÔ  s   € ñ 	r$   c                ó   € R# )r˜   Nrc  ra   s   &r!   r™   ÚMaildir.lockÚ  ó   € ár$   c                ó   € R# )rœ   Nrc  ra   s   &r!   r�   ÚMaildir.unlockÞ  rg  r$   c                ó   € R# ©r    Nrc  ra   s   &r!   r¡   ÚMaildir.closeâ  rg  r$   c                ój  € . p\         P                  ! V P                  4       FŒ  p\        V4      ^8”  g   K  V^ ,          R8X  g   K%  \         P                  P                  \         P                  P                  V P                  V4      4      '       g   Kt  VP                  VR,          4       KŽ  	  V# )úReturn a list of folder names.Ú.ºé   NN)r   Úlistdirr   r_  r   Úisdirrê   Úappend©r   r†   Úentrys   &  r!   Úlist_foldersÚMaildir.list_foldersæ  sp   € àˆÜ—Z’Z §
¡
Ö+ˆEÜ�5‹z˜AŽ~ %¨¥(¨c¦/Ü�w‰w�}‰}œRŸW™WŸ\™\¨$¯*©*°eÓ<×=Ô=Ø—‘˜e B�iÖ(ñ ,ð ˆr$   c                ó�   € \        \        P                  P                  V P                  RV,           4      V P
                  RR7      # )z/Return a Maildir instance for the named folder.ro  F©r   r    )r   r   r   rê   r   r   ©r   Úfolders   &&r!   Ú
get_folderÚMaildir.get_folderï  s2   € ä”r—w‘w—|‘| D§J¡J°°fµÓ=Ø#Ÿ}™}Ø#ô%ð 	%r$   c                ó¼  € \         P                  P                  V P                  RV,           4      p\	        W P
                  R7      p\         P                  P                  VR4      p\         P                  P                  V4      '       gP   \         P                  ! \         P                  ! V\         P                  \         P                  ,          R4      4       V# )z>Create a folder and return a Maildir instance representing it.ro  ©r   Úmaildirfolderi¶  )r   r   rê   r   r   r   rì   r¡   r!  ÚO_CREATÚO_WRONLY)r   r|  r   r†   Úmaildirfolder_paths   &&   r!   Ú
add_folderÚMaildir.add_folderõ  s†   € ä�w‰w�|‰|˜DŸJ™J¨¨f­Ó5ˆÜ˜§}¡}Ô5ˆÜŸW™WŸ\™\¨$°Ó@ÐÜ�w‰w�~‰~Ð0×1Ò1Ü�HŠH”R—W’WÐ/´·±¼b¿k¹kÕ1IØóô àˆr$   c                ó*  € \         P                  P                  V P                  RV,           4      p\         P                  ! \         P                  P                  VR4      4      \         P                  ! \         P                  P                  VR4      4      ,            F3  p\        V4      ^8  g   V^ ,          R8w  g   K#  \        RV,          4      h	  \         P                  ! V4       Fs  pVR8w  g   K  VR8w  g   K  VR8w  g   K  \         P                  P                  \         P                  P                  W#4      4      '       g   Kb  \        RV: RV: 24      h	  \         P                  ! VRR	7       F~  w  rEpV F6  p\         P                  ! \         P                  P                  WC4      4       K8  	  V F6  p\         P                  ! \         P                  P                  WC4      4       K8  	  K€  	  \         P                  ! V4       R
# )ú-Delete the named folder, which must be empty.ro  rç   rè   zFolder contains message(s): %sræ   zFolder contains subdirectory 'z': F)ÚtopdownN)r   r   rê   r   rr  r_  r   rs  Úwalkr3   Úrmdir)r   r|  r   rv  ÚrootÚdirsÚfiless   &&     r!   Úremove_folderÚMaildir.remove_folderÿ  sY  € ä�w‰w�|‰|˜DŸJ™J¨¨f­Ó5ˆÜ—Z’Z¤§¡§¡¨T°5Ó 9Ó:Ü—Z’Z¤§¡§¡¨T°5Ó 9Ó:÷;ð ;ˆEä�5‹z˜AŒ~  q¥¨S¦Ü#Ð$DÀvÕ$MÓNÐNñ;ô —Z’Z Ö%ˆEØ˜Ž~ %¨5¦.°U¸e¶^Ü�w‰w�}‰}œRŸW™WŸ\™\¨$Ó6×7Ô7Ý#Û%+ªUð%4ó 5ð 5ñ &ô
 "$§¢¨°u×!=ÑˆD˜Û�Ü—	’	œ"Ÿ'™'Ÿ,™, tÓ3Ö4ñ ã�Ü—’œŸ™Ÿ™ dÓ2Ö3ó ñ ">ô
 	�Š�Žr$   c                ó–  € \         P                   ! 4       p\        P                  ! \        P                  P	                  V P
                  R4      4       Fq  p\        P                  P	                  V P
                  RV4      pV\        P                  P                  V4      ,
          R8”  g   K[  \        P                  ! V4       Ks  	  R# )zDelete old files in "tmp".ræ   i@ú N)Útimer   rr  r   rê   r   r   r3   )r   Únowrv  r   s   &   r!   ÚcleanÚMaildir.clean  su   € ä�iŠi‹kˆÜ—Z’Z¤§¡§¡¨T¯Z©Z¸Ó ?Ö@ˆEÜ—7‘7—<‘< §
¡
¨E°5Ó9ˆDØ”R—W‘W×%Ñ% dÓ+Õ+¨fÖ4Ü—	’	˜$–ó Ar$   c           	     ó¦  € \         P                   ! 4       p\        P                  ! 4       pRV9   d   VP                  RR4      pRV9   d   VP                  RR4      p\	        V4      : R\	        V^,          R,          4      : R\
        P                  ! 4       : R\        P                  : R	V: 2	p\
        P                  P                  V P                  R
V4      p \
        P                  ! V4       \!        RT,          4      h  \         d?    \        ;P                  ^,          un         \        T4      u #   \         d      LVi ; ii ; i)z=Create a file in the tmp subdirectory and open and return it.Ú/z\057rä   z\072z.Mg    €„.AÚPÚQro  ræ   z&Name clash prevented file creation: %s)r’  ÚsocketÚgethostnamer¾   Úintr   Úgetpidr   Ú_countr   rê   r   Ústatr  Ú_create_carefullyÚFileExistsErrorr   )r   r“  Úhostnamer  r   s   &    r!   rö   ÚMaildir._create_tmp  s   € ä�iŠi‹kˆÜ×%Ò%Ó'ˆØ�(Œ?Ø×'Ñ'¨¨WÓ5ˆHØ�(Œ?Ø×'Ñ'¨¨WÓ5ˆHÜ$'¨¦H¬c°#¸µ'¸Cµ-Ö.@Ä"Ç)Â)Æ+Ü$+§N¤N²Hð>ˆä�w‰w�|‰|˜DŸJ™J¨¨tÓ4ˆð	Ü�GŠG�DŒMô !Ð!IØ!%õ"&ó 'ð 	'øô !ô 	Ü�NŠN˜aÕ�NðÜ(¨Ó.Ò.øÜ"ô Úðúð		ús0   ÃD Ä(EÄ0
D=Ä:EÄ=EÅEÅEÅEc                óŒ  € \         P                   ! 4       V P                  ,
          ^V P                  ,           8”  dw   RpV P                   FZ  p\        P
                  P                  V P                  V,          4      pW0P                  V,          8”  d   RpW0P                  V&   K\  	  V'       g   R# / V n        V P                   Fà  pV P                  V,          p\        P                  ! V4       F°  pVP                  R4      '       d   K  \        P
                  P                  WE4      p\        P
                  P                  V4      '       d   Kb  VP                  V P                  4      ^ ,          p\        P
                  P                  W%4      V P                  V&   K²  	  Kâ  	  \         P                   ! 4       V n        R# )z!Update table of contents mapping.FTNro  )r’  rð   rñ   rï   r   r   r%  rë   rî   rr  rË   rê   rs  rþ   rû   )r   Úrefreshr
  Úmtimer   rv  Úpr  s   &       r!   rX  ÚMaildir._refresh4  s8  € ô �9Š9‹;˜Ÿ™Õ(¨1¨t×/?Ñ/?Õ+?Ô?ØˆGØ×*Ô*�ÜŸ™×(Ñ(¨¯©°VÕ)<Ó=�Ø×+Ñ+¨FÕ3Ô3Ø"�GØ+0× Ñ  Ó(ñ	 +÷
 ÙàˆŒ	Ø×&Ô&ˆFØ—;‘;˜vÕ&ˆDÜŸš DÖ)�Ø×#Ñ# C×(Ò(ÙÜ—G‘G—L‘L Ó-�Ü—7‘7—=‘= ×#Ò#ÙØ—{‘{ 4§:¡:Ó.¨qÕ1�Ü"$§'¡'§,¡,¨vÓ"=�—	‘	˜$“ó *ñ 'ô Ÿ)š)›+ˆŽr$   c                ó–  €  \         P                  P                  \         P                  P                  V P                  V P
                  V,          4      4      '       d   V P
                  V,          #  V P                  4         V P
                  V,          #   \         d     L1i ; i  \         d    \        RT,          4      Rhi ; i)z=Use TOC to return subpath for given key, or raise a KeyError.úNo message with key: %sN)r   r   rì   rê   r   rî   r;   rX  r1   s   &&r!   r  ÚMaildir._lookupZ  s¡   € ð	Ü�w‰w�~‰~œbŸg™gŸl™l¨4¯:©:°t·y±yÀµ~ÓF×GÒGØ—y‘y •~Ð%ð Hð 	�‰Œð	FØ—9‘9˜S•>Ð!øô	 ô 	Ùð	ûô
 ô 	FÜÐ4°sÕ:Ó;ÀÐEð	Fús$   ‚AB Á B ÂB) ÂB&Â%B&Â)Cc                óÊ   € \        V R4      '       g   V P                  4       V n          V \        V P                  4      ,          #   \         d     R# \
         d     K9  i ; i)z0Return the next message in a one-time iteration.Ú_onetime_keysN)r�   rb   r­  ÚnextÚStopIterationr;   ra   s   &r!   r®  ÚMaildir.nexth  sX   € ä�t˜_×-Ò-Ø!%§¡£ˆDÔØðØœD ×!3Ñ!3Ó4Õ5Ð5øÜ ô ÚÜô Úðús   ªA ÁA"ÁA"ÁA"Á!A")rð   r­  rë   rñ   rî   rï   rÖ   )'rØ   rÙ   rÚ   rÛ   rÜ   rû   r"   r,   r3   r<   rA   rI   rV   rL   rü   r#  rA  rH  rP  rT  rb   r|   r€   r•   r™   r�   r¡   rw  r}  r…  r�  r”  rž  rö   rX  r  r®  rß   rà   rá   s   @r!   r   r     sÊ   ø‡ € Ù(à€Eôò((òT?òò&ò6ò4ò
ò
÷%ð %ò÷?ð ?÷Kð K÷Oð Oòò ò
ò
òòòòò%òòò& ð €Fò'ò0$&òLF÷
ð 
r$   c                   óŒ   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tRR ltR tRtV tR# )Ú_singlefileMailboxiu  zA single-file mailbox.Nc                ó*  € \         P                  WW#4        \        V P                  R4      pY@n
        RT n        ^ T n        RT n        RT n        RT n        RT n        R#   \         d¨   pTP
                  \
        P                  8X  d9   T'       d   \        T P                  R4      p Rp?L\        T P                  4      hTP
                  \
        P                  \
        P                  39   d   \        T P                  R4      p Rp?LÞh Rp?ii ; i)z!Initialize a single-file mailbox.úrb+zwb+r   NF)r   r"   r!  r   r  r  ÚENOENTr   ÚEACCESÚEROFSÚ_filerî   Ú	_next_keyÚ_pendingÚ_pending_syncÚ_lockedÚ_file_length)r   r   r   r    r'  r  s   &&&&  r!   r"   Ú_singlefileMailbox.__init__x  sÊ   € ä×Ñ˜ WÔ5ð	Ü�T—Z‘Z Ó'ˆAð Œ
ØˆŒ	ØˆŒØˆŒØ"ˆÔØˆŒØ ˆÖøô! ô 		Ø�w‰wœ%Ÿ,™,Ô&ßÜ˜TŸZ™Z¨Ó/•Aä,¨T¯Z©ZÓ8Ð8Ø—‘œUŸ\™\¬5¯;©;Ð7Ô7Ü˜Ÿ™ TÓ*•àûð		ús*   ˜A  Á DÁ+&DÂDÂ-ADÄDÄDc                óØ   € V P                  4        V P                  V4      V P                  V P                  &   V ;P                  ^,          un        RV n        V P                  ^,
          # )r&   T)r  Ú_append_messagerî   r¹  r»  r*   s   &&r!   r,   Ú_singlefileMailbox.add�  sO   € à�‰ŒØ$(×$8Ñ$8¸Ó$Aˆ�	‰	�$—.‘.Ñ!Ø�Š˜!Õ�ð "ˆÔØ�~‰~ Õ!Ð!r$   c                óP   € V P                  V4       V P                  V RV n        R# )r0   TN)r  rî   rº  r1   s   &&r!   r3   Ú_singlefileMailbox.remove™  s    € à�‰�SÔØ�I‰I�cˆNØˆŽr$   c                ór   € V P                  V4       V P                  V4      V P                  V&   RV n        R# )r?   TN)r  rÀ  rî   rº  r@   s   &&&r!   rA   Ú_singlefileMailbox.__setitem__Ÿ  s-   € à�‰�SÔØ×-Ñ-¨gÓ6ˆ�	‰	�#‰ØˆŽr$   c              #  óv   "  € V P                  4        V P                  P                  4        Rj  x€L
  R#  L5irW  )r  rî   rf   ra   s   &r!   rb   Ú_singlefileMailbox.iterkeys¥  s"   é € à�‰ŒØ—9‘9—>‘>Ó#×#Ô#ùs   ‚.9°7±9c                ó>   € V P                  4        WP                  9   # r[  )r  rî   r1   s   &&r!   r|   Ú_singlefileMailbox.__contains__ª  s   € à�‰ŒØ—i‘iÑÐr$   c                óL   € V P                  4        \        V P                  4      # r^  )r  r_  rî   ra   s   &r!   r€   Ú_singlefileMailbox.__len__¯  s   € à�‰ŒÜ�4—9‘9‹~Ðr$   c                óf   € V P                   '       g   \        V P                  4       RV n         R# R# )r˜   TN)r¼  Ú
_lock_filer¸  ra   s   &r!   r™   Ú_singlefileMailbox.lock´  s#   € à�|�|ˆ|Ü�t—z‘zÔ"ØˆDŽLñ r$   c                óf   € V P                   '       d   \        V P                  4       RV n         R# R# ©rœ   FN)r¼  Ú_unlock_filer¸  ra   s   &r!   r�   Ú_singlefileMailbox.unlockº  s#   € à�<�<ˆ<Ü˜Ÿ™Ô$Ø ˆDŽLñ r$   c           	     óš  € V P                   '       g1   V P                  '       d   \        V P                  4       RV n        R# V P                  f   Q hV P                  P                  ^ ^4       V P                  P                  4       pWP                  8w  d   \        RV P                  V3,          4      h\        V P                  4      p / pV P                  V4       \        V P                  P                  4       4       FØ  pV P                  V,          w  rVV P                  P                  V4       V P                  V4       VP                  4       p V P                  P                  \!        RW`P                  P                  4       ,
          4      4      pV'       g   MVP#                  V4       K`  WrP                  4       3W4&   V P%                  V4       KÚ  	  VP                  4       V n        \/        T4       T P                  P'                  4        \(        P0                  ! T P                  4      p	\(        P2                  ! TP,                  T	P4                  4        \(        P6                  ! TP,                  T	P8                  T	P:                  4        \(        P@                  ! TP,                  T P                  4       \E        T P                  R4      T n        Y0n        RT n         RT n        T PF                  '       d   \I        T P                  RR7       R# R#    TP'                  4        \(        P*                  ! TP,                  4       h ; i  \<        \>        3 d     LÑi ; i  \B         dP    \(        P*                  ! T P                  4       \(        P@                  ! TP,                  T P                  4        ELi ; i)rb  FNz4Size of mailbox file changed (expected %i, found %i)é   r´  )Údotlock)%rº  r»  Ú_sync_flushr¸  rî   r½   Útellr½  r   Ú_create_temporaryr   Ú_pre_mailbox_hookrF  rf   Ú_pre_message_hookr¬   ÚminrÀ   Ú_post_message_hookr¡   r   r3   rø   rù   rŸ  ÚchmodÚst_modeÚchownÚst_uidÚst_gidr  r  r  r¡  r!  r¼  rÍ  )
r   Úcur_lenÚnew_fileÚnew_tocr2   ÚstartÚstopÚ	new_startr­   r5  s
   &         r!   r•   Ú_singlefileMailbox.flushÀ  s¹  € à�}�}ˆ}Ø×!×!Ð!ô ˜DŸJ™JÔ'Ø%*�Ô"Ùð
 �y‰yÒ$Ð$Ð$ð 	�
‰
�‰˜˜1ÔØ—*‘*—/‘/Ó#ˆØ×'Ñ'Ô'Ü$ð &?à&*×&7Ñ&7¸Ð%Aõ&Bó Cð Cô % T§Z¡ZÓ0ˆð	ØˆGØ×"Ñ" 8Ô,Ü˜dŸi™iŸn™nÓ.Ö/�Ø"Ÿi™i¨�n‘�Ø—
‘
—‘ Ô&Ø×&Ñ& xÔ0Ø$ŸM™M›O�	ØØ!ŸZ™ZŸ_™_¬S°Ø15¿
¹
¿¹Ó8IÕ1Ió.Kó L�Fç!ØØ—N‘N 6Ö*Ø )¯=©=«?Ð;�‘Ø×'Ñ'¨Ö1ñ 0ð !)§¡£ˆDÔô
 	�HÔà�
‰
×ÑÔä�wŠw�t—z‘zÓ"ˆÜ
�Š�—‘ §¡Ô-ð	Ü�HŠH�X—]‘] D§K¡K°·±Ô=ð	1Ü�IŠI�h—m‘m T§Z¡ZÔ0ô ˜$Ÿ*™* eÓ,ˆŒ
ØŒ	ØˆŒØ"ˆÔØ�<�<ˆ<Ü�t—z‘z¨5×1ñ øð/	Ø�N‰NÔÜ�IŠI�h—m‘mÔ$Øûô ¤Ð(ô 	Ùð	ûô ô 	1Ü�IŠI�d—j‘jÔ!Ü�IŠI�h—m‘m T§Z¡Z×0ð	1ús2   ÃD'L# É%6M Ê+M0 Ì#3MÍM-Í,M-Í0AO
Ï	O
c                ó   € R# )ú,Called before writing the mailbox to file f.Nrc  ©r   r'  s   &&r!   rÙ  Ú$_singlefileMailbox._pre_mailbox_hook  rg  r$   c                ó   € R# )ú-Called before writing each message to file f.Nrc  rë  s   &&r!   rÚ  Ú$_singlefileMailbox._pre_message_hook  rg  r$   c                ó   € R# ©ú,Called after writing each message to file f.Nrc  rë  s   &&r!   rÜ  Ú%_singlefileMailbox._post_message_hook  rg  r$   c                ó¢  €  V P                  4         V P                  '       d   V P                  4        V P                  P	                  4        R#   T P                  P	                  4        i ; i   T P                  '       d   T P                  4        T P                  P	                  4        i   T P                  P	                  4        i ; i; irk  )r•   r¼  r�   r¸  r¡   ra   s   &r!   r¡   Ú_singlefileMailbox.close  s€   € ð	#Ø�J‰JŒLð#Ø—<—<�<Ø—K‘K”Mà—
‘
× Ñ Ö"ø�—
‘
× Ñ Õ"ûð	#Ø—<—<�<Ø—K‘K”Mà—
‘
× Ñ Õ"ø�—
‘
× Ñ Õ"ýs.   ‚A0 “"A ÁA-Á0CÁ2"B/ÂCÂ/CÃCc                ó¶   € V P                   f   V P                  4        Ve    V P                   V,          # R#   \         d    \        RT,          4      Rhi ; i)z'Return (start, stop) or raise KeyError.Nrª  )rî   Ú_generate_tocr;   r1   s   &&r!   r  Ú_singlefileMailbox._lookup  s\   € à�9‰9ÒØ×ÑÔ ØŠ?ðJØ—y‘y •~Ð%ñ øô ô JÜÐ8¸3Õ>Ó?ÀTÐIðJús	   ¤9 ¹Ac                óX  € V P                   P                  ^ ^4       V P                   P                  4       p\        V P                  4      ^ 8X  d.   V P
                  '       g   V P                  V P                   4        V P                  V P                   4       V P                  V4      pV P                  V P                   4       T P                   P                  4        T P                   P                  4       T n        T#   \         d    T P                   P                  T4       h i ; i)z;Append message to mailbox and return (start, stop) offsets.)r¸  r½   r×  r_  rî   rº  rÙ  rÚ  Ú_install_messagerÜ  r÷   Útruncater•   r½  )r   r+   ÚbeforeÚoffsetss   &&  r!   rÀ  Ú"_singlefileMailbox._append_message%  sÙ   € à�
‰
�‰˜˜1ÔØ—‘—‘Ó"ˆÜˆt�y‰y‹>˜QÔ t§}§} }ð
 ×"Ñ" 4§:¡:Ô.ð	Ø×"Ñ" 4§:¡:Ô.Ø×+Ñ+¨GÓ4ˆGØ×#Ñ# D§J¡JÔ/ð 	�
‰
×ÑÔØ ŸJ™JŸO™OÓ-ˆÔØˆøô ô 	Ø�J‰J×Ñ Ô'Øð	ús   Á?AD Ä(D))r¸  r½  r¼  r¹  rº  r»  rî   rÖ   r6   )rØ   rÙ   rÚ   rÛ   rÜ   r"   r,   r3   rA   rb   r|   r€   r™   r�   r•   rÙ  rÚ  rÜ  r¡   r  rÀ  rß   rà   rá   s   @r!   r²  r²  u  s`   ø‡ € Ù ô!ò."òòò$ò
 ò
ò
 ò!òB2òHòòò	#ôJ÷ð r$   r²  c                   óR   a € ] tR tRt o RtRtR tRR ltRR ltRR lt	R t
R	tV tR
# )Ú	_mboxMMDFi<  zAn mbox or MMDF mailbox.Tc                óê  € V P                  V4      w  r#V P                  P                  V4       V P                  P                  4       P	                  \
        R4      P                  R4      pV P                  P                  W0P                  P                  4       ,
          4      pV P                  VP	                  \
        R4      4      pVP                  V4       VP                  VR,          4       V# )rP   r$   r   rª   r²   )r  r¸  r½   rÊ   r¾   r¿   Údecoder¬   r×  Ú_message_factoryÚset_unixfromÚset_from)r   r2   rå  ræ  Ú	from_lineÚstringr(  s   &&     r!   rI   Ú_mboxMMDF.get_messageA  sª   € à—l‘l 3Ó'‰ˆØ�
‰
�‰˜ÔØ—J‘J×'Ñ'Ó)×1Ñ1´'¸3Ó?×FÑFÀwÓOˆ	Ø—‘—‘ ¯
©
¯©Ó(9Õ!9Ó:ˆØ×#Ñ# F§N¡N´7¸EÓ$BÓCˆØ×Ñ˜Ô#Ø�‰�Y˜r•]Ô#Øˆ
r$   c                ól   € \         P                  ! V P                  W4      4      P                  VR7      # )ú3Return a string representation or raise a KeyError.)ÚunixfromrS   )r   r2   Úfrom_s   &&&r!   rX   Ú_mboxMMDF.get_stringL  s.   € ä×'Ò'Ø�N‰N˜3Ó&ó(ß(1©	¸5¨	Ó(Að	Br$   c                ó@  € V P                  V4      w  r4V P                  P                  V4       V'       g   V P                  P                  4        V P                  P	                  W@P                  P                  4       ,
          4      pVP                  \        R4      # )r
  rª   )r  r¸  r½   rÊ   r¬   r×  r¾   r¿   )r   r2   r  rå  ræ  r  s   &&&   r!   rV   Ú_mboxMMDF.get_bytesQ  sf   € à—l‘l 3Ó'‰ˆØ�
‰
�‰˜ÔßØ�J‰J×ÑÔ!Ø—‘—‘ ¯
©
¯©Ó(9Õ!9Ó:ˆØ�~‰~œg uÓ-Ð-r$   c                ó   € V P                  V4      w  r4V P                  P                  V4       V'       g   V P                  P                  4        \	        V P                  V P                  P                  4       V4      # )r]   )r  r¸  r½   rÊ   Ú_PartialFiler×  )r   r2   r  rå  ræ  s   &&&  r!   rL   Ú_mboxMMDF.get_fileZ  sS   € à—l‘l 3Ó'‰ˆØ�
‰
�‰˜ÔßØ�J‰J×ÑÔ!Ü˜DŸJ™J¨¯
©
¯©Ó(9¸4Ó@Ð@r$   c                ó°  € Rp\        V\        4      '       d   V P                  V4      p\        V\        4      '       dF   VP	                  R4      '       d/   VP                  R4      pVR8w  d   VRV pW^,           R pM“TpRpMŽ\        V\        4      '       d*   VP                  4       P                  R4      pRV,           pMO\        V\        P                  P                  4      '       d&   VP                  4       pVe   VP                  R4      pVf?   R\        P                  ! \        P                  ! 4       4      P                  4       ,           pV P                   P#                  4       pV P                   P%                  V\&        ,           4       V P)                  WP                   V P*                  4       V P                   P#                  4       pWV3# )z1Format a message and blindly write to self._file.Nr±   rª   r$   r   s   From MAILER-DAEMON r¶   )r·   rÃ   r§   rÄ   rË   ÚfindÚ_mboxMMDFMessageÚget_fromr¤   rT   r+   r	   Úget_unixfromr’  ÚasctimeÚgmtimer¸  r×  rÀ   r¿   rÔ   Ú_mangle_from_)r   r+   r  ÚnewlineÚauthorrå  ræ  s   &&     r!   rú  Ú_mboxMMDF._install_messageb  sg  € àˆ	Ü�gœs×#Ò#Ø×+Ñ+¨GÓ4ˆGÜ�gœu×%Ò%¨'×*<Ñ*<¸X×*FÒ*FØ—l‘l 5Ó)ˆGØ˜"Œ}Ø# H WÐ-�	Ø!¨A¥+ ,Ð/‘à#�	Ø‘Ü˜Ô!1×2Ò2Ø×%Ñ%Ó'×.Ñ.¨wÓ7ˆFØ  6Õ)‰IÜ˜¤§¡×!6Ñ!6×7Ò7Ø×,Ñ,Ó.ˆIØÒ$Ø%×,Ñ,¨WÓ5�	ØÒØ.´·²¼d¿kºk»mÓ1L×1SÑ1SÓ1UÕUˆIØ—
‘
—‘Ó!ˆØ�
‰
×Ñ˜¤WÕ,Ô-Ø×Ñ˜7§J¡J°×0BÑ0BÔCØ�z‰z�‰Ó ˆØˆ}Ðr$   rc  Nr×   )rØ   rÙ   rÚ   rÛ   rÜ   r  rI   rX   rV   rL   rú  rß   rà   rá   s   @r!   r   r   <  s-   ø‡ € Ù"à€Mò	ôBô
.ôA÷ð r$   r   c                   óB   a € ] tR tRt o RtRtRtR	R ltR tR t	Rt
V tR# )
r   i  zA classic mbox mailbox.TNc                óH   € \         V n        \        P                  WW#4       R# )zInitialize an mbox mailbox.N)r   r  r   r"   r   s   &&&&r!   r"   Úmbox.__init__ˆ  ó   € ä +ˆÔÜ×Ñ˜4 wÖ7r$   c                ó0   € VP                  \        4       R# rñ  ©rÀ   r¿   rë  s   &&r!   rÜ  Úmbox._post_message_hook�  s   € à	�‰”Ör$   c                ó(  € . . r!RpV P                   P                  ^ 4        V P                   P                  4       pV P                   P                  4       pVP	                  R4      '       dn   \        V4      \        V4      8  d@   V'       d'   VP                  V\        \        4      ,
          4       MVP                  V4       VP                  V4       RpK¹  V'       gA   V'       d'   VP                  V\        \        4      ,
          4       MVP                  V4       MV\        8X  d   RpEK  RpEK  \        \        \        W4      4      4      V n        \        V P                  4      V n        V P                   P                  4       V n        R# )ú0Generate key-to-(start, stop) table of contents.FTr±   N)r¸  r½   r×  rÊ   rË   r_  rt  r¿   ÚdictÚ	enumerateÚziprî   r¹  r½  )r   ÚstartsÚstopsÚlast_was_emptyÚline_posrÓ   s   &     r!   r÷  Úmbox._generate_toc‘  s  € à˜B�ØˆØ�
‰
�‰˜ÔØØ—z‘z—‘Ó(ˆHØ—:‘:×&Ñ&Ó(ˆDØ�‰˜x×(Ò(Ü�u“:¤ F£Ô+ß%ØŸ™ X´´G³Õ%<Õ=ð
 Ÿ™ XÔ.Ø—‘˜hÔ'Ø!&’ßß!Ø—L‘L ¬C´«LÕ!8Õ9à—L‘L Ô*ØØœ”Ø!%“à!&“Üœ¤3 vÓ#5Ó6Ó7ˆŒ	Ü˜TŸY™Y›ˆŒØ ŸJ™JŸO™OÓ-ˆÖr$   ©r½  r  r¹  rî   rÖ   )rØ   rÙ   rÚ   rÛ   rÜ   r  rÁ   r"   rÜ  r÷  rß   rà   rá   s   @r!   r   r     s(   ø‡ € Ù!à€Mð €Oô8ò
÷.ð .r$   c                   ó@   a € ] tR tRt o RtR	R ltR tR tR tRt	V t
R# )
r   i³  zAn MMDF mailbox.Nc                óH   € \         V n        \        P                  WW#4       R# )zInitialize an MMDF mailbox.N)r   r  r   r"   r   s   &&&&r!   r"   ÚMMDF.__init__¶  r!  r$   c                ó>   € VP                  R\        ,           4       R# )rî  ó   Nr#  rë  s   &&r!   rÚ  ÚMMDF._pre_message_hook»  s   € à	�‰Ð#¤gÕ-Ö.r$   c                óT   € VP                  \        R,           \        ,           4       R# )rò  r4  Nr#  rë  s   &&r!   rÜ  ÚMMDF._post_message_hook¿  s   € à	�‰”Ð-Õ-´Õ7Ö8r$   c                ó:  € . . r!V P                   P                  ^ 4       ^ p TpV P                   P                  4       pV P                   P                  4       pVP	                  R\
        ,           4      '       dŸ   VP                  V4        TpV P                   P                  4       pV P                   P                  4       pVR\
        ,           8X  d(   VP                  V\        \
        4      ,
          4       KÚ  V'       d   Kz  VP                  V4       K÷  V'       d   EK   \        \        \        Y4      4      4      T n        \        T P                  4      T n        T P                   P                  ^ ^4       T P                   P                  4       T n        R# )r&  r4  N)r¸  r½   rÊ   r×  rË   r¿   rt  r_  r'  r(  r)  rî   r¹  r½  )r   r*  r+  Únext_posr-  rÓ   s   &     r!   r÷  ÚMMDF._generate_tocÃ  s  € à˜B�Ø�
‰
�‰˜ÔØˆØØˆHØ—:‘:×&Ñ&Ó(ˆDØ—z‘z—‘Ó(ˆHØ�‰Ð2´WÕ<×=Ò=Ø—‘˜hÔ'ØØ'�HØŸ:™:×.Ñ.Ó0�DØ#Ÿz™zŸ™Ó0�HØÐ2´WÕ<Ô<ØŸ™ X´´G³Õ%<Ô=Ùß!™TØŸ™ XÔ.Ùß’TØÜœ¤3 vÓ#5Ó6Ó7ˆŒ	Ü˜TŸY™Y›ˆŒØ�
‰
�‰˜˜1ÔØ ŸJ™JŸO™OÓ-ˆÖr$   r/  rÖ   )rØ   rÙ   rÚ   rÛ   rÜ   r"   rÚ  rÜ  r÷  rß   rà   rá   s   @r!   r   r   ³  s!   ø‡ € Ùô8ò
/ò9÷.ð .r$   c                   ó²   a € ] tR tRt o RtRR ltR tR tR tR t	R	 t
R
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )r   ià  zAn MH mailbox.Nc                ó4  € \         P                  WW#4       \        P                  P	                  V P
                  4      '       gÌ   V'       d¯   \        P                  ! V P
                  R4       \        P                  ! \        P                  ! \        P                  P                  V P
                  R4      \        P                  \        P                  ,          \        P                  ,          R4      4       M\        V P
                  4      hRV n        R# )zInitialize an MH instance.ré   ú.mh_sequencesi€  FN)r   r"   r   r   rì   r   rí   r¡   r!  rê   r‚  ÚO_EXCLrƒ  r   r¼  r   s   &&&&r!   r"   ÚMH.__init__ã  sŸ   € ä×Ñ˜ WÔ5Ü�w‰w�~‰~˜dŸj™j×)Ò)ßÜ—’˜Ÿ™ UÔ+Ü—’œŸš¤§¡§¡¨d¯j©j¸/Ó!JÜ!#§¡¬b¯i©iÕ!7¼"¿+¹+Õ!EÀuóNõ Oô )¨¯©Ó4Ð4ØˆŽr$   c                ó  € V P                  4       p\        V4      ^ 8X  d   ^pM\        V4      ^,           p\        P                  P                  V P                  \        V4      4      p\        V4      pRp V P                  '       d   \        V4         V P                  W4       \!        T\"        4      '       d   T P%                  Y4       T P                  '       d   \        T4       T'       g   \        T4       T#   \         dC    T P                  '       d   \        T4       \        T4       Rp\        P                  ! T4       h i ; i  T P                  '       d   \        T4       i i ; i  T'       g   \        T4       i i ; i)r&   FT)rf   r_  Úmaxr   r   rê   r   rÃ   r   r¼  rÍ  rÔ   r÷   rÑ  rù   r3   r·   r   Ú_dump_sequences)r   r+   rf   Únew_keyr  r'  Úcloseds   &&     r!   r,   ÚMH.addï  s$  € à�y‰y‹{ˆÜˆt‹9˜Œ>Ø‰Gä˜$“i !•mˆGÜ—7‘7—<‘< §
¡
¬C°«LÓ9ˆÜ˜hÓ'ˆØˆð	Ø�|�|ˆ|Ü˜1”ð$ð	Ø×&Ñ& wÔ2ô ˜g¤y×1Ò1Ø×(Ñ(¨Ô:à—<—<�<Ü  ”OçÜ˜A”Øˆøô! %ô à—|—|�|Ü$ QœÜ ”NØ!�FÜ—I’I˜hÔ'Øðûð —<—<�<Ü  •Oð  û÷ Ü˜A•ð ús<   Á7E3 ÂD  Â''E ÃE3 Ä EÄ0EÅE Å E0Å0E3 Å3F	c                ó\  € \         P                  P                  V P                  \	        V4      4      p \        VR4      pVP                  4        \         P                  ! V4       R#   \         d8   pTP                  \        P                  8X  d   \        RT,          4      hh Rp?ii ; i)r0   r´  rª  N)r   r   rê   r   rÃ   r!  r¡   r3   r  r  rµ  r;   )r   r2   r   r'  r  s   &&   r!   r3   Ú	MH.remove  s{   € ä�w‰w�|‰|˜DŸJ™J¬¨C«Ó1ˆð		Ü�T˜5Ó!ˆAð �G‰GŒIÜ�IŠI�dŽOøô ô 	Ø�w‰wœ%Ÿ,™,Ô&ÜÐ8¸3Õ>Ó?Ð?àûð		ús   µA) Á)B+Á42B&Â&B+c                ó  € \         P                  P                  V P                  \	        V4      4      p \        VR4      p T P                  '       d   \        T4        \         P                  ! \         P
                  ! T\         P                  \         P                  ,          4      4       T P                  Y$4       \!        T\"        4      '       d   T P%                  Y!4       T P                  '       d   \'        T4       \)        T4       R#   \         d8   pTP                  \        P                  8X  d   \        RT,          4      hh Rp?ii ; i  T P                  '       d   \'        T4       i i ; i  \)        T4       i ; i)r?   r´  rª  N)r   r   rê   r   rÃ   r!  r  r  rµ  r;   r¼  rÍ  r¡   rƒ  ÚO_TRUNCrÔ   r·   r   rB  rÑ  rù   )r   r2   r+   r   r'  r  s   &&&   r!   rA   ÚMH.__setitem__  s  € ä�w‰w�|‰|˜DŸJ™J¬¨C«Ó1ˆð	Ü�T˜5Ó!ˆAð	Ø�|�|ˆ|Ü˜1”ð$Ü—’œŸš ¤r§{¡{´R·Z±ZÕ'?Ó@ÔAØ×"Ñ" 7Ô.Ü˜g¤y×1Ò1Ø×(Ñ(¨Ô6à—<—<�<Ü  ”Oä˜ŽNøô# ô 	Ø�w‰wœ%Ÿ,™,Ô&ÜÐ8¸3Õ>Ó?Ð?àûð		ûð —<—<�<Ü  •Oð  ûô ˜�NúsB   µD ÁE8 ÁE8 Á BE Ã&E8 ÄEÄ2EÅEÅ E5Å5E8 Å8Fc                óL  €  V P                   '       d?   \        \        P                  P	                  V P
                  \        V4      4      R4      pM>\        \        P                  P	                  V P
                  \        V4      4      R4      p T;_uu_ 4        V P                   '       d   \        V4        \        V4      pV P                   '       d   \        V4       RRR4       T P                  4       P                  4        F  w  rVY9   g   K  XP!                  T4       K   	  X#   \         d8   pTP                  \        P                  8X  d   \        RT,          4      hh Rp?ii ; i  T P                   '       d   \        T4       i i ; i  + '       g   i     Lº; i)rP   r´  r   rª  N)r¼  r!  r   r   rê   r   rÃ   r  r  rµ  r;   rÍ  r   rÑ  Úget_sequencesrx   Úadd_sequence)r   r2   r'  r  r(  rø   Úkey_lists   &&     r!   rI   ÚMH.get_message7  s   € ð		Ø�|�|ˆ|ÜœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸UÓC‘äœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸TÓB‘÷ ŠQØ�|�|ˆ|Ü˜1”ð$Ü “l�à—<—<�<Ü  ”O÷ ð #×0Ñ0Ó2×8Ñ8Ö:‰NˆDØŽØ× Ñ  Ö&ñ ;ð ˆ
øô! ô 	Ø�w‰wœ%Ÿ,™,Ô&ÜÐ8¸3Õ>Ó?Ð?àûð		ûð —<—<�<Ü  •Oð  ú÷ �QúsF   ‚D+ ”=D+ Á=D+ ÂFÂ9E0ÃFÄ+E-Ä62E(Å(E-Å0 FÆFÆF#	c                ó   €  V P                   '       d?   \        \        P                  P	                  V P
                  \        V4      4      R4      pM>\        \        P                  P	                  V P
                  \        V4      4      R4      p T;_uu_ 4        V P                   '       d   \        V4        VP                  4       P                  \        R4      V P                   '       d   \        V4       uuRRR4       #   \         d8   pTP                  \        P                  8X  d   \        RT,          4      hh Rp?ii ; i  T P                   '       d   \        T4       i i ; i  + '       g   i     R# ; i)r+  r´  r   rª  Nrª   )r¼  r!  r   r   rê   r   rÃ   r  r  rµ  r;   rÍ  r¬   r¾   r¿   rÑ  ©r   r2   r'  r  s   &&  r!   rV   ÚMH.get_bytesP  s÷   € ð		Ø�|�|ˆ|ÜœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸UÓC‘äœŸ™Ÿ™ d§j¡j´#°c³(Ó;¸TÓB‘÷ ŠQØ�|�|ˆ|Ü˜1”ð$Ø—v‘v“x×'Ñ'¬°Ó7à—<—<�<Ü  ”O÷ ŠQøô ô 	Ø�w‰wœ%Ÿ,™,Ô&ÜÐ8¸3Õ>Ó?Ð?àûð		ûð —<—<�<Ü  •Oð  ú÷ �QˆQúsF   ‚D ”=D Á=D ÂE,Â9#E	ÃE,ÄEÄ2EÅEÅ	 E)Å)E,Å,E=	c                ó  €  \        \        P                  P                  V P                  \        V4      4      R4      p\        T4      #   \         d8   pTP                  \        P                  8X  d   \        RT,          4      hh Rp?ii ; i)r]   r   rª  N)r!  r   r   rê   r   rÃ   r  r  rµ  r;   r/  rQ  s   &&  r!   rL   ÚMH.get_filee  sl   € ð	Ü”R—W‘W—\‘\ $§*¡*¬c°#«hÓ7¸Ó>ˆAô ˜!‹}Ðøô ô 	Ø�w‰wœ%Ÿ,™,Ô&ÜÐ8¸3Õ>Ó?Ð?àûð		ús   ‚=A
 Á
BÁ2BÂBc                ót   € \        \        R \        P                  ! V P                  4       4       4      4      # )r`   c              3   óh   "  € T F(  pVP                  4       '       g   K  \        V4      x € K*  	  R # 5ir6   )Úisdigitrœ  )Ú.0rv  s   & r!   Ú	<genexpr>ÚMH.iterkeys.<locals>.<genexpr>r  s(   é € ð :Ñ3I¨%Ø).¯©¯ô &œ3˜uŸ:˜:Ó3Iùs   ‚2Ÿ2)ÚiterrF  r   rr  r   ra   s   &r!   rb   ÚMH.iterkeysp  s/   € ä”Fñ :´2·:²:¸d¿j¹jÔ3Ió :ó :ó ;ð 	;r$   c                ó¢   € \         P                  P                  \         P                  P                  V P                  \        V4      4      4      # r[  )r   r   rì   rê   r   rÃ   r1   s   &&r!   r|   ÚMH.__contains__u  s,   € ä�w‰w�~‰~œbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@ÓAÐAr$   c                óF   € \        \        V P                  4       4      4      # r^  )r_  re   rb   ra   s   &r!   r€   Ú
MH.__len__y  s   € ä”4˜Ÿ™›Ó(Ó)Ð)r$   c                ó&  € V'       d   R MRpV'       d   RR/M/ p\         P                  P                  V P                  R4      p  \	        VRV,           3/ VB #   \
         d     Mi ; i \	        TRT,           3/ TB #   \         d     KJ  i ; i)rõ   ÚbÚencodingÚASCIIr=  zr+zx+)r   r   rê   r   r!  r  r¡  )r   ÚtextÚmodeÚkwargsr   s   &&   r!   Ú_open_mh_sequences_fileÚMH._open_mh_sequences_file}  sŽ   € ß‰r˜sˆß*.�*˜gÑ&°BˆÜ�w‰w�|‰|˜DŸJ™J¨Ó8ˆØðÜ˜D $¨¥+Ñ8°Ñ8Ð8øÜ$ô ÙðúðÜ˜D $¨¥+Ñ8°Ñ8Ð8øÜ"ô Úðús$   ÁA ÁA)Á(A)Á-B ÂBÂBc                ó”   € V P                   '       g6   V P                  RR7      V n        \        V P                  4       RV n         R# R# )r˜   F©re  TN)r¼  rh  r¸  rÍ  ra   s   &r!   r™   ÚMH.lock‹  s8   € à�|�|ˆ|Ø×5Ñ5¸5Ð5ÓAˆDŒJÜ�t—z‘zÔ"ØˆDŽLñ r$   c                ó”   € V P                   '       d6   \        V P                  4       \        V P                  4       V =RV n         R# R# rÐ  )r¼  rÑ  r¸  rù   ra   s   &r!   r�   Ú	MH.unlock’  s4   € à�<�<ˆ<Ü˜Ÿ™Ô$Ü˜Ÿ
™
Ô#Ø�
Ø ˆDŽLñ	 r$   c                ó   € R# )r”   Nrc  ra   s   &r!   r•   ÚMH.flushš  rg  r$   c                óN   € V P                   '       d   V P                  4        R# R# rk  )r¼  r�   ra   s   &r!   r¡   ÚMH.closež  s   € à�<�<ˆ<Ø�K‰KŽMñ r$   c                ó  € . p\         P                  ! V P                  4       Fc  p\         P                  P	                  \         P                  P                  V P                  V4      4      '       g   KR  VP                  V4       Ke  	  V# )rn  )r   rr  r   r   rs  rê   rt  ru  s   &  r!   rw  ÚMH.list_folders£  sW   € àˆÜ—Z’Z §
¡
Ö+ˆEÜ�w‰w�}‰}œRŸW™WŸ\™\¨$¯*©*°eÓ<×=Ô=Ø—‘˜eÖ$ñ ,ð ˆr$   c                ó‚   € \        \        P                  P                  V P                  V4      V P
                  RR7      # )z+Return an MH instance for the named folder.Frz  ©r   r   r   rê   r   r   r{  s   &&r!   r}  ÚMH.get_folder«  s-   € ä”"—'‘'—,‘,˜tŸz™z¨6Ó2ØŸ-™-°ô7ð 	7r$   c                ó€   € \        \        P                  P                  V P                  V4      V P
                  R7      # )z:Create a folder and return an MH instance representing it.r€  rv  r{  s   &&r!   r…  ÚMH.add_folder°  s+   € ä”"—'‘'—,‘,˜tŸz™z¨6Ó2ØŸ-™-ô)ð 	)r$   c                ót  € \         P                  P                  V P                  V4      p\         P                  ! V4      pVR.8X  d6   \         P
                  ! \         P                  P                  VR4      4       M$V. 8X  d   M\        RV P                  ,          4      h\         P                  ! V4       R# )rˆ  r=  zFolder not empty: %sN)r   r   rê   r   rr  r3   r   r‹  )r   r|  r   Úentriess   &&  r!   r�  ÚMH.remove_folderµ  sx   € ä�w‰w�|‰|˜DŸJ™J¨Ó/ˆÜ—*’*˜TÓ"ˆØ�Ð'Ô'Ü�IŠI”b—g‘g—l‘l 4¨Ó9Õ:Ø˜Œ]ØäÐ 6¸¿¹Õ CÓDÐDÜ
�Š�Žr$   c                óZ  € / p \        \        P                  P                  V P                  R4      RRR7      pT;_uu_ 4        \        T P                  4       4      pT Fä  p TP                  R4      w  rV\        4       pTP                  4        Fp  pTP                  4       '       d   TP                  \        T4      4       K5  R TP                  R4       4       w  ršTP                  \        Yš^,           4      4       Kr  	  \        T4       Uu. uF  pY³9   g   K  TNK  	  upY&   \        Y,          4      ^ 8X  d   Y Kä  Kæ  	  R	R	R	4       T#   \
         d    Tu # i ; iu upi   \          d"    \#        RTP%                  4       ,          4      hi ; i  + '       g   i     T# ; i)
z=Return a name-to-key-list dictionary to define each sequence.r=  Úrrd  )rc  rä   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir6   )rœ  )rX  Úxs   & r!   rY  Ú#MH.get_sequences.<locals>.<genexpr>Ò  s   é € Ð*K¹?°a¬3¨q¯6¨6»?ùs   ‚Ú-z"Invalid sequence specification: %sN)r!  r   r   rê   r   r  rG  rf   rþ   rW  r,   rœ  r‘   ÚrangerF  r_  r¦   r   Úrstrip)r   Úresultsr'  Úall_keysrÓ   rø   Úcontentsrf   Úspecrå  ræ  r2   s   &           r!   rL  ÚMH.get_sequencesÁ  se  € àˆð	Ü”R—W‘W—\‘\ $§*¡*¨oÓ>ÀÈgÔVˆA÷ ŠQÜ˜4Ÿ9™9›;Ó'ˆHÛ�ð5Ø%)§Z¡Z°£_‘N�DÜ›5�DØ (§¡Ö 0˜ØŸ<™<Ÿ>š>Ø ŸH™H¤S¨£YÖ/á*K¸4¿:¹:Àc¼?Ó*K™K˜EØ ŸK™K¬¨e¸AµXÓ(>Ö?ñ !1ô 5;¸4´Ló %=±L¨SØ,/©O÷ &) S±Lñ %=�G‘Mä˜7�=Ó)¨QÔ.Ø#šMñ /ñ ÷ ð& ˆøô+ !ô 	ØŠNð	üò%=øô "ô 5Ü%Ð&JØ&*§k¡k£mõ'4ó 5ð 5ð5ú÷! ŽQð& ˆúsN   „6E ÁFÁ$B.E*ÄE%
ÄE%
Ä%E*ÅFÅE"Å!E"Å%E*Å*,F	ÆFÆF*	c                ó  € V P                  RR7      p \        P                  ! \        P                  ! VP                  \        P
                  \        P                  ,          4      4       VP                  4        Fñ  w  r4\        V4      ^ 8X  d   K  VP                  VR,           4       RpRp\        \        V4      4       Fj  pV^,
          V8X  d   V'       g   RpVP                  R4       M;V'       d   RpVP                  V: RV: 24       MVP                  RV,          4       TpKl  	  V'       d$   VP                  \        V4      R	,           4       Kà  VP                  R	4       Kó  	  \        V4       R#   \        T4       i ; i)
z:Set sequences using the given name-to-key-list dictionary.Trk  rä   NFr‚  Ú z %sÚ
)rh  r   r¡   r!  rø   rƒ  rI  rx   r_  rÀ   rF  rG  rÃ   rù   )r   Ú	sequencesr'  rø   rf   ÚprevÚ
completingr2   s   &&      r!   Úset_sequencesÚMH.set_sequencesÝ  s  € à×(Ñ(¨dÐ(Ó3ˆð	Ü�HŠH”R—W’W˜QŸV™V¤R§[¡[´2·:±:Õ%=Ó>Ô?Ø'Ÿo™oÖ/‘
�Ü�t“9 ”>ÙØ—‘˜˜s�
Ô#Ø�Ø"�
Ü!¤# d£)Ö,�CØ˜Q•w $”ß)Ø)-˜JØŸG™G CœLøß#Ø%*˜
ØŸ™«4²Ð 5Õ6àŸ™ ¨¥Ô,Ø’Dñ -÷ Ø—G‘GœC ›I¨Õ,Ö-à—G‘G˜D–Mñ) 0ô, ˜ŽNøŒK˜�Nús   ”CE> ÃE> Ã8A E> Ä98E> Å>Fc                ó\  € V P                  4       p^ p. pV P                  4        Fû  pV^,
          V8w  dâ   VP                  WB^,           34        \        P                  ! \        P
                  P                  V P                  \        V4      4      \        P
                  P                  V P                  \        V^,           4      4      4       \        P                  ! \        P
                  P                  V P                  \        V4      4      4       V^,          pKý  	  V^,           V n        \        V4      ^ 8X  d   R# VP                  4        F+  w  rVV F   w  rxWv9   g   K  W†VP!                  V4      &   K"  	  K-  	  V P#                  V4       R#   \        \        3 d…    \        P                  ! \        P
                  P                  T P                  \        T4      4      \        P
                  P                  T P                  \        T^,           4      4      4        ELi ; i)z?Re-name messages to eliminate numbering gaps. Invalidates keys.N)rL  rb   rt  r   r  r   rê   r   rÃ   Úunlinkr  r  r  r¹  r_  rx   Úindexr�  )	r   r�  rŽ  Úchangesr2   rø   rN  Úoldrç   s	   &        r!   ÚpackÚMH.packú  s|  € à×&Ñ&Ó(ˆ	ØˆØˆØ—=‘=–?ˆCØ�Q�w˜$ŒØ—‘ ¨A¥X˜Ô/ðBÜ—G’GœBŸG™GŸL™L¨¯©´S¸³XÓ>ÜŸG™GŸL™L¨¯©´S¸À½³]ÓCôEô —I’IœbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@ÔAØ�A�IŠDñ #ð  �ˆŒÜˆw‹<˜1ÔÙØ'Ÿo™oÖ/‰NˆDÛ#‘�Ø–?Ø47˜XŸ^™^¨CÓ0Ó1ó $ñ 0ð 	×Ñ˜9Ö%øô '¬Ð8ô GÜ—I’IœbŸg™gŸl™l¨4¯:©:´s¸3³xÓ@Ü Ÿg™gŸl™l¨4¯:©:´s¸4À!½8³}ÓE÷GðGús   ÁB FÆBH+È*H+c                ó*  € VP                  4       pV P                  4       pVP                  4        F7  w  rVWS9   d   VP                  V4       K  W&9   g   K&  WfP                  V4       K9  	  V F  pWt9  g   K  V.WG&   K  	  V P	                  V4       R# )z;Inspect a new MHMessage and update sequences appropriately.N)rL  rx   rt  r”  r�  )r   r+   r2   Úpending_sequencesÚall_sequencesrø   rN  Úsequences   &&&     r!   rB  ÚMH._dump_sequences  s†   € à#×1Ñ1Ó3ÐØ×*Ñ*Ó,ˆØ+×1Ñ1Ö3‰NˆDØÔ(Ø—‘ Ö$Ø–ØŸ^™^¨CÓ0Ò1ñ	 4ó
 *ˆHØÖ,Ø+.¨%�Ó'ñ *ð 	×Ñ˜=Ö)r$   )r¸  r¼  r¹  rÖ   )rØ   rÙ   rÚ   rÛ   rÜ   r"   r,   r3   rA   rI   rV   rL   rb   r|   r€   rh  r™   r�   r•   r¡   rw  r}  r…  r�  rL  r�  r—  rB  rß   rà   rá   s   @r!   r   r   à  s‚   ø‡ € Ùô
ò òDòò0ò2$ò*	ò;ò
Bò*òò ò!òòò
ò7ò
)ò

òò8ò:&÷4*ð *r$   c                   óŠ   a € ] tR tRt o Rt]! 0 Rm4      tRR ltR tR t	R t
R tR	 tR
 tR tR tR tR tR tR tRtV tR# )r   i#  zAn Rmail-style Babyl mailbox.Nc                ó@   € \         P                  WW#4       / V n        R# )zInitialize a Babyl mailbox.N)r²  r"   Ú_labelsr   s   &&&&r!   r"   ÚBabyl.__init__)  s   € ä×#Ñ# D°Ô@ØˆŽr$   c                ó–   € \         P                  W4      p\        V\        4      '       d   VP	                  4       V P
                  V&   V# )r&   )r²  r,   r·   r   Ú
get_labelsr   )r   r+   r2   s   && r!   r,   Ú	Babyl.add.  s;   € ä ×$Ñ$ TÓ3ˆÜ�gœ|×,Ò,Ø '× 2Ñ 2Ó 4ˆD�L‰L˜ÑØˆ
r$   c                ón   € \         P                  W4       WP                  9   d   V P                  V R# R# r  )r²  r3   r   r1   s   &&r!   r3   ÚBabyl.remove5  s+   € ä×!Ñ! $Ô,Ø—,‘,ÔØ—‘˜SÒ!ñ r$   c                óœ   € \         P                  WV4       \        V\        4      '       d    VP	                  4       V P
                  V&   R# R# )r?   N)r²  rA   r·   r   r£  r   r@   s   &&&r!   rA   ÚBabyl.__setitem__;  s;   € ä×&Ñ& t°'Ô:Ü�gœ|×,Ò,Ø '× 2Ñ 2Ó 4ˆD�L‰L˜Óñ -r$   c                óæ  € V P                  V4      w  r#V P                  P                  V4       V P                  P                  4        \        P
                  ! 4       p V P                  P                  4       pVR\        ,           8X  g	   V'       g   M'VP                  VP                  \        R4      4       K]  \        P
                  ! 4       p V P                  P                  4       pV\        8X  g	   V'       g   M'VP                  VP                  \        R4      4       KV  W0P                  P                  4       ,
          pV^ 8¼  g   Q hV P                  P                  V4      pVP                  \        R4      p\        VP                  4       V,           4      p	V	P                  VP                  4       4       WP                  9   d#   V	P                  V P                  V,          4       V	# )rP   ó   *** EOOH ***rª   )r  r¸  r½   rÊ   r¸   r¹   r¿   rÀ   r¾   r×  r¬   r   rÉ   Úset_visibler   Ú
set_labels)
r   r2   rå  ræ  Úoriginal_headersrÓ   Úvisible_headersÚnÚbodyr(  s
   &&        r!   rI   ÚBabyl.get_messageA  sU  € à—l‘l 3Ó'‰ˆØ�
‰
�‰˜ÔØ�
‰
×ÑÔÜŸ:š:›<ÐØØ—:‘:×&Ñ&Ó(ˆDØ�¬Õ0Ô0¿ØØ×"Ñ" 4§<¡<´¸Ó#?Ö@ÜŸ*š*›,ˆØØ—:‘:×&Ñ&Ó(ˆDØ”wŒ§dØØ×!Ñ! $§,¡,¬w¸Ó">Ö?à—:‘:—?‘?Ó$Õ$ˆØ�AŒvˆˆvØ�z‰z�‰˜qÓ!ˆØ�|‰|œG UÓ+ˆÜÐ+×4Ñ4Ó6¸Õ=Ó>ˆØ�‰˜×0Ñ0Ó2Ô3Ø—,‘,ÔØ�N‰N˜4Ÿ<™<¨Õ,Ô-Øˆ
r$   c                ó¼  € V P                  V4      w  r#V P                  P                  V4       V P                  P                  4        \        P
                  ! 4       p V P                  P                  4       pVR\        ,           8X  g	   V'       g   M'VP                  VP                  \        R4      4       K]   V P                  P                  4       pV\        8X  g   V'       d   K0   TP                  4       pY0P                  P                  4       ,
          pT^ 8¼  g   Q hT P                  P                  T4      pTP                  \        R4      pYh,           # )r
  rª  rª   )r  r¸  r½   rÊ   r¸   r¹   r¿   rÀ   r¾   rÉ   r×  r¬   )	r   r2   rå  ræ  r­  rÓ   Úheadersr¯  rÑ   s	   &&       r!   rV   ÚBabyl.get_bytes]  s÷   € à—l‘l 3Ó'‰ˆØ�
‰
�‰˜ÔØ�
‰
×ÑÔÜŸ:š:›<ÐØØ—:‘:×&Ñ&Ó(ˆDØ�¬Õ0Ô0¿ØØ×"Ñ" 4§<¡<´¸Ó#?Ö@ØØ—:‘:×&Ñ&Ó(ˆDØ”wŒ§d¡dØØ"×+Ñ+Ó-ˆØ—:‘:—?‘?Ó$Õ$ˆØ�AŒvˆˆvØ�z‰z�‰˜qÓ!ˆØ�|‰|œG UÓ+ˆØ�~Ðr$   c                ót   € \         P                  ! V P                  V4      P                  R\        4      4      # )r]   rª   )r¸   r¹   rV   r¾   r¿   r1   s   &&r!   rL   ÚBabyl.get_files  s'   € ä�zŠz˜$Ÿ.™.¨Ó-×5Ñ5°e¼WÓEÓFÐFr$   c                óæ   € V P                  4        \        4       pV P                  P                  4        F  pVP	                  V4       K  	  VP                  V P                  4       \        V4      # )z4Return a list of user-defined labels in the mailbox.)r  rG  r   rr   r‘   Údifference_updateÚ_special_labelsre   )r   ÚlabelsÚ
label_lists   &  r!   r£  ÚBabyl.get_labelsw  sS   € à�‰ŒÜ“ˆØŸ,™,×-Ñ-Ö/ˆJØ�M‰M˜*Ö%ñ 0à× Ñ  ×!5Ñ!5Ô6Ü�F‹|Ðr$   c                ó²  € . . r!V P                   P                  ^ 4       ^ p. p TpV P                   P                  4       pV P                   P                  4       pVR\        ,           8X  dÉ   \        V4      \        V4      8  d&   VP                  V\        \        4      ,
          4       VP                  V4       V P                   P                  4       R,          P                  R4       Uu. uF+  pVP                  4       '       g   K  VP                  4       NK-  	  ppVP                  V4       EK  VR8X  g   VR\        ,           8X  dE   \        V4      \        V4      8  d)   VP                  V\        \        4      ,
          4       EKk  EKn  V'       d   EKy  VP                  V\        \        4      ,
          4        \        \        \        Y4      4      4      T n        \        \        T4      4      T n        \        T P                  4      T n        T P                   P                  ^ ^4       T P                   P                  4       T n        R# u upi )r&  s   rp  ó   ,ó   N)r¸  r½   rÊ   r×  r¿   r_  rt  rþ   Ústripr'  r(  r)  rî   r   r¹  r½  )	r   r*  r+  r9  Úlabel_listsr-  rÓ   Úlabelrº  s	   &        r!   r÷  ÚBabyl._generate_toc€  s¦  € à˜B�Ø�
‰
�‰˜ÔØˆØˆØØˆHØ—:‘:×&Ñ&Ó(ˆDØ—z‘z—‘Ó(ˆHØ�{¤WÕ,Ô,Ü�u“:¤ F£Ô+Ø—L‘L ¬C´«LÕ!8Ô9Ø—‘˜hÔ'à+/¯:©:×+>Ñ+>Ó+@ÀÕ+D×+JÑ+JÈ4Ô+Pó:Ù+Pð -2à+0¯;©;¯=ô (˜%Ÿ+™+ž-Ù+Pð ð :ð ×"Ñ" 6×*Ø˜” D¨G´gÕ,=Ô$=Ü�u“:¤ F£Ô+Ø—L‘L ¬C´«LÕ!8×9ò ,ç’TØ—‘˜X¬¬G«Õ4Ô5ØÜœ¤3 vÓ#5Ó6Ó7ˆŒ	ÜœI kÓ2Ó3ˆŒÜ˜TŸY™Y›ˆŒØ�
‰
�‰˜˜1ÔØ ŸJ™JŸO™OÓ-ˆÖùò:s   Ã-IÄ
Ic                ó  € R\         ,           pVR\         ,           ,          pV P                  4       pR V 4       pVRRP                  V4      ,           \         ,           ,          pVR,          pVP                  V4       R# )rê  s   BABYL OPTIONS:s
   Version: 5c              3   ó@   "  € T F  qP                  4       x € K  	  R # 5ir6   )r¤   )rX  rÂ  s   & r!   rY  Ú*Babyl._pre_mailbox_hook.<locals>.<genexpr>£  s   é € Ð5©f U—,‘,—.�.«fùs   ‚s   Labels:r¾  r¿  N)r¿   r£  rê   rÀ   )r   r'  Úbabylrº  s   &&  r!   rÙ  ÚBabyl._pre_mailbox_hookž  sc   € à!¤GÕ+ˆØ�¤Õ(Õ(ˆØ—‘Ó"ˆÙ5©fÓ5ˆØ�˜dŸi™i¨Ó/Õ/´'Õ9Õ9ˆØ�ÕˆØ	�‰�Žr$   c                ó>   € VP                  R\        ,           4       R# )rî  ó   Nr#  rë  s   &&r!   rÚ  ÚBabyl._pre_message_hook¨  s   € à	�‰�œ'Õ!Ö"r$   c                ó>   € VP                  \        R,           4       R# )rò  r¿  Nr#  rë  s   &&r!   rÜ  ÚBabyl._post_message_hook¬  s   € à	�‰”˜'Õ!Ö"r$   c                óÆ  € V P                   P                  4       p\        V\        4      '       Ed   . p. pVP	                  4        F7  pWPP
                  9   d   VP                  V4       K&  VP                  V4       K9  	  V P                   P                  R4       V F3  pV P                   P                  RVP                  4       ,           4       K5  	  V P                   P                  R4       V F:  pV P                   P                  RVP                  4       ,           R,           4       K<  	  V P                   P                  \        4       M&V P                   P                  R\        ,           4       \        V\        P                  P                  4      '       Ed>   \        P                  ! 4       p\        P                  P!                  VR^ 4      pVP#                  V4       VP%                  ^ 4        VP'                  4       pV P                   P                  VP)                  R	\        4      4       VR	8X  g   V'       d   KQ   T P                   P                  R
\        ,           4       \        T\        4      '       d¨   \        P                  ! 4       p	\        P                  P!                  T	R^ 4      p
T
P#                  TP+                  4       4        T	P'                  4       pT P                   P                  TP)                  R	\        4      4       TR	8X  g   T'       d   KQ  McTP%                  ^ 4        TP'                  4       pT P                   P                  TP)                  R	\        4      4       TR	8X  g   T'       d   KQ    TP-                  R4      pT'       g   EMT P                   P                  TP)                  R	\        4      4       KM  \        V\.        \0        \        P2                  34      '       Ed¹   \        V\        P2                  4      '       d-   \4        P6                  ! R\8        ^4       VP;                  4       p\        V\0        4      '       d   V P=                  V4      pVP?                  R4      ^,           pV^,
          R8w  d¾   V P                   P                  VRV P)                  R	\        4      4       V P                   P                  R
\        ,           4       V P                   P                  VRV P)                  R	\        4      4       V P                   P                  WR P)                  R	\        4      4       EMfV P                   P                  R
\        ,           \        ,           4       V P                   P                  VP)                  R	\        4      4       EM\A        VR4      '       Ed×   \A        VR4      '       d)   \4        P6                  ! R\8        ^4       VPB                  pVP                  4       pRp VP'                  4       pVPE                  R4      '       d   VRR R	,           pM#VPE                  R4      '       d   VRR R	,           pV P                   P                  VP)                  R	\        4      4       VR	8X  g   V'       d   K˜  V'       d<   RpV P                   P                  R
\        ,           4       VP%                  V4       KÛ    TP'                  4       pT'       g   M¯TPE                  R4      '       d   TRR \        ,           pMOTPE                  R4      '       d   TRR \        ,           pM'TPE                  R	4      '       d   TRR \        ,           pT P                   P                  T4       K®  \G        R\I        V4      ,          4      hV P                   P                  4       pW/3# )z0Write message contents and return (start, stop).ó   1s   , s   ,,ó    r¾  s   1,,FTrª   rª  rÔ  r«   s   

NrÊ   r­   r®   r¯   r°   r´   r¶   rµ   )%r¸  r×  r·   r   r£  r¹  rt  rÀ   r¤   r¿   rT   r+   r	   r¸   r¹   rº   r»   r¼   r½   rÊ   r¾   Úget_visibler¬   rÄ   rÃ   rÅ   rÆ   rÇ   rÈ   rÉ   r§   r  r�   r­   rÂ   rÌ   rÍ   )r   r+   rå  Úspecial_labelsrº  rÂ  Úorig_bufferÚorig_generatorrÓ   Ú
vis_bufferÚvis_generatorr­   Ú
body_startÚoriginal_posÚ
first_passræ  s   &&              r!   rú  ÚBabyl._install_message°  sž  € à—
‘
—‘Ó!ˆÜ�gœ|×,Ó,ØˆNØˆFØ ×+Ñ+Ö-�Ø×0Ñ0Ô0Ø"×)Ñ)¨%Ö0à—M‘M %Ö(ñ	 .ð
 �J‰J×Ñ˜TÔ"Û'�Ø—
‘
× Ñ  ¨¯©«Õ!7Ö8ñ (à�J‰J×Ñ˜UÔ#Û�Ø—
‘
× Ñ  ¨¯©«Õ!6¸Õ!=Ö>ñ  à�J‰J×ÑœWÕ%à�J‰J×Ñ˜V¤gÕ-Ô.Ü�gœuŸ}™}×4Ñ4×5Ó5ÜŸ*š*›,ˆKÜ"Ÿ_™_×;Ñ;¸KÈÐPQÓRˆNØ×"Ñ" 7Ô+Ø×Ñ˜QÔØØ"×+Ñ+Ó-�Ø—
‘
× Ñ  §¡¨e´WÓ!=Ô>Ø˜5”=¯©ØØ�J‰J×Ñ˜_¬wÕ6Ô7Ü˜'¤<×0Ò0ÜŸZšZ›\�
Ü %§¡× >Ñ >¸zÈ5ÐRSÓ T�Ø×%Ñ% g×&9Ñ&9Ó&;Ô<ØØ%×.Ñ.Ó0�DØ—J‘J×$Ñ$ T§\¡\°%¼Ó%AÔBØ˜u”}¯D©DØà× Ñ  Ô#ØØ&×/Ñ/Ó1�DØ—J‘J×$Ñ$ T§\¡\°%¼Ó%AÔBØ˜u”}¯D©DØØØ$×)Ñ)¨$Ó/�ßÙØ—
‘
× Ñ  §¡°´wÓ!?Ö@Ü˜¤%¬¬b¯k©kÐ!:×;Ó;Ü˜'¤2§;¡;×/Ò/Ü—’ð *Ü+=¸qôBà!×*Ñ*Ó,�Ü˜'¤3×'Ò'Ø×/Ñ/°Ó8�Ø Ÿ™ gÓ.°Õ2ˆJØ˜A�~ Ô#Ø—
‘
× Ñ  ¨¨*Ð!5×!=Ñ!=¸eÄWÓ!MÔNØ—
‘
× Ñ  ´7Õ!:Ô;Ø—
‘
× Ñ  ¨¨*Ð!5×!=Ñ!=¸eÄWÓ!MÔNØ—
‘
× Ñ  ¨Ð!5×!=Ñ!=¸eÄWÓ!MÖNà—
‘
× Ñ  ´7Õ!:¼WÕ!DÔEØ—
‘
× Ñ  §¡°¼Ó!@ÖAÜ�W˜j×)Ó)Ü�w ×)Ò)Ü—’ð 5Ü6HÈ!ôMà!Ÿ.™.�Ø"Ÿ<™<›>ˆLØˆJØØ×'Ñ'Ó)�à—=‘= ×)Ò)Ø  ˜9 uÕ,‘DØ—]‘] 5×)Ò)Ø  ˜9 uÕ,�DØ—
‘
× Ñ  §¡¨e´WÓ!=Ô>Ø˜5”=¯©ß!Ø%*˜
ØŸ
™
×(Ñ(¨¼7Õ)BÔCØŸ™ \Ö2àØØ×'Ñ'Ó)�ßØà—=‘= ×)Ò)Ø  ˜9¤wÕ.‘DØ—]‘] 5×)Ò)Ø  ˜9¤wÕ.‘DØ—]‘] 5×)Ò)Ø  ˜9¤wÕ.�DØ—
‘
× Ñ  Ö&äÐ6¼¸g»ÕFÓGÐGØ�z‰z�‰Ó ˆØˆ}Ðr$   )r½  r   r¹  rî   >   ÚfiledÚeditedÚresentÚunseenÚdeletedÚansweredÚ	forwardedrÖ   )rØ   rÙ   rÚ   rÛ   rÜ   Ú	frozensetr¹  r"   r,   r3   rA   rI   rV   rL   r£  r÷  rÙ  rÚ  rÜ  rú  rß   rà   rá   s   @r!   r   r   #  sb   ø‡ € Ù'áò !Bó C€Oôò
ò"ò5òò8ò,Gòò.ò<ò#ò#÷ið ir$   c                   ó:   a € ] tR tRt o RtRR ltR tR tRtV t	R# )	r	   i  z0Message with mailbox-format-specific properties.Nc                ó~  € \        V\        P                  P                  4      '       dQ   V P	                  \
        P                  ! V4      4       \        V\        4      '       d   VP                  V 4       R# R# \        V\        4      '       d(   V P	                  \        P                  ! V4      4       R# \        V\        4      '       d(   V P	                  \        P                  ! V4      4       R# \        V\        P                  4      '       d(   V P	                  \        P                  ! V4      4       R# \        VR4      '       d(   V P	                  \        P                   ! V4      4       R# Vf,   \        P                  P                  P#                  V 4       R# \%        R\'        V4      ,          4      h)zInitialize a Message instance.r¬   Nr´   )r·   rT   r+   r	   Ú_become_messageÚcopyÚdeepcopyÚ_explain_torÄ   rU   rÃ   Úmessage_from_stringr¸   ÚTextIOWrapperÚmessage_from_filer�   Úmessage_from_binary_filer"   rÌ   rÍ   r*   s   &&r!   r"   ÚMessage.__init__  s   € ä�gœuŸ}™}×4Ñ4×5Ò5Ø× Ñ ¤§¢¨wÓ!7Ô8Ü˜'¤7×+Ò+Ø×#Ñ# DÖ)ñ ,ä˜¤×'Ò'Ø× Ñ ¤×!9Ò!9¸'Ó!BÖCÜ˜¤×%Ò%Ø× Ñ ¤×!:Ò!:¸7Ó!CÖDÜ˜¤×!1Ñ!1×2Ò2Ø× Ñ ¤×!8Ò!8¸Ó!AÖBÜ�W˜f×%Ò%Ø× Ñ ¤×!?Ò!?ÀÓ!HÖIØŠ_Ü�M‰M×!Ñ!×*Ñ*¨4Ö0äÐ6¼¸g»ÕFÓGÐGr$   c                ó–   € \        VR. 4      pVP                   F+  pW29  g   K  VP                  V,          V P                  V&   K-  	  R# )z0Assume the non-format-specific state of message.Ú_type_specific_attributesN)ÚgetattrÚ__dict__)r   r+   Útype_specificrø   s   &&  r!   rå  ÚMessage._become_message2  s@   € ä Ð)DÀbÓIˆØ×$Ô$ˆDØÖ(Ø&-×&6Ñ&6°tÕ&<�—‘˜dÓ#ó %r$   c                óH   € \        V\        4      '       d   R# \        R4      h)z:Copy format-specific state to message insofar as possible.Nz Cannot convert to specified type)r·   r	   rÌ   r*   s   &&r!   rè  ÚMessage._explain_to9  s   € ä�gœw×'Ò'ÙäÐ>Ó?Ð?r$   rc  r6   )
rØ   rÙ   rÚ   rÛ   rÜ   r"   rå  rè  rß   rà   rá   s   @r!   r	   r	     s   ø‡ € Ù:ôHò&=÷@ð @r$   c                   óx   a € ] tR tRt o Rt. ROtRR ltR tR tR t	R t
R	 tR
 tR tR tR tR tR tRtV tR# )r
   iA  z)Message with Maildir-specific properties.Nc                ó€   € RV n         RV n        \        P                  ! 4       V n        \        P                  W4       R# )z%Initialize a MaildirMessage instance.rç   rõ   N)Ú_subdirÚ_infor’  Ú_dater	   r"   r*   s   &&r!   r"   ÚMaildirMessage.__init__F  s+   € àˆŒØˆŒ
Ü—Y’Y“[ˆŒ
Ü×Ñ˜Ö'r$   c                ó   € V P                   # )zReturn 'new' or 'cur'.)rø  ra   s   &r!   rú   ÚMaildirMessage.get_subdirM  s   € à�|‰|Ðr$   c                óR   € VR8X  g   VR8X  d	   Wn         R# \        RV,          4      h)zSet subdir to 'new' or 'cur'.rç   rè   z!subdir must be 'new' or 'cur': %sN)rø  r¦   )r   r
  s   &&r!   r"  ÚMaildirMessage.set_subdirQ  s%   € à�UŒ?˜f¨œoØ!ŽLäÐ@À6ÕIÓJÐJr$   c                ón   € V P                   P                  R4      '       d   V P                   R,          # R# )ú*Return as a string the flags that are set.r?  r@  rõ   )rù  rË   ra   s   &r!   rA  ÚMaildirMessage.get_flagsX  s(   € à�:‰:× Ñ  ×&Ò&Ø—:‘:˜b•>Ð!ár$   c                óR   € RRP                  \        V4      4      ,           V n        R# )ú)Set the given flags and unset all others.r?  rõ   N)rê   rF  rù  )r   rD  s   &&r!   rH  ÚMaildirMessage.set_flags_  s   € à˜BŸG™G¤F¨5£MÓ2Õ2ˆŽ
r$   c                ó”   € V P                  RP                  \        V P                  4       4      \        V4      ,          4      4       R# ©z.Set the given flag(s) without changing others.rõ   N©rH  rê   rG  rA  ©r   rL  s   &&r!   rP  ÚMaildirMessage.add_flagc  ó,   € à�‰�r—w‘wœs 4§>¡>Ó#3Ó4´s¸4³yÕ@ÓAÖBr$   c                óÄ   € V P                  4       '       dJ   V P                  RP                  \        V P                  4       4      \        V4      ,
          4      4       R# R# )ú7Unset the given string flag(s) without changing others.rõ   N)rA  rH  rê   rG  r	  s   &&r!   rT  ÚMaildirMessage.remove_flagg  s>   € à�>‰>×ÒØ�N‰N˜2Ÿ7™7¤3 t§~¡~Ó'7Ó#8¼3¸t»9Õ#DÓEÖFñ r$   c                ó   € V P                   # )z<Return delivery date of message, in seconds since the epoch.)rú  ra   s   &r!   r  ÚMaildirMessage.get_datel  ó   € à�z‰zÐr$   c                ól   €  \        V4      V n        R#   \         d    \        RT,          4      Rhi ; i)z9Set delivery date of message, in seconds since the epoch.zcan't convert to float: %sN)Úfloatrú  r¦   rÌ   )r   Údates   &&r!   r$  ÚMaildirMessage.set_datep  s7   € ð	KÜ˜t›ˆDŽJøÜô 	KÜÐ8¸4Õ?Ó@ÀdÐJð	Kús   ‚ ”3c                ó   € V P                   # )z%Get the message's "info" as a string.)rù  ra   s   &r!   rü   ÚMaildirMessage.get_infow  r  r$   c                ót   € \        V\        4      '       d	   Wn        R# \        R\	        V4      ,          4      h)z Set the message's "info" string.zinfo must be a string: %sN)r·   rÃ   rù  rÌ   rÍ   )r   r5  s   &&r!   r#  ÚMaildirMessage.set_info{  s)   € ä�dœC× Ò ØŽJäÐ7¼$¸t»*ÕDÓEÐEr$   c                óD  € \        V\        4      '       d`   VP                  V P                  4       4       VP	                  V P                  4       4       VP                  V P                  4       4       R# \        V\        4      '       dÖ   \        V P                  4       4      pRV9   d   VP                  R4       V P                  4       R8X  d   VP                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       VP                  R	\        P                  ! V P                  4       4      4       R# \        V\        4      '       df   \        V P                  4       4      pRV9  d   VP                  R
4       RV9   d   VP                  R4       RV9   d   VP                  R4       R# R# \        V\         4      '       d~   \        V P                  4       4      pRV9  d   VP#                  R
4       RV9   d   VP#                  R4       RV9   d   VP#                  R4       RV9   d   VP#                  R4       R# R# \        V\$        4      '       d   R# \'        R\)        V4      ,          4      h)z;Copy Maildir-specific state to message insofar as possible.ÚSÚRrè   ÚOÚTÚDÚFÚAúMAILER-DAEMONrÞ  ÚrepliedÚflaggedrß  rà  r˜  rá  ú$Cannot convert to specified type: %sN)r·   r
   rH  rA  r"  rú   r$  r  r  rG  rP  r  r’  r  r   rM  r   Ú	add_labelr	   rÌ   rÍ   )r   r+   rD  s   && r!   rè  ÚMaildirMessage._explain_to‚  s  € ä�gœ~×.Ò.Ø×Ñ˜dŸn™nÓ.Ô/Ø×Ñ˜tŸ™Ó0Ô1Ø×Ñ˜TŸ]™]›_Ö-Ü˜Ô!1×2Ò2Ü˜Ÿ™Ó(Ó)ˆEØ�eŒ|Ø× Ñ  Ô%Ø�‰Ó  EÔ)Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø×Ñ˜_¬d¯kªk¸$¿-¹-»/Ó.JÖKÜ˜¤×+Ò+Ü˜Ÿ™Ó(Ó)ˆEØ˜%ÔØ×$Ñ$ XÔ.Ø�eŒ|Ø×$Ñ$ YÔ/Ø�eŒ|Ø×$Ñ$ YÖ/ñ ä˜¤×.Ò.Ü˜Ÿ™Ó(Ó)ˆEØ˜%ÔØ×!Ñ! (Ô+Ø�eŒ|Ø×!Ñ! )Ô,Ø�eŒ|Ø×!Ñ! *Ô-Ø�eŒ|Ø×!Ñ! +Ö.ñ ä˜¤×)Ò)ÙäÐBÜ  ›Mõ*ó +ð +r$   )rú  rù  rø  )rø  rù  rú  r6   )rØ   rÙ   rÚ   rÛ   rÜ   rï  r"   rú   r"  rA  rH  rP  rT  r  r$  rü   r#  rè  rß   rà   rá   s   @r!   r
   r
   A  sT   ø‡ € Ù3â =Ðô(òòKòò3òCòGò
òKòòF÷)+ð )+r$   c                   ób   a € ] tR tRt o RtR.tRR ltR tRR ltR t	R	 t
R
 tR tR tRtV tR# )r  i®  z/Message with mbox- or MMDF-specific properties.Ú_fromNc                ó.  € V P                  RR4       \        V\        P                  P                  4      '       dD   VP                  4       pVe0   VP                  R4      '       d   V P                  VR,          4       \        P                  W4       R# )z'Initialize an mboxMMDFMessage instance.r"  TNzFrom r²   )r  r·   rT   r+   r	   r  rË   r"   )r   r+   r  s   && r!   r"   Ú_mboxMMDFMessage.__init__³  si   € à�‰�o tÔ,Ü�gœuŸ}™}×4Ñ4×5Ò5Ø×+Ñ+Ó-ˆHØÒ#¨×(;Ñ(;¸G×(DÒ(DØ—‘˜h r�lÔ+Ü×Ñ˜Ö'r$   c                ó   € V P                   # )z Return contents of "From " line.©r)  ra   s   &r!   r  Ú_mboxMMDFMessage.get_from¼  r  r$   c                ó˜   € Ve@   VRJ d   \         P                  ! 4       pVR\         P                  ! V4      ,           ,          pWn        R# )z>Set "From " line, formatting and appending time_ if specified.NTr‹  )r’  r  r  r)  )r   r  Útime_s   &&&r!   r  Ú_mboxMMDFMessage.set_fromÀ  s7   € àÒØ˜‹}ÜŸš›�Ø�Sœ4Ÿ<š<¨Ó.Õ.Õ.ˆEØŽ
r$   c                óT   € V P                  RR4      V P                  RR4      ,           # )r  ÚStatusrõ   úX-Status)rF   ra   s   &r!   rA  Ú_mboxMMDFMessage.get_flagsÈ  s#   € à�x‰x˜ "Ó%¨¯©°¸RÓ(@Õ@Ð@r$   c                óæ  € \        V4      pRRr2R F$  pWA9   g   K  W$,          pVP                  V4       K&  	  R F$  pWA9   g   K  W4,          pVP                  V4       K&  	  VRP                  \        V4      4      ,          p V P	                  RV4        V P	                  RV4       R#   \
         d    T P                  RT4        L4i ; i  \
         d    T P                  RT4        R# i ; i)r  rõ   r3  r4  N)r  r  )r  r   r!  )rG  r3   rê   rF  Úreplace_headerr;   Ú
add_header)r   rD  Ústatus_flagsÚxstatus_flagsrL  s   &&   r!   rH  Ú_mboxMMDFMessage.set_flagsÌ  sÚ   € ä�E“
ˆØ&(¨"�mÛˆDØŽ}ØÕ$�Ø—‘˜TÖ"ñ ó $ˆDØŽ}ØÕ%�Ø—‘˜TÖ"ñ $ð 	˜Ÿ™¤¨£Ó/Õ/ˆð	4Ø×Ñ ¨,Ô7ð	7Ø×Ñ 
¨MÖ:øô ô 	4Ø�O‰O˜H lÖ3ð	4ûô ô 	7Ø�O‰O˜J¨×6ð	7ús$   ÂB, ÂC Â,CÃCÃC0Ã/C0c                ó”   € V P                  RP                  \        V P                  4       4      \        V4      ,          4      4       R# r  r  r	  s   &&r!   rP  Ú_mboxMMDFMessage.add_flagâ  r  r$   c                ó´   € RV 9   g   RV 9   dJ   V P                  RP                  \        V P                  4       4      \        V4      ,
          4      4       R# R# )r  r3  r4  rõ   Nr  r	  s   &&r!   rT  Ú_mboxMMDFMessage.remove_flagæ  s@   € à�tÔ˜z¨TÔ1Ø�N‰N˜2Ÿ7™7¤3 t§~¡~Ó'7Ó#8¼3¸t»9Õ#DÓEÖFñ  2r$   c                óv  € \        V\        4      '       Ed   \        V P                  4       4      pRV9   d   VP	                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       VR	 VR
 RP                  V P                  4       P                  4       RR 4      p VP                  \        P                  ! \        P                  ! VR4      4      4       R# \        V\         4      '       dA   VP#                  V P                  4       4       VP%                  V P                  4       4       R# \        V\&        4      '       dj   \        V P                  4       4      pRV9  d   VP)                  R4       RV9   d   VP)                  R4       RV9   d   VP)                  R4       VR	 VR
 R# \        V\*        4      '       dj   \        V P                  4       4      pRV9  d   VP-                  R4       RV9   d   VP-                  R4       RV9   d   VP-                  R4       VR	 VR
 R# \        V\.        4      '       d   R# \1        R\3        V4      ,          4      h  \        \        3 d     R# i ; i)zACopy mbox- or MMDF-specific state to message insofar as possible.r  rè   r   r!  r  r  r  r  Ústatuszx-statusr‹  Nz%a %b %d %H:%M:%S %YrÞ  r#  r$  rß  rà  r%  éûÿÿÿ)r·   r
   rG  rA  r"  rP  rê   r  rþ   r$  ÚcalendarÚtimegmr’  Ústrptimer¦   ÚOverflowErrorr  rH  r  r   rM  r   r&  r	   rÌ   rÍ   )r   r+   rD  Ú
maybe_dates   &&  r!   rè  Ú_mboxMMDFMessage._explain_toë  sH  € ä�gœ~×.Ó.Ü˜Ÿ™Ó(Ó)ˆEØ�eŒ|Ø×"Ñ" 5Ô)Ø�eŒ|Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø�eŒ|Ø× Ñ  Ô%Ø˜Ð!Ø˜
Ð#ØŸ™ $§-¡-£/×"7Ñ"7Ó"9¸"¸#Ð">Ó?ˆJðØ× Ñ ¤§¢´·²¸zØ6Ló2Nó "Oö Pô ˜Ô!1×2Ò2Ø×Ñ˜dŸn™nÓ.Ô/Ø×Ñ˜TŸ]™]›_Ö-Ü˜¤×+Ò+Ü˜Ÿ™Ó(Ó)ˆEØ˜%ÔØ×$Ñ$ XÔ.Ø�eŒ|Ø×$Ñ$ YÔ/Ø�eŒ|Ø×$Ñ$ YÔ/Ø˜Ð!Ø˜
Ò#Ü˜¤×.Ò.Ü˜Ÿ™Ó(Ó)ˆEØ˜%ÔØ×!Ñ! (Ô+Ø�eŒ|Ø×!Ñ! )Ô,Ø�eŒ|Ø×!Ñ! *Ô-Ø˜Ð!Ø˜
Ò#Ü˜¤×)Ò)ÙäÐBÜ  ›Mõ*ó +ð +øô9 ¤Ð.ô Úðús   Ã :J# Ê#J8Ê7J8r-  r6   )rØ   rÙ   rÚ   rÛ   rÜ   rï  r"   r  r  rA  rH  rP  rT  rè  rß   rà   rá   s   @r!   r  r  ®  s@   ø‡ € Ù9à!( 	Ðô(òôòAò7ò,CòG÷
1+ð 1+r$   r  c                   ó   € ] tR tRtRtRtR# )r   i  z&Message with mbox-specific properties.rc  N©rØ   rÙ   rÚ   rÛ   rÜ   rß   rc  r$   r!   r   r     ó   † Ý0r$   c                   óR   a € ] tR tRt o RtR.tRR ltR tR tR t	R	 t
R
 tRtV tR# )r   i#  z$Message with MH-specific properties.Ú
_sequencesNc                ó>   € . V n         \        P                  W4       R# )z!Initialize an MHMessage instance.N)rM  r	   r"   r*   s   &&r!   r"   ÚMHMessage.__init__(  s   € àˆŒÜ×Ñ˜Ö'r$   c                ó(   € V P                   R,          # )z4Return a list of sequences that include the message.ºNNN©rM  ra   s   &r!   rL  ÚMHMessage.get_sequences-  s   € à�‰˜qÕ!Ð!r$   c                ó&   € \        V4      V n        R# )z3Set the list of sequences that include the message.N)re   rM  )r   r�  s   &&r!   r�  ÚMHMessage.set_sequences1  s   € ä˜y›/ˆŽr$   c                óÂ   € \        V\        4      '       d0   WP                  9   g   V P                  P                  V4       R# R# \	        R\        V4      ,          4      h)z8Add sequence to list of sequences including the message.zsequence type must be str: %sN)r·   rÃ   rM  rt  rÌ   rÍ   ©r   rœ  s   &&r!   rM  ÚMHMessage.add_sequence5  sG   € ä�h¤×$Ò$ØŸ™Ô.Ø—‘×&Ñ& xÖ0ñ /ô Ð;¼dÀ8»nÕLÓMÐMr$   c                ób   €  V P                   P                  V4       R#   \         d     R# i ; i)zARemove sequence from the list of sequences including the message.N)rM  r3   r¦   rW  s   &&r!   Úremove_sequenceÚMHMessage.remove_sequence=  s+   € ð	Ø�O‰O×"Ñ" 8Ö,øÜô 	Úð	úó   ‚ Ÿ.­.c                ó  € \        V\        4      '       d‰   \        V P                  4       4      pRV9   d   VP	                  R4       M"VP	                  R4       VP                  R4       RV9   d   VP                  R4       RV9   d   VP                  R4       R# R# \        V\        4      '       dx   \        V P                  4       4      pRV9  d   VP                  R4       MVP                  R	4       RV9   d   VP                  R4       RV9   d   VP                  R
4       R# R# \        V\        4      '       d+   V P                  4        F  pVP                  V4       K  	  R# \        V\        4      '       dN   \        V P                  4       4      pRV9   d   VP                  R4       RV9   d   VP                  R4       R# R# \        V\        4      '       d   R# \        R\        V4      ,          4      h)z6Copy MH-specific state to message insofar as possible.rÞ  rè   r  r$  r   r#  r  ÚROr  r!  rà  r%  N)r·   r
   rG  rL  r"  rP  r  r   rM  r   r&  r	   rÌ   rÍ   )r   r+   r�  rœ  s   &&  r!   rè  ÚMHMessage._explain_toD  s¦  € ä�gœ~×.Ò.Ü˜D×.Ñ.Ó0Ó1ˆIØ˜9Ô$Ø×"Ñ" 5Õ)à×"Ñ" 5Ô)Ø× Ñ  Ô%Ø˜IÔ%Ø× Ñ  Ô%Ø˜IÔ%Ø× Ñ  Ö%ñ &ä˜Ô!1×2Ò2Ü˜D×.Ñ.Ó0Ó1ˆIØ˜yÔ(Ø× Ñ  Õ&à× Ñ  Ô%Ø˜IÔ%Ø× Ñ  Ô%Ø˜IÔ%Ø× Ñ  Ö%ñ &ä˜¤×+Ò+Ø ×.Ñ.Ö0�Ø×$Ñ$ XÖ.ó 1ä˜¤×.Ò.Ü˜D×.Ñ.Ó0Ó1ˆIØ˜9Ô$Ø×!Ñ! (Ô+Ø˜IÔ%Ø×!Ñ! *Ö-ñ &ä˜¤×)Ò)ÙäÐBÜ  ›Mõ*ó +ð +r$   rR  r6   )rØ   rÙ   rÚ   rÛ   rÜ   rï  r"   rL  r�  rM  rZ  rè  rß   rà   rá   s   @r!   r   r   #  s4   ø‡ € Ù.à!- Ðô(ò
"ò*òNò÷$+ð $+r$   c                   óf   a € ] tR tRt o RtRR.tRR ltR tR tR	 t	R
 t
R tR tR tR tRtV tR# )r   ik  z'Message with Babyl-specific properties.r   Ú_visibleNc                ó\   € . V n         \        4       V n        \        P                  W4       R# )z#Initialize a BabylMessage instance.N)r   r	   ra  r"   r*   s   &&r!   r"   ÚBabylMessage.__init__p  s    € àˆŒÜ›	ˆŒÜ×Ñ˜Ö'r$   c                ó(   € V P                   R,          # )z'Return a list of labels on the message.rQ  )r   ra   s   &r!   r£  ÚBabylMessage.get_labelsv  s   € à�|‰|˜A�Ðr$   c                ó&   € \        V4      V n        R# )z&Set the list of labels on the message.N)re   r   )r   rº  s   &&r!   r¬  ÚBabylMessage.set_labelsz  s   € ä˜F“|ˆŽr$   c                óÂ   € \        V\        4      '       d0   WP                  9  d   V P                  P                  V4       R# R# \	        R\        V4      ,          4      h)z+Add label to list of labels on the message.zlabel must be a string: %sN)r·   rÃ   r   rt  rÌ   rÍ   ©r   rÂ  s   &&r!   r&  ÚBabylMessage.add_label~  sG   € ä�eœS×!Ò!ØŸL™LÔ(Ø—‘×#Ñ# EÖ*ñ )ô Ð8¼4À»;ÕFÓGÐGr$   c                ób   €  V P                   P                  V4       R#   \         d     R# i ; i)z4Remove label from the list of labels on the message.N)r   r3   r¦   ri  s   &&r!   Úremove_labelÚBabylMessage.remove_label†  s+   € ð	Ø�L‰L×Ñ Ö&øÜô 	Úð	úr\  c                ó,   € \        V P                  4      # )z3Return a Message representation of visible headers.©r	   ra  ra   s   &r!   rÑ  ÚBabylMessage.get_visible�  s   € ä�t—}‘}Ó%Ð%r$   c                ó&   € \        V4      V n        R# )z2Set the Message representation of visible headers.Nro  )r   Úvisibles   &&r!   r«  ÚBabylMessage.set_visible‘  s   € ä Ó(ˆŽr$   c                ó&  € V P                   P                  4        F:  pW9   d%   V P                   P                  WV,          4       K-  V P                   V K<  	  R F2  pW9   g   K  WP                   9  g   K  W,          V P                   V&   K4  	  R# )z9Update and/or sensibly generate a set of visible headers.N)ÚDateÚFromzReply-ToÚToÚCCÚSubject)ra  rf   r7  )r   Úheaders   & r!   Úupdate_visibleÚBabylMessage.update_visible•  sl   € à—m‘m×(Ñ(Ö*ˆFØŒ~Ø—‘×,Ñ,¨V¸&µ\ÖBà—M‘M &Ò)ñ	 +ó
 JˆFØŽ~ &·±Ö"=Ø(,­�—‘˜fÓ%ó Jr$   c                ó€  € \        V\        4      '       d¨   \        V P                  4       4      pRV9   d   VP	                  R4       M"VP	                  R4       VP                  R4       RV9   g   RV9   d   VP                  R4       RV9   d   VP                  R4       R	V9   d   VP                  R
4       R# R# \        V\        4      '       dx   \        V P                  4       4      pRV9  d   VP                  R4       MVP                  R4       R	V9   d   VP                  R4       RV9   d   VP                  R4       R# R# \        V\        4      '       dN   \        V P                  4       4      pRV9   d   VP                  R4       RV9   d   VP                  R4       R# R# \        V\        4      '       dJ   VP                  V P                  4       4       V P                  4        F  pVP                  V4       K  	  R# \        V\        4      '       d   R# \        R\        V4      ,          4      h)z9Copy Babyl-specific state to message insofar as possible.rÞ  rè   r  rá  rÝ  r˜  rà  r  rß  r  r^  r  r  r!  r#  r%  N)r·   r
   rG  r£  r"  rP  r  r   rM  r   r«  rÑ  r&  r	   rÌ   rÍ   )r   r+   rº  rÂ  s   &&  r!   rè  ÚBabylMessage._explain_to   sÒ  € ä�gœ~×.Ò.Ü˜Ÿ™Ó*Ó+ˆFØ˜6Ô!Ø×"Ñ" 5Õ)à×"Ñ" 5Ô)Ø× Ñ  Ô%Ø˜fÔ$¨°FÔ(:Ø× Ñ  Ô%Ø˜VÔ#Ø× Ñ  Ô%Ø˜FÔ"Ø× Ñ  Ö%ñ #ä˜Ô!1×2Ò2Ü˜Ÿ™Ó*Ó+ˆFØ˜vÔ%Ø× Ñ  Õ&à× Ñ  Ô%Ø˜FÔ"Ø× Ñ  Ô%Ø˜VÔ#Ø× Ñ  Ö%ñ $ä˜¤×+Ò+Ü˜Ÿ™Ó*Ó+ˆFØ˜6Ô!Ø×$Ñ$ XÔ.Ø˜VÔ#Ø×$Ñ$ YÖ/ñ $ä˜¤×.Ò.Ø×Ñ × 0Ñ 0Ó 2Ô3ØŸ™Ö*�Ø×!Ñ! %Ö(ó +ä˜¤×)Ò)ÙäÐBÜ  ›Mõ*ó +ð +r$   )r   ra  r6   )rØ   rÙ   rÚ   rÛ   rÜ   rï  r"   r£  r¬  r&  rl  rÑ  r«  r{  rè  rß   rà   rá   s   @r!   r   r   k  sF   ø‡ € Ù1à!*¨JÐ 7Ðô(òò$òHòò&ò)ò	5÷'+ð '+r$   c                   ó   € ] tR tRtRtRtR# )r   iÊ  z&Message with MMDF-specific properties.rc  NrJ  rc  r$   r!   r   r   Ê  rK  r$   c                   ó¼   a € ] tR tRt o RtRR ltRR ltRR ltRR ltRR lt	R	 t
R
 tRR ltR tR tR tR tR tR tR tR t]R 4       t]! ]4      tRtV tR# )r/  iÎ  zA read-only wrapper of a file.Nc                óT   € Wn         Vf   VP                  4       V n        R# W n        R# )zInitialize a _ProxyFile.N)r¸  r×  Ú_pos)r   r'  Úposs   &&&r!   r"   Ú_ProxyFile.__init__Ñ  s   € àŒ
ØŠ;ØŸ™›ˆDŽIàŽIr$   c                óL   € V P                  WP                  P                  4      # ©zRead bytes.)Ú_readr¸  r¬   ©r   Úsizes   &&r!   r¬   Ú_ProxyFile.readÙ  s   € à�z‰z˜$§
¡
§¡Ó0Ð0r$   c                óL   € V P                  WP                  P                  4      # r†  )r‡  r¸  Úread1rˆ  s   &&r!   rŒ  Ú_ProxyFile.read1Ý  s   € à�z‰z˜$§
¡
× 0Ñ 0Ó1Ð1r$   c                óL   € V P                  WP                  P                  4      # )zRead a line.)r‡  r¸  rÊ   rˆ  s   &&r!   rÊ   Ú_ProxyFile.readlineá  s   € à�z‰z˜$§
¡
× 3Ñ 3Ó4Ð4r$   c                ó‚   € . pV  F6  pVP                  V4       Vf   K  V\        V4      ,          pV^ 8:  g   K5   V# 	  V# )zRead multiple lines.)rt  r_  )r   Úsizehintr†   rÓ   s   &&  r!   Ú	readlinesÚ_ProxyFile.readlineså  sG   € àˆÛˆDØ�M‰M˜$ÔØÔ#ØœC ›IÕ%�Ø˜q–=ØØˆñ ð ˆr$   c              #  óJ   "  € V P                  4       ;p'       d   Vx € K  R# 5i)zIterate over lines.N)rÊ   )r   rÓ   s   & r!   ro   Ú_ProxyFile.__iter__ð  s    é € à—m‘m“oÐ%ˆdÖ%ØŒJñ &ùs   ‚#›#c                ó   € V P                   # )zReturn the position.)r‚  ra   s   &r!   r×  Ú_ProxyFile.tellõ  s   € à�y‰yÐr$   c                óÒ   € V^8X  d&   V P                   P                  V P                  4       V P                   P                  W4       V P                   P                  4       V n        R# )zChange position.N©r¸  r½   r‚  r×  ©r   ÚoffsetÚwhences   &&&r!   r½   Ú_ProxyFile.seekù  s?   € à�QŒ;Ø�J‰J�O‰O˜DŸI™IÔ&Ø�
‰
�‰˜Ô'Ø—J‘J—O‘OÓ%ˆŽ	r$   c                ó®   € \        V R4      '       d<    \        V P                  R4      '       d   V P                  P                  4        V =R# R#   T =i ; i)zClose the file.r¸  r¡   N)r�   r¸  r¡   ra   s   &r!   r¡   Ú_ProxyFile.close   sH   € ä�4˜×!Ò!ðÜ˜4Ÿ:™: w×/Ò/Ø—J‘J×$Ñ$Ô&à’Jñ "øð
 ‘Jús   ”6A ÁAc                óª   € Vf   RpV P                   P                  V P                  4       V! V4      pV P                   P                  4       V n        V# )z"Read size bytes using read_method.r¶   r™  )r   r‰  Úread_methodr†   s   &&& r!   r‡  Ú_ProxyFile._read	  sA   € àŠ<ØˆDØ�
‰
�‰˜Ÿ	™	Ô"Ù˜TÓ"ˆØ—J‘J—O‘OÓ%ˆŒ	Øˆr$   c                ó   € V # )z$Context management protocol support.rc  ra   s   &r!   Ú	__enter__Ú_ProxyFile.__enter__  s   € àˆr$   c                ó&   € V P                  4        R # r6   )r¡   )r   Úexcs   &*r!   Ú__exit__Ú_ProxyFile.__exit__  s   € Ø�
‰
Žr$   c                ó6   € V P                   P                  4       # r6   )r¸  Úreadablera   s   &r!   r«  Ú_ProxyFile.readable  ó   € Ø�z‰z×"Ñ"Ó$Ð$r$   c                ó6   € V P                   P                  4       # r6   )r¸  Úwritablera   s   &r!   r¯  Ú_ProxyFile.writable  r­  r$   c                ó6   € V P                   P                  4       # r6   )r¸  Úseekablera   s   &r!   r²  Ú_ProxyFile.seekable  r­  r$   c                ó6   € V P                   P                  4       # r6   )r¸  r•   ra   s   &r!   r•   Ú_ProxyFile.flush"  s   € Ø�z‰z×ÑÓ!Ð!r$   c                ó’   € \        V R 4      '       g   R# \        V P                  R4      '       g   R# V P                  P                  # )r¸  TrD  F)r�   r¸  rD  ra   s   &r!   rD  Ú_ProxyFile.closed%  s6   € ä�t˜W×%Ò%ÙÜ�t—z‘z 8×,Ò,ÙØ�z‰z× Ñ Ð r$   )r¸  r‚  r6   ©é    )rØ   rÙ   rÚ   rÛ   rÜ   r"   r¬   rŒ  rÊ   r’  ro   r×  r½   r¡   r‡  r¤  r¨  r«  r¯  r²  r•   ÚpropertyrD  rÝ   r   rÞ   rß   rà   rá   s   @r!   r/  r/  Î  sy   ø‡ € Ù(ôô1ô2ô5ô	òò
ô&òòòòò%ò%ò%ò"ð ñ!ó ð!ñ $ LÓ1Ör$   r/  c                   óJ   a € ] tR tRt o RtR
R ltR tRR ltR tR t	R	t
V tR# )r  i0  z&A read-only wrapper of part of a file.Nc                óJ   € \         P                  WV4       W n        W0n        R# )zInitialize a _PartialFile.N)r/  r"   Ú_startÚ_stop)r   r'  rå  ræ  s   &&&&r!   r"   Ú_PartialFile.__init__3  s   € ä×Ñ˜D UÔ+ØŒØŽ
r$   c                óN   € \         P                  V 4      V P                  ,
          # )z*Return the position with respect to start.)r/  r×  r½  ra   s   &r!   r×  Ú_PartialFile.tell9  s   € ä�‰˜tÓ$ t§{¡{Õ2Ð2r$   c                óœ   € V^ 8X  d   V P                   V n        ^pMV^8X  d   V P                  V n        ^p\        P	                  WV4       R# )z8Change position, possibly with respect to start or stop.N)r½  r‚  r¾  r/  r½   rš  s   &&&r!   r½   Ú_PartialFile.seek=  s>   € à�QŒ;ØŸ™ˆDŒIØ‰FØ�qŒ[ØŸ
™
ˆDŒIØˆFÜ�‰˜ fÖ-r$   c                ó    € V P                   V P                  ,
          pV^ 8:  d   R# Ve   V^ 8  g   W8”  d   Tp\        P                  WV4      # )z;Read size bytes using read_method, honoring start and stop.r$   )r¾  r‚  r/  r‡  )r   r‰  r¡  Ú	remainings   &&& r!   r‡  Ú_PartialFile._readG  sF   € à—J‘J §¡Õ*ˆ	Ø˜Œ>ÙØŠ<˜4 !œ8 tÔ'7ØˆDÜ×Ñ ¨KÓ8Ð8r$   c                ó2   € \        V R 4      '       d   V =R# R# )r¸  N)r�   r¸  ra   s   &r!   r¡   Ú_PartialFile.closeP  s   € ô �4˜×!Ò!Ø’
ñ "r$   )r‚  r½  r¾  )NNr¸  )rØ   rÙ   rÚ   rÛ   rÜ   r"   r×  r½   r‡  r¡   rß   rà   rá   s   @r!   r  r  0  s&   ø‡ € Ù0ôò3ô.ò9÷ð r$   r  c                ó  € Rp \         '       d<    \         P                  ! V \         P                  \         P                  ,          4       V'       d†    \        V P                  R,           4      pVP                  4          \        P                  ! TP                  T P                  R,           4       Rp\        P                  ! TP                  4       R# R#   \         da   pTP
                  \
        P                  \
        P                  \
        P                  39   d   \        RT P                  ,          4      hh Rp?ii ; i  \         d<   pTP
                  \
        P                  \
        P                  39   d    Rp?R# h Rp?ii ; i  \         \"        3 d9    \        P$                  ! TP                  T P                  R,           4       Rp R# i ; i  \&         d>    \        P(                  ! TP                  4       \        RT P                  ,          4      hi ; i   \         '       d&   \         P                  ! T \         P*                  4       T'       d(   \        P(                  ! T P                  R,           4       h ; i)z(Lock file f using lockf and dot locking.Fzlockf: lock unavailable: %sNú.lockTzdot lock unavailable: %s)ÚfcntlÚlockfÚLOCK_EXÚLOCK_NBr  r  ÚEAGAINr¶  r·  r   rø   rØ  r¡   r   r  r“  r  r  r  r¡  r3   ÚLOCK_UN)r'  rÕ  Údotlock_doner  Úpre_locks   &&   r!   rÍ  rÍ  W  sÄ  € à€Lð%ß‹5ðÜ—’˜AœuŸ}™}¬u¯}©}Õ<Ô=÷ ðÜ,¨Q¯V©V°gÕ-=Ó>�Ø—‘Ô ð1ð-Ü—G’G˜HŸM™M¨1¯6©6°GÕ+;Ô<Ø#'�Lô
 —I’I˜hŸm™mÖ,ñ# øô ô Ø—7‘7œuŸ|™|¬U¯\©\¼5¿;¹;ÐGÔGÜ,Ð-JØ-.¯V©Võ.4ó 5ð 5ð ûðûô ô Ø—7‘7œuŸ|™|¬U¯[©[Ð9Ô9Ýàûð	ûô '¬Ð8ô (Ü—I’I˜hŸm™m¨Q¯V©V°gÕ-=Ô>Ø#'“Lð(ûô
 #ô 1Ü—	’	˜(Ÿ-™-Ô(Ü(Ð)CØ)*¯©õ*0ó 1ð 1ð1ûðß‹5Ü�KŠK˜œ5Ÿ=™=Ô)ßÜ�IŠI�a—f‘f˜wÕ&Ô'Øús‘   „H( ‘:C ÁH( Á,E Â4F Â6 G ÃEÃ%AE Å EÅH( ÅFÅ/F	ÆH( ÆF	Æ	FÆH( ÆAGÇG ÇGÇG ÇAH%È%H( È(:JÉ#(Jc                ó&  € \         '       d&   \         P                  ! V \         P                  4       \        P                  P                  V P                  R,           4      '       d*   \        P                  ! V P                  R,           4       R# R# )z*Unlock file f using lockf and dot locking.rÊ  N)rË  rÌ  rÐ  r   r   rì   rø   r3   ©r'  s   &r!   rÑ  rÑ  �  sO   € çƒuÜ�Š�A”u—}‘}Ô%Ü	‡w�w‡~�~�a—f‘f˜wÕ&×'Ò'Ü
�	Š	�!—&‘&˜7Õ"Ö#ñ (r$   c                ó   € \        V R4      # )zCCreate a file if it doesn't exist and open for reading and writing.zxb+)r!  ©r   s   &r!   r   r   ˆ  s   € ä��eÓÐr$   c           
     óº   € \        V : R\        \        P                  ! 4       4      : R\        P                  ! 4       : R\
        P                  ! 4       : 24      # )zBCreate a temp file based on path and open for reading and writing.ro  )r   rœ  r’  rš  r›  r   r�  rÖ  s   &r!   rØ  rØ  Œ  s8   € ä«d´C¼¿	º	»Ö4DÜ.4×.@Ò.@Ö.BÜ.0¯iªi­kð;ó <ð <r$   c                óž   € V P                  4        \        \        R4      '       d'   \        P                  ! V P	                  4       4       R# R# )z0Ensure changes to file f are physically on disk.ÚfsyncN)r•   r�   r   rÙ  ÚfilenorÔ  s   &r!   rÖ  rÖ  ’  s/   € à‡G�G„IÜŒr�7×ÒÜ
�Š�—‘“Öñ r$   c                ó<   € \        V 4       V P                  4        R# )z:Close file f, ensuring all changes are physically on disk.N)rÖ  r¡   rÔ  s   &r!   rù   rù   ˜  s   € ä�„NØ‡G�G†Ir$   c                   ó   € ] tR tRtRtRtR# )r   iž  z"Raised for module-specific errors.rc  NrJ  rc  r$   r!   r   r   ž  s   † Ý,r$   c                   ó   € ] tR tRtRtRtR# )r   i¡  z:The specified mailbox does not exist and won't be created.rc  NrJ  rc  r$   r!   r   r   ¡  s   † ÝDr$   c                   ó   € ] tR tRtRtRtR# )r   i¤  z>The specified mailbox is not empty and deletion was requested.rc  NrJ  rc  r$   r!   r   r   ¤  s   † ÝHr$   c                   ó   € ] tR tRtRtRtR# )r   i§  z)Another process caused an action to fail.rc  NrJ  rc  r$   r!   r   r   §  ó   † Ý3r$   c                   ó   € ] tR tRtRtRtR# )r   iª  z)A file appears to have an invalid format.rc  NrJ  rc  r$   r!   r   r   ª  rà  r$   )r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   )T)2rÜ   r   r’  rC  rš  r  ræ  rÆ   rT   Úemail.messageÚemail.generatorr¸   rJ   Útypesr   rË  ÚImportErrorÚ__all__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ù   Ú	Exceptionr   r   r   r   r   rc  r$   r!   Ú<module>rè     sË  ðÙ Jó 
Û Û Û Û Û Û Û Û Û Û 	Û Ý ðÛòA€ð
 �*‰*×
Ñ
˜GÓ
$€÷f2ñ f2ôRgˆgô gôTC˜ô CôN@Ð"ô @ôF1.ˆ9ô 1.ôh*.ˆ9ô *.ôZ@*ˆô @*ôF
vÐô vôr"@ˆe�m‰m×#Ñ#ô "@ôJj+�Wô j+ôZn+�wô n+ôb1Ð"ô 1ôE+�ô E+ôP\+�7ô \+ô~1Ð"ô 1÷_2ñ _2ôD$�:ô $ôN(òT$òò<òòô-ˆIô -ôE˜ô EôI�Eô Iô4˜ô 4ô4�%ö 4øðeD ô ØƒEðús   ºE7 Å7	FÆF