+
    üÐj—T  ã                   ó¦  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIt	^ RI
HtHtHtHtHt ^ RIHt ^ RIHtHtHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RIHt  ^ RI H!t!H"t"  ! R R]4      t$RRRRRRRRRRRR/t%R2R lt&R 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*]P`                  4      t1]! ]!'       * R+4      ]! ]Pd                  ! ]R4      '       * R+4       ! R, R-]4      4       4       t3 ! R. R/]/]4      t4 ! R0 R1]4      t5R#   ]# d    Rt!Rt" Lïi ; i)3é    N)ÚList)ÚskipIf)ÚdirectlyProvides)ÚdeferÚerrorÚ
interfacesÚprotocolÚreactor)ÚStringTransport)ÚAdvancedPOP3ClientÚ InsecureAuthenticationDisallowedÚServerErrorResponse)Úpop3testserver)ÚbasicÚloopback)Úlog)ÚTestCase)ÚClientTLSContextÚServerTLSContextc                   ó&   a € ] tR t^ t o R tRtV tR# )Ú#StringTransportWithConnectionLosingc                ób   € V P                   P                  \        P                  ! 4       4       R # ©N)r	   ÚconnectionLostr   ÚConnectionDone©Úselfs   &ÚC/usr/lib/python3/dist-packages/twisted/mail/test/test_pop3client.pyÚloseConnectionÚ2StringTransportWithConnectionLosing.loseConnection!   s   € Ø�‰×$Ñ$¤U×%9Ò%9Ó%;Ö<ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r       s   ø‡ € ÷=ð =r!   r   s   TOPs   LOGIN-DELAYs   180s   UIDLó   STLSs   USERs   SASLs   LOGINc                 ó¦   € \        4       p\        Vn        \        4       pWn        VP                  V4       V '       d   VP                  R 4       W3# )s   +OK Hello!
)Ú
POP3ClientÚcapCacheÚ	_capCacher   r	   ÚmakeConnectionÚdataReceived)ÚgreetÚpÚts   &  r   ÚsetUpr5   /   sD   € Ü‹€Aô €A„Kä+Ó-€AØ„JØ×Ñ�QÔçØ	�‰Ð(Ô)àˆ4€Kr!   c                 ó   € V 3R  l# )c                 ó   € V! 4       # r   r"   )ÚresultÚfs   &&r   Ú<lambda>Ústrip.<locals>.<lambda>A   s   € ™qœsr!   r"   )r9   s   &r   Ústripr<   @   s   € ØÓ"Ð"r!   c                   ón   a € ] tR t^Dt o 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# )ÚPOP3ClientLoginTestsc                óÆ   a € \        R R7      w  rRVn        VP                  RR4      pVP                  R4       S P	                  V\
        4      P                  V 3R l4      # )F©r2   Tó   usernameó   passwords   -ERR Offline for maintenance
c                 óJ   <€ SP                  V P                  ^ ,          R4      # )r   s   Offline for maintenance©ÚassertEqualÚargs©Úexcr   s   &€r   r:   Ú;POP3ClientLoginTests.testNegativeGreeting.<locals>.<lambda>K   s   ø€ ˜×(Ñ(¨¯©°!­Ð6PÔQr!   )r5   ÚallowInsecureLoginÚloginr1   ÚassertFailurer   ÚaddCallback©r   r3   r4   Úds   f   r   ÚtestNegativeGreetingÚ)POP3ClientLoginTests.testNegativeGreetingE   sX   ø€ Ü˜5Ô!‰ˆØ#ˆÔØ�G‰G�K Ó-ˆØ	�‰Ð:Ô;Ø×!Ñ! !Ô%8Ó9×EÑEÜQó
ð 	
r!   c                óÖ   € \        4       w  rVP                  R 4      pV P                  VP                  4       R4       VP	                  R4       VP                  V P                  R4      # )rA   ó   USER username
s   +OK send password
s   send password)r5   ÚuserrE   Úvaluer1   rM   rN   s   &   r   Ú
testOkUserÚPOP3ClientLoginTests.testOkUserN   sU   € Ü‹w‰ˆØ�F‰F�;ÓˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð/Ô0Ø�}‰}˜T×-Ñ-Ð/?Ó@Ð@r!   c                óò   a € \        4       w  rVP                  R 4      pS P                  VP                  4       R4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )rA   rS   s   -ERR account suspended
c                 óJ   <€ SP                  V P                  ^ ,          R4      # )r   s   account suspendedrD   rG   s   &€r   r:   Ú2POP3ClientLoginTests.testBadUser.<locals>.<lambda>[   s   ø€ ˜×(Ñ(¨¯©°!­Ð6JÔKr!   )r5   rT   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestBadUserÚ POP3ClientLoginTests.testBadUserU   sb   ø€ Ü‹w‰ˆØ�F‰F�;ÓˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð4Ô5Ø×!Ñ! !Ô%8Ó9×EÑEÜKó
ð 	
r!   c                óÖ   € \        4       w  rVP                  R 4      pV P                  VP                  4       R4       VP	                  R4       VP                  V P                  R4      # )rB   ó   PASS password
s   +OK you're in!
s
   you're in!)r5   ÚpasswordrE   rU   r1   rM   rN   s   &   r   Ú
testOkPassÚPOP3ClientLoginTests.testOkPass^   sT   € Ü‹w‰ˆØ�J‰J�{Ó#ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð,Ô-Ø�}‰}˜T×-Ñ-¨}Ó=Ð=r!   c                óò   a € \        4       w  rVP                  R 4      pS P                  VP                  4       R4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )rB   r^   s   -ERR go away
c                 óJ   <€ SP                  V P                  ^ ,          R4      # )r   s   go awayrD   rG   s   &€r   r:   Ú2POP3ClientLoginTests.testBadPass.<locals>.<lambda>k   s   ø€ ˜×(Ñ(¨¯©°!­°jÔAr!   )r5   r_   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestBadPassÚ POP3ClientLoginTests.testBadPasse   sb   ø€ Ü‹w‰ˆØ�J‰J�{Ó#ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð*Ô+Ø×!Ñ! !Ô%8Ó9×EÑEÜAó
ð 	
r!   c                óH  € \        4       w  rR Vn        VP                  RR4      pV P                  VP	                  4       R4       VP                  R4       V P                  VP	                  4       R4       VP                  R4       VP                  V P                  R4      # )TrA   rB   rS   s   +OK go ahead
ó   USER username
PASS password
s   +OK password accepted
s   password accepted)r5   rJ   rK   rE   rU   r1   rM   rN   s   &   r   ÚtestOkLoginÚ POP3ClientLoginTests.testOkLoginn   sƒ   € Ü‹w‰ˆØ#ˆÔØ�G‰G�K Ó-ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð*Ô+Ø×Ñ˜Ÿ™›Ð$IÔJØ	�‰Ð3Ô4Ø�}‰}˜T×-Ñ-Ð/CÓDÐDr!   c                ód  a € \        4       w  rR Vn        VP                  RR4      pS P                  VP	                  4       R4       VP                  R4       S P                  VP	                  4       R4       VP                  R4       S P                  V\        4      P                  V 3R l4      # )TrA   rB   rS   s   +OK waiting on you
rh   ó   -ERR bogus login
c                 óJ   <€ SP                  V P                  ^ ,          R4      # ©r   s   bogus loginrD   rG   s   &€r   r:   Ú;POP3ClientLoginTests.testBadPasswordLogin.<locals>.<lambda>�   ó   ø€ ˜×(Ñ(¨¯©°!­°nÔEr!   ©	r5   rJ   rK   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestBadPasswordLoginÚ)POP3ClientLoginTests.testBadPasswordLoginx   s�   ø€ Ü‹w‰ˆØ#ˆÔØ�G‰G�K Ó-ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð0Ô1Ø×Ñ˜Ÿ™›Ð$IÔJØ	�‰Ð.Ô/Ø×!Ñ! !Ô%8Ó9×EÑEÜEó
ð 	
r!   c                ó  a € \        4       w  rR Vn        VP                  RR4      pS P                  VP	                  4       R4       VP                  R4       S P                  V\        4      P                  V 3R l4      # )TrA   rB   rS   rl   c                 óJ   <€ SP                  V P                  ^ ,          R4      # rn   rD   rG   s   &€r   r:   Ú;POP3ClientLoginTests.testBadUsernameLogin.<locals>.<lambda>‹   rp   r!   rq   rN   s   f   r   ÚtestBadUsernameLoginÚ)POP3ClientLoginTests.testBadUsernameLogin„   sl   ø€ Ü‹w‰ˆØ#ˆÔØ�G‰G�K Ó-ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Ð.Ô/Ø×!Ñ! !Ô%8Ó9×EÑEÜEó
ð 	
r!   c                ó|   € \        R R7      w  rVP                  R4       V P                  VP                  R4       R# )Fr@   s"   +OK lalala this has no challenge
N©r5   r1   rE   ÚserverChallenge©r   r3   r4   s   &  r   ÚtestServerGreetingÚ'POP3ClientLoginTests.testServerGreetingŽ   s1   € Ü˜5Ô!‰ˆØ	�‰Ð>Ô?Ø×Ñ˜×*Ñ*¨DÖ1r!   c                ó|   € \        R R7      w  rVP                  R4       V P                  VP                  R4       R# )Fr@   s   +OK <here is the challenge>
s   <here is the challenge>Nrz   r|   s   &  r   ÚtestServerGreetingWithChallengeÚ4POP3ClientLoginTests.testServerGreetingWithChallenge“   s2   € Ü˜5Ô!‰ˆØ	�‰Ð9Ô:Ø×Ñ˜×*Ñ*Ð,FÖGr!   c                óþ   € \        R R7      w  rVP                  R4       VP                  RR4      pV P                  VP	                  4       R4       VP                  R4       VP                  V P                  R4      # )Fr@   s"   +OK <challenge string goes here>
rA   rB   s0   APOP username f34f1e464d0d7927607753129cabe39a
s   +OK Welcome!
s   Welcome!)r5   r1   rK   rE   rU   rM   rN   s   &   r   ÚtestAPOPÚPOP3ClientLoginTests.testAPOP˜   sk   € Ü˜5Ô!‰ˆØ	�‰Ð>Ô?Ø�G‰G�K Ó-ˆØ×ÑØ�G‰G‹IÐLô	
ð 	
�‰Ð*Ô+Ø�}‰}˜T×-Ñ-¨{Ó;Ð;r!   c                óÎ   € \        R R7      w  rVP                  R4       VP                  RR4      pV P                  VP	                  4       4       V P                  V\        4      # )Fr@   ó   +OK Howdy
rA   rB   )r5   r1   rK   ÚassertFalserU   rL   r   rN   s   &   r   Ú testInsecureLoginRaisesExceptionÚ5POP3ClientLoginTests.testInsecureLoginRaisesException¢   sS   € Ü˜5Ô!‰ˆØ	�‰Ð'Ô(Ø�G‰G�K Ó-ˆØ×Ñ˜Ÿ™›Ô#Ø×!Ñ! !Ô%EÓFÐFr!   c                ó€  € \        RR7      w  r\        V\        P                  4       VP	                  R4       VP                  RR4      pV P                  VP                  4       R4       VP                  4        VP	                  R4       V P                  VP                  4       R4       VP	                  R4       V# )	zµ
If a server doesn't offer APOP but the transport is secured using
SSL or TLS, a plaintext login should be allowed, not rejected with
an InsecureAuthenticationDisallowed exception.
Fr@   r†   rA   rB   rS   s   +OK
r^   )	r5   r   r   ÚISSLTransportr1   rK   rE   rU   ÚclearrN   s   &   r   Ú testSSLTransportConsideredSecureÚ5POP3ClientLoginTests.testSSLTransportConsideredSecure©   s‘   € ô ˜5Ô!‰ˆÜ˜œJ×4Ñ4Ô5Ø	�‰Ð'Ô(Ø�G‰G�K Ó-ˆØ×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰Œ	Ø	�‰�zÔ"Ø×Ñ˜Ÿ™›Ð$8Ô9Ø	�‰�zÔ"Øˆr!   r"   N)r#   r$   r%   r&   rP   rV   r[   r`   re   ri   rr   rw   r}   r€   rƒ   rˆ   r�   r'   r(   r)   s   @r   r>   r>   D   sO   ø‡ € ò
òAò
ò>ò
òEò

ò
ò2ò
Hò
<òG÷ð r!   r>   c                   ó,   a € ] tR t^»t o R tR tRtV tR# )ÚListConsumerc                ó   € / V n         R # r   ©Údatar   s   &r   Ú__init__ÚListConsumer.__init__¼   ó	   € ØˆŽ	r!   c                ód   € Vw  r#V P                   P                  V. 4      P                  V4       R # r   )r“   Ú
setdefaultÚappend)r   r8   ÚitemrU   s   &&  r   ÚconsumeÚListConsumer.consume¿   s(   € Ø‰ˆØ�	‰	×Ñ˜T 2Ó&×-Ñ-¨eÖ4r!   r’   N©r#   r$   r%   r&   r”   r›   r'   r(   r)   s   @r   r�   r�   »   s   ø‡ € ò÷5ð 5r!   r�   c                   ó,   a € ] tR t^Ät o R tR tRtV tR# )ÚMessageConsumerc                ó   € . V n         R # r   r’   r   s   &r   r”   ÚMessageConsumer.__init__Å   r–   r!   c                ó<   € V P                   P                  V4       R # r   )r“   r™   ©r   Úlines   &&r   r›   ÚMessageConsumer.consumeÈ   s   € Ø�	‰	×Ñ˜Ör!   r’   Nr�   r)   s   @r   rŸ   rŸ   Ä   s   ø‡ € ò÷ð r!   rŸ   c                   óD   a € ] tR t^Ìt o R tR tR tR tR tR t	Rt
V tR# )	ÚPOP3ClientListTestsc                óú   € \        4       w  rVP                  4       pV P                  VP                  4       R 4       VP	                  R4       VP	                  R4       VP                  V P                  . RO4      # )ó   LIST
ó   +OK Here it comes
s   1 3
2 2
3 1
.
)é   é   é   )r5   ÚlistSizerE   rU   r1   rM   rN   s   &   r   ÚtestListSizeÚ POP3ClientListTests.testListSizeÍ   s]   € Ü‹w‰ˆØ�J‰J‹LˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð/Ô0Ø	�‰Ð4Ô5Ø�}‰}˜T×-Ñ-ªyÓ9Ð9r!   c                ó  € \        4       w  r\        4       pVP                  pVP                  V4      pV P	                  VP                  4       R 4       VP                  R4       VP                  R4       V P	                  VP                  ^ ^.^^.^^./4       VP                  R4       V P	                  VP                  ^ ^.^^.^^.^^.^^.^^./4       VP                  R4       VP                  V P                  V4      # )r©   rª   s   1 3
2 2
3 1
s   5 3
6 2
7 1
ó   .
)
r5   r�   r›   r®   rE   rU   r1   r“   rM   ÚassertIdentical©r   r3   r4   Úcr9   rO   s   &     r   ÚtestListSizeWithConsumerÚ,POP3ClientListTests.testListSizeWithConsumerÕ   sè   € Ü‹w‰ˆÜ‹NˆØ�I‰IˆØ�J‰J�q‹MˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð/Ô0Ø	�‰Ð/Ô0Ø×Ñ˜Ÿ™ ! a S¨!¨a¨S°!°a°SÐ!9Ô:Ø	�‰Ð/Ô0Ø×Ñ˜Ÿ™ ! a S¨!¨a¨S°!°a°S¸!¸a¸SÀ!ÀaÀSÈ!ÈaÈSÐ!QÔRØ	�‰�xÔ Ø�}‰}˜T×1Ñ1°1Ó5Ð5r!   c                óð   a € \        4       w  rVP                  4       pS P                  VP                  4       R 4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r©   ó!   -ERR Fatal doom server exploded
c                 óJ   <€ SP                  V P                  ^ ,          R4      # ©r   s   Fatal doom server explodedrD   rG   s   &€r   r:   Ú8POP3ClientListTests.testFailedListSize.<locals>.<lambda>é   ó   ø€ ˜×(Ñ(¨¯©°!­Ð6SÔTr!   )r5   r®   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestFailedListSizeÚ&POP3ClientListTests.testFailedListSizeã   s^   ø€ Ü‹w‰ˆØ�J‰J‹LˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð=Ô>Ø×!Ñ! !Ô%8Ó9×EÑEÜTó
ð 	
r!   c                óú   € \        4       w  rVP                  4       pV P                  VP                  4       R 4       VP	                  R4       VP	                  R4       VP                  V P                  . RO4      # )ó   UIDL
rª   s   1 abc
2 def
3 ghi
.
)ó   abcs   defs   ghi)r5   ÚlistUIDrE   rU   r1   rM   rN   s   &   r   ÚtestListUIDÚPOP3ClientListTests.testListUIDì   s^   € Ü‹w‰ˆØ�I‰I‹KˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð/Ô0Ø	�‰Ð:Ô;Ø�}‰}˜T×-Ñ-Ò/GÓHÐHr!   c           	     ó�  € \        4       w  r\        4       pVP                  pVP                  V4      pV P	                  VP                  4       R 4       VP                  R4       VP                  R4       V P	                  VP                  ^ R.^R.^R./4       VP                  R4       VP                  V P                  V4      # )rÁ   rª   s   1 xyz
2 abc
5 mno
s   xyzrÂ   s   mnor²   )
r5   r�   r›   rÃ   rE   rU   r1   r“   rM   r³   r´   s   &     r   ÚtestListUIDWithConsumerÚ+POP3ClientListTests.testListUIDWithConsumerô   s¢   € Ü‹w‰ˆÜ‹NˆØ�I‰IˆØ�I‰I�a‹LˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð/Ô0Ø	�‰Ð5Ô6Ø×Ñ˜Ÿ™ ! f X¨q°6°(¸AÀ¸xÐ!HÔIØ	�‰�xÔ Ø�}‰}˜T×1Ñ1°1Ó5Ð5r!   c                óð   a € \        4       w  rVP                  4       pS P                  VP                  4       R 4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )rÁ   r¹   c                 óJ   <€ SP                  V P                  ^ ,          R4      # r»   rD   rG   s   &€r   r:   Ú7POP3ClientListTests.testFailedListUID.<locals>.<lambda>  r½   r!   )r5   rÃ   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestFailedListUIDÚ%POP3ClientListTests.testFailedListUID   s^   ø€ Ü‹w‰ˆØ�I‰I‹KˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð=Ô>Ø×!Ñ! !Ô%8Ó9×EÑEÜTó
ð 	
r!   r"   N)r#   r$   r%   r&   r¯   r¶   r¾   rÄ   rÇ   rÌ   r'   r(   r)   s   @r   r§   r§   Ì   s)   ø‡ € ò:ò6ò
òIò
6÷
ð 
r!   r§   c                   óP   a € ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )ÚPOP3ClientMessageTestsi
  c                ó@  € \        4       w  rVP                  ^4      pV P                  VP                  4       R4       VP	                  R4       VP	                  R4       VP	                  R4       VP	                  R4       VP                  V P                  RR.4      # )é   ó   RETR 8
ó   +OK Message incoming
ó   La la la here is message text
s"   ..Further message text tra la la
r²   ó   La la la here is message texts   .Further message text tra la la©r5   ÚretrieverE   rU   r1   rM   rN   s   &   r   ÚtestRetrieveÚ#POP3ClientMessageTests.testRetrieve  s„   € Ü‹w‰ˆØ�J‰J�q‹MˆØ×Ñ˜Ÿ™› MÔ2Ø	�‰Ð2Ô3Ø	�‰Ð;Ô<Ø	�‰Ð>Ô?Ø	�‰�xÔ Ø�}‰}Ø×ÑØ-Ð/QÐRó
ð 	
r!   c                óH  € \        4       w  r\        4       pVP                  pVP                  ^V4      pV P	                  VP                  4       R4       VP                  R4       VP                  R4       VP                  R4       VP                  V P                  WC4      # )rÑ   rÒ   rÓ   rÔ   s   ..Further message text
.
)	r5   rŸ   r›   r×   rE   rU   r1   rM   Ú_cbTestRetrieveWithConsumerr´   s   &     r   ÚtestRetrieveWithConsumerÚ/POP3ClientMessageTests.testRetrieveWithConsumer  s€   € Ü‹w‰ˆÜÓˆØ�I‰IˆØ�J‰J�q˜!ÓˆØ×Ñ˜Ÿ™› MÔ2Ø	�‰Ð2Ô3Ø	�‰Ð;Ô<Ø	�‰Ð9Ô:Ø�}‰}˜T×=Ñ=¸qÓDÐDr!   c                ód   € V P                  W4       V P                  VP                  R R.4       R# )rÕ   s   .Further message textN©r³   rE   r“   ©r   r8   r9   rµ   s   &&&&r   rÛ   Ú2POP3ClientMessageTests._cbTestRetrieveWithConsumer#  s.   € Ø×Ñ˜VÔ'Ø×ÑØ�F‰FÐ5Ð7OÐPö	
r!   c                óD  € \        4       w  rVP                  ^^R7      pV P                  VP                  4       R4       VP	                  R4       VP	                  R4       VP	                  R4       VP	                  R4       VP                  V P                  RR.4      # )	rÑ   ©Úlinesó	   TOP 8 2
ó   +OK 2 lines on the way
ó   Line the first!  Woop
ó   Line the last!  Bye
r²   ó   Line the first!  Woopó   Line the last!  ByerÖ   rN   s   &   r   ÚtestPartialRetrieveÚ*POP3ClientMessageTests.testPartialRetrieve)  s‰   € Ü‹w‰ˆØ�J‰J�q ˆJÓ"ˆØ×Ñ˜Ÿ™› NÔ3Ø	�‰Ð4Ô5Ø	�‰Ð3Ô4Ø	�‰Ð1Ô2Ø	�‰�xÔ Ø�}‰}Ø×ÑÐ7Ð9OÐPó
ð 	
r!   c                ón  € \        4       w  r\        4       pVP                  pVP                  ^V^R7      pV P	                  VP                  4       R4       VP                  R4       VP                  R4       VP                  R4       VP                  R4       VP                  V P                  WC4      # )rÑ   rã   rå   ræ   rç   rè   r²   )	r5   rŸ   r›   r×   rE   rU   r1   rM   Ú"_cbTestPartialRetrieveWithConsumerr´   s   &     r   ÚtestPartialRetrieveWithConsumerÚ6POP3ClientMessageTests.testPartialRetrieveWithConsumer5  s�   € Ü‹w‰ˆÜÓˆØ�I‰IˆØ�J‰J�q˜! 1ˆJÓ%ˆØ×Ñ˜Ÿ™› NÔ3Ø	�‰Ð4Ô5Ø	�‰Ð3Ô4Ø	�‰Ð1Ô2Ø	�‰�xÔ Ø�}‰}˜T×DÑDÀaÓKÐKr!   c                ód   € V P                  W4       V P                  VP                  R R.4       R# )ré   rê   Nrß   rà   s   &&&&r   rî   Ú9POP3ClientMessageTests._cbTestPartialRetrieveWithConsumerA  s+   € Ø×Ñ˜VÔ'Ø×Ñ˜Ÿ™Ð":Ð<RÐ!SÖTr!   c                óò   a € \        4       w  rVP                  ^ 4      pS P                  VP                  4       R4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r   s   RETR 1
r¹   c                 óJ   <€ SP                  V P                  ^ ,          R4      # r»   rD   rG   s   &€r   r:   Ú;POP3ClientMessageTests.testFailedRetrieve.<locals>.<lambda>K  r½   r!   )r5   r×   rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestFailedRetrieveÚ)POP3ClientMessageTests.testFailedRetrieveE  s`   ø€ Ü‹w‰ˆØ�J‰J�q‹MˆØ×Ñ˜Ÿ™› MÔ2Ø	�‰Ð=Ô>Ø×!Ñ! !Ô%8Ó9×EÑEÜTó
ð 	
r!   c           
     ó˜  € \        4       w  r\        ^4       Uu. uFN  pVP                  V4      P                  V P                  RV^,           3,          RV^,           3,          .4      NKP  	  pp\        ^^4       F¯  pV P	                  VP                  4       RV3,          4       VP                  4        VP                  R4       VP                  RV3,          4       VP                  RV3,          4       V P	                  VP                  4       R4       VP                  R4       K±  	  \        P                  ! VR	R
7      # u upi )zy
Issue three retrieve calls immediately without waiting for any to
succeed and make sure they all do succeed eventually.
s   First line of %d.s   Second line of %d.s	   RETR %d
ræ   s   First line of %d.
s   Second line of %d.
r!   r²   T)ÚfireOnOneErrback)
r5   Úranger×   rM   rE   rU   rŒ   r1   r   ÚDeferredList)r   r3   r4   ÚiÚmessagess   &    r   Útest_concurrentRetrievesÚ/POP3ClientMessageTests.test_concurrentRetrievesN  s  € ô
 ‹w‰ˆô ˜1”Xó
ñ
 �ð	 �J‰J�q‹M×%Ñ%Ø× Ñ Ø%¨¨Q­¨Õ0Ð2GÈ1ÈqÍ5È(Õ2RÐSöñ ð 	ð 
ô �q˜!–ˆAØ×Ñ˜QŸW™W›Y¨¸!¸Õ(=Ô>Ø�G‰GŒIØ�N‰NÐ8Ô9Ø�N‰NÐ3°q°dÕ:Ô;Ø�N‰NÐ4¸°tÕ;Ô<Ø×Ñ˜QŸW™W›Y¨Ô,Ø�N‰N˜8Ö$ñ ô ×!Ò! (¸TÔBÐBùò#
s   šAEr"   N)r#   r$   r%   r&   rØ   rÜ   rÛ   rë   rï   rî   rö   rþ   r'   r(   r)   s   @r   rÏ   rÏ   
  s7   ø‡ € ò
ò	Eò
ò

ò
LòUò
÷Cð Cr!   rÏ   c                   ó\   a € ] tR tRt o 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# )ÚPOP3ClientMiscTestsih  c                ó  € \        4       w  rVP                  ^ R7      pV P                  VP                  4       R4       VP	                  R4       VP	                  R4       VP                  V P                  RRRRRRR	. RORR
R.RR
./4      # )r   ©ÚuseCacheó   CAPA
s   +OK Capabilities on the way
s!   X
Y
Z
A 1 2 3
B 1 2
C 1
.
ó   XNó   Yó   Zó   Aó   1ó   2ó   Bó   C)r
  r  ó   3©r5   ÚcapabilitiesrE   rU   r1   rM   rN   s   &   r   ÚtestCapabilityÚ"POP3ClientMiscTests.testCapabilityi  s�   € Ü‹w‰ˆØ�N‰N AˆNÓ&ˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð9Ô:Ø	�‰ÐIÔJØ�}‰}Ø×Ñà�dØ�dØ�dØÒ(Ø�t˜T�lØ�t�fðó

ð 
	
r!   c                óØ   € \        4       w  rVP                  ^ R7      pV P                  VP                  4       R4       VP	                  R4       VP                  V P                  / 4      # )r   r  r  ó   -ERR This server is lame!
r  rN   s   &   r   ÚtestCapabilityErrorÚ'POP3ClientMiscTests.testCapabilityError{  sU   € Ü‹w‰ˆØ�N‰N AˆNÓ&ˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð7Ô8Ø�}‰}˜T×-Ñ-¨rÓ2Ð2r!   c                óÔ   € \        4       w  rVP                  4       pV P                  VP                  4       R 4       VP	                  R4       VP                  V P                  R4      # )ó   STAT
s   +OK 1 1212
)r­   i¼  )r5   ÚstatrE   rU   r1   rM   rN   s   &   r   ÚtestStatÚPOP3ClientMiscTests.testStat‚  sP   € Ü‹w‰ˆØ�F‰F‹HˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð(Ô)Ø�}‰}˜T×-Ñ-¨yÓ9Ð9r!   c                óð   a € \        4       w  rVP                  4       pS P                  VP                  4       R 4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r  r  c                 óJ   <€ SP                  V P                  ^ ,          R4      # ©r   s   This server is lame!rD   rG   s   &€r   r:   Ú3POP3ClientMiscTests.testStatError.<locals>.<lambda>�  ó   ø€ ˜×(Ñ(¨¯©°!­Ð6MÔNr!   )r5   r  rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestStatErrorÚ!POP3ClientMiscTests.testStatError‰  ó^   ø€ Ü‹w‰ˆØ�F‰F‹HˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð7Ô8Ø×!Ñ! !Ô%8Ó9×EÑEÜNó
ð 	
r!   c                óÔ   € \        4       w  rVP                  4       pV P                  VP                  4       R 4       VP	                  R4       VP                  V P                  R4      # )ó   NOOP
s   +OK No-op to you too!
s   No-op to you too!)r5   ÚnooprE   rU   r1   rM   rN   s   &   r   ÚtestNoopÚPOP3ClientMiscTests.testNoop’  sQ   € Ü‹w‰ˆØ�F‰F‹HˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð3Ô4Ø�}‰}˜T×-Ñ-Ð/CÓDÐDr!   c                óð   a € \        4       w  rVP                  4       pS P                  VP                  4       R 4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r%  r  c                 óJ   <€ SP                  V P                  ^ ,          R4      # r  rD   rG   s   &€r   r:   Ú3POP3ClientMiscTests.testNoopError.<locals>.<lambda>Ÿ  r   r!   )r5   r&  rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestNoopErrorÚ!POP3ClientMiscTests.testNoopError™  r#  r!   c                óÔ   € \        4       w  rVP                  4       pV P                  VP                  4       R 4       VP	                  R4       VP                  V P                  R4      # )ó   RSET
s   +OK Reset state
s   Reset state)r5   ÚresetrE   rU   r1   rM   rN   s   &   r   ÚtestRsetÚPOP3ClientMiscTests.testRset¢  sP   € Ü‹w‰ˆØ�G‰G‹IˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð-Ô.Ø�}‰}˜T×-Ñ-¨~Ó>Ð>r!   c                óð   a € \        4       w  rVP                  4       pS P                  VP                  4       R 4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r/  r  c                 óJ   <€ SP                  V P                  ^ ,          R4      # r  rD   rG   s   &€r   r:   Ú3POP3ClientMiscTests.testRsetError.<locals>.<lambda>¯  r   r!   )r5   r0  rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestRsetErrorÚ!POP3ClientMiscTests.testRsetError©  s^   ø€ Ü‹w‰ˆØ�G‰G‹IˆØ×Ñ˜Ÿ™› KÔ0Ø	�‰Ð7Ô8Ø×!Ñ! !Ô%8Ó9×EÑEÜNó
ð 	
r!   c                óÖ   € \        4       w  rVP                  ^4      pV P                  VP                  4       R4       VP	                  R4       VP                  V P                  R4      # )r«   ó   DELE 4
s   +OK Hasta la vista
s   Hasta la vista)r5   ÚdeleterE   rU   r1   rM   rN   s   &   r   Ú
testDeleteÚPOP3ClientMiscTests.testDelete²  sS   € Ü‹w‰ˆØ�H‰H�Q‹KˆØ×Ñ˜Ÿ™› MÔ2Ø	�‰Ð0Ô1Ø�}‰}˜T×-Ñ-Ð/@ÓAÐAr!   c                óò   a € \        4       w  rVP                  ^4      pS P                  VP                  4       R4       VP	                  R4       S P                  V\        4      P                  V 3R l4      # )r«   r9  s   -ERR Winner is not you.
c                 óJ   <€ SP                  V P                  ^ ,          R4      # )r   s   Winner is not you.rD   rG   s   &€r   r:   Ú5POP3ClientMiscTests.testDeleteError.<locals>.<lambda>¿  s   ø€ ˜×(Ñ(¨¯©°!­Ð6KÔLr!   )r5   r:  rE   rU   r1   rL   r   rM   rN   s   f   r   ÚtestDeleteErrorÚ#POP3ClientMiscTests.testDeleteError¹  s`   ø€ Ü‹w‰ˆØ�H‰H�Q‹KˆØ×Ñ˜Ÿ™› MÔ2Ø	�‰Ð5Ô6Ø×!Ñ! !Ô%8Ó9×EÑEÜLó
ð 	
r!   r"   N)r#   r$   r%   r&   r  r  r  r!  r'  r,  r1  r6  r;  r@  r'   r(   r)   s   @r   r  r  h  s>   ø‡ € ò
ò$3ò:ò
òEò
ò?ò
òB÷
ð 
r!   r  c                   ó0   a € ] tR tRt o RR ltR tRtV tR# )ÚSimpleClientiÃ  Nc                ó    € Wn         R V n        R# )TN)ÚdeferredrJ   )r   rE  ÚcontextFactorys   &&&r   r”   ÚSimpleClient.__init__Ä  s   € Ø ŒØ"&ˆÖr!   c                ó<   € V P                   P                  R 4       R # r   )rE  Úcallback)r   Ú	challenges   &&r   ÚserverGreetingÚSimpleClient.serverGreetingÈ  s   € Ø�‰×Ñ˜tÖ$r!   )rJ   rE  r   )r#   r$   r%   r&   r”   rK  r'   r(   r)   s   @r   rC  rC  Ã  s   ø‡ € ô'÷%ð %r!   rC  c                   óF   a € ] tR tRt o RtRtR tR tR tR t	R t
RtV tR# )	ÚPOP3HelperMixiniÌ  Nc                óà   € \         P                  ! 4       p\        P                  ! V P                  R 7      V n        \        WP                  R 7      V n        ^V P                  n	        Wn
        R# ))rF  N)r   ÚDeferredr   ÚPOP3TestServerÚ	serverCTXÚserverrC  Ú	clientCTXÚclientÚtimeoutÚ	connected)r   rO   s   & r   r5   ÚPOP3HelperMixin.setUpÐ  sE   € Ü�NŠNÓˆÜ$×3Ò3À4Ç>Á>ÔRˆŒÜ" 1·^±^ÔDˆŒØ ˆ�‰ÔØŽr!   c                ó   € V = V =V =R # r   )rS  rU  rW  r   s   &r   ÚtearDownÚPOP3HelperMixin.tearDown×  s   € ØˆKØˆKØŠNr!   c                óN   € V P                   P                  P                  4        R # r   )rU  Ú	transportr   )r   Úignores   &&r   Ú_cbStopClientÚPOP3HelperMixin._cbStopClientÜ  s   € Ø�‰×Ñ×,Ñ,Ö.r!   c                ó–   € V P                   P                  P                  4        V P                  P                  P                  4        V# r   )rU  r]  r   rS  )r   Úfailures   &&r   Ú
_ebGeneralÚPOP3HelperMixin._ebGeneralß  s3   € Ø�‰×Ñ×,Ñ,Ô.Ø�‰×Ñ×,Ñ,Ô.Øˆr!   c                ó\   € \         P                  ! V P                  V P                  R R7      # )F)Únoisy)r   ÚloopbackTCPrS  rU  r   s   &r   r   ÚPOP3HelperMixin.loopbackä  s   € Ü×#Ò# D§K¡K°·±ÀEÔJÐJr!   )rU  rW  rS  )r#   r$   r%   r&   rR  rT  r5   rZ  r_  rc  r   r'   r(   r)   s   @r   rN  rN  Ì  s/   ø‡ € Ø€IØ€Iòòò
/ò÷
Kð Kr!   rN  c                   ó@   € ] tR tRt ! R R]P
                  4      tRtR# )ÚTLSServerFactoryiè  c                   ó@   a € ] tR tRt o Rt. tR tR tV 3R ltRt	V t
R# )ÚTLSServerFactory.protocolié  Nc                ó¾   € . V P                   n        V P                  R ,          V n        V P                  P                  ^ 4       F  pV P	                  V4       K  	  R# ):NNNN)ÚfactoryÚinputÚoutputÚpopÚsendLiner£   s   & r   ÚconnectionMadeÚ(TLSServerFactory.protocol.connectionMadeí  s@   € Ø!#ˆD�L‰LÔØŸ+™+ a�.ˆDŒKØŸ™Ÿ™¨Ö*�Ø—‘˜dÖ#ó +r!   c                ó&  € V P                   P                  P                  V4       V P                  P	                  ^ 4       Uu. uF  q P                  V4      NK  	   pVR8X  d(   V P                  P                  V P                  4       R# R# u upi )r   r+   N)	rn  ro  r™   rp  rq  rr  r]  ÚstartTLSÚcontext)r   r¤   Úls   && r   ÚlineReceivedÚ&TLSServerFactory.protocol.lineReceivedó  si   € Ø�L‰L×Ñ×%Ñ% dÔ+Ø'+§{¡{§¡°qÔ'9Ó:Ñ'9 !�]‰]˜1ÖÑ'9Ñ:Ø�wŒØ—‘×'Ñ'¨¯©Ö5ñ ùò ;s   ÁBc                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r¬   rp  )r   Úbytes)Úformatr*   s   "€r   Ú__annotate__Ú&TLSServerFactory.protocol.__annotate__é  s   ø‡ ‚ á‘U•Ñ ò r!   )rp  )r#   r$   r%   r&   rw  rp  rs  ry  Ú__annotate_func__r'   r(   r)   s   @r   r	   rl  é  s    ø‡ € ØˆØ ˆò	$ò	6÷ ƒ r!   r	   r"   N)r#   r$   r%   r&   r   ÚLineReceiverr	   r'   r"   r!   r   rj  rj  è  s   † ô6�5×%Ñ%÷ 6ð 6r!   rj  zOpenSSL not presentc                   ó*   a € ] tR tRt o RtR tRtV tR# )ÚPOP3TLSTestsiú  z5
Tests for POP3Client's support for TLS connections.
c                ó‚  a a
aaa€ \        4       oR.. ROR.RR.R..SP                  n        \        4       SP                  n        \
        P                  ! ^ SRR7      pS P                  VP                  4       VP                  4       P                  pVP                  4       P                  p\        P                  ! 4       o\        \        P                  ! 4       \        4       4      oVV3R lpVSn        \        P"                  ! 4       pV3R lVn        \
        P$                  ! W#V4      o
V3R lpV3R lpV V3R	 lpV
V3R
 lp	SP&                  P)                  V4       SP&                  P)                  V4       SP&                  P)                  V4       SP&                  P+                  V	4       SP&                  # )zL
POP3Client.startTLS starts a TLS session over its existing TCP
connection.
ó   +OKó   .z	127.0.0.1)Ú	interfacec                 óV   <€ \         P                  SV 4       SP                  R 4       R # r   )rC  r   rI  )ÚreasonÚconnLostDeferredÚcps   &€€r   r   Ú2POP3TLSTests.test_startTLS.<locals>.connectionLost  s!   ø€ Ü×'Ñ'¨¨FÔ3Ø×%Ñ% dÖ+r!   c                  ó   <€ S # r   r"   )r‹  s   €r   r:   Ú,POP3TLSTests.test_startTLS.<locals>.<lambda>  s   ø€ ™br!   c                 óP   <€ \         P                  ! R 4       SP                  4       # )z!Connected to server; starting TLS)r   Úmsgrv  ©Úignoredr‹  s   &€r   ÚcbConnectedÚ/POP3TLSTests.test_startTLS.<locals>.cbConnected!  s   ø€ Ü�GŠGÐ7Ô8Ø—;‘;“=Ð r!   c                 óP   <€ \         P                  ! R 4       SP                  4       # )zStarted TLS; disconnecting)r   r�  Úquitr‘  s   &€r   ÚcbStartedTLSÚ0POP3TLSTests.test_startTLS.<locals>.cbStartedTLS%  s   ø€ Ü�GŠGÐ0Ô1Ø—7‘7“9Ðr!   c                 óp   <€ \         P                  ! R 4       SP                  SP                  . RO4       R# )z.Disconnected; asserting correct input receivedN)ó   CAPAr+   rš  s   QUIT)r   r�  rE   ro  )Úignr   Úsfs   &€€r   ÚcbDisconnectedÚ2POP3TLSTests.test_startTLS.<locals>.cbDisconnected)  s%   ø€ Ü�GŠGÐDÔEØ×Ñ˜RŸX™XÒ'KÖLr!   c                 óT   <€ \         P                  ! R 4       SP                  4        S# )zEAsserted correct input; disconnecting client and shutting down server)r   r�  Ú
disconnect)r8   ÚconnrŠ  s   &€€r   ÚcleanupÚ+POP3TLSTests.test_startTLS.<locals>.cleanup-  s&   ø€ Ü�GŠGð2ôð �O‰OÔØ#Ð#r!   )r…  r+   r†  )rj  r	   rp  r   rw  r
   Ú	listenTCPÚ
addCleanupÚstopListeningÚgetHostÚhostÚportr   rP  rC  r   r   ÚClientFactoryÚ
connectTCPrE  rM   ÚaddBoth)r   r©  ÚHÚPr   Úcfr“  r—  r�  r¢  r¡  rŠ  r‹  rœ  s   f         @@@@r   Útest_startTLSÚPOP3TLSTests.test_startTLS  sP  ü€ ô
 ÓˆàˆHÚ#ØˆHØ�TˆNØˆHð
ˆ�‰Ôô /Ó0ˆ�‰ÔÜ× Ò   B°+Ô>ˆØ�‰˜×*Ñ*Ô+Ø�L‰L‹N×ÑˆØ�L‰L‹N×Ñˆä Ÿ>š>Ó+ÐÜœ%Ÿ.š.Ó*Ô,<Ó,>Ó?ˆö	,ð +ˆÔÜ×#Ò#Ó%ˆÜ ˆŒä×!Ò! !¨Ó+ˆõ	!õ	ö	Mö	$ð 	�‰×Ñ Ô,Ø
�‰×Ñ Ô-Ø
�‰×Ñ Ô/Ø
�‰×Ñ˜GÔ$à�{‰{Ðr!   r"   N)r#   r$   r%   r&   Ú__doc__r°  r'   r(   r)   s   @r   rƒ  rƒ  ú  s   ø‡ € ñ÷9ð 9r!   rƒ  c                   ó&   a € ] tR tRt o R tRtV tR# )ÚPOP3TimeoutTestsi=  c                óŠ  a aa€ VV V3R  lpV 3R loV 3R loV 3R lpRS P                   n        R\        n        W.p\	        S P
                  P                  \	        \        V4      4       S P
                  P                  S P                  4       S P
                  P                  S P                  4       S P                  4       # )c                  ó„   <€ SP                   P                  R R4      p V P                  S4       V P                  S4       V # )ÚtestÚtwisted)rU  rK   rM   Ú
addErrback)rO   ÚloggedInr   ÚtimedOuts    €€€r   rK   Ú+POP3TimeoutTests.testTimeout.<locals>.login?  s6   ø€ Ø—‘×!Ñ! &¨)Ó4ˆAØ�M‰M˜(Ô#Ø�L‰L˜Ô"ØˆHr!   c                 ó*   <€ SP                  R 4       R# )z%Successfully logged in!?  Impossible!N)Úfail)r8   r   s   &€r   rº  Ú.POP3TimeoutTests.testTimeout.<locals>.loggedInE  s   ø€ Ø�I‰IÐ=Ö>r!   c                 óh   <€ V P                  \        P                  4       SP                  R 4       R # r   )Útrapr   ÚTimeoutErrorr_  )rb  r   s   &€r   r»  Ú.POP3TimeoutTests.testTimeout.<locals>.timedOutH  s#   ø€ Ø�L‰Lœ×+Ñ+Ô,Ø×Ñ˜tÖ$r!   c                  ó8   <€ S P                   P                  4       # r   )rU  r–  r   s   €r   r–  Ú*POP3TimeoutTests.testTimeout.<locals>.quitL  s   ø€ Ø—;‘;×#Ñ#Ó%Ð%r!   g{®Gáz„?T)rU  rV  r   ÚTIMEOUT_RESPONSEÚmaprW  rM   r<   r_  r¹  rc  r   )r   rK   r–  Úmethodsrº  r»  s   f   @@r   ÚtestTimeoutÚPOP3TimeoutTests.testTimeout>  s‹   ú€ ÷	õ	?õ	%õ	&ð #ˆ�‰Ôð +/ŒÔ'à�-ˆÜˆD�N‰N×&Ñ&¬¬E°7Ó(;Ô<Ø�‰×"Ñ" 4×#5Ñ#5Ô6Ø�‰×!Ñ! $§/¡/Ô2Ø�}‰}‹Ðr!   r"   N)r#   r$   r%   r&   rÉ  r'   r(   r)   s   @r   r´  r´  =  s   ø‡ € ÷ð r!   r´  c                   ó0   a € ] tR tRt o RtR tR tRtV tR# )ÚPOP3ClientModuleStructureTestsi\  zh
Miscellaneous tests more to do with module/package structure than
anything to do with the POP3 client.
c                ón   € V P                  \        P                  P                  P                  . 4       R# )zt
twisted.mail._pop3client.__all__ should be empty because all classes
should be imported through twisted.mail.pop3.
N)rE   r¸  ÚmailÚ_pop3clientÚ__all__r   s   &r   Útest_allÚ'POP3ClientModuleStructureTests.test_allb  s$   € ð
 	×ÑœŸ™×1Ñ1×9Ñ9¸2Ö>r!   c                ó
  € \         P                  ! \        P                  R,          \         P                  4       Uu. uF#  pV^ ,          ^ ,          R8X  d   K  V^ ,          NK%  	  ppV F�  pVR8X  gT   V P                  \        \        P                  P                  V4      V R\        P                  P                   24       K]  V P                  \        \        P                  P                  R4      4       K’  	  R# u upi )zÞ
Every public class in twisted.mail._pop3client should be available as
a member of twisted.mail.pop3 with the exception of
twisted.mail._pop3client.POP3Client which should be available as
twisted.mail.pop3.AdvancedClient.
ztwisted.mail._pop3clientÚ_r-   z not in r   N)
ÚinspectÚ
getmembersÚsysÚmodulesÚisclassÚ
assertTrueÚhasattrr¸  rÎ  Úpop3)r   rµ   ÚpublicClassesÚpcs   &   r   Útest_importÚ*POP3ClientModuleStructureTests.test_importi  sÑ   € ô ×'Ò'Ü—‘Ð6Õ7¼¿¹ôó
ñ�ð �Q•4˜•7˜c‘>ô	 ˆAˆa�DˆDñð 	ð 
ó  ˆBØ˜Ô%Ø—‘ÜœGŸL™L×-Ñ-¨rÓ2Ø�d˜(¤7§<¡<×#4Ñ#4Ð"5Ð6öð
 —‘¤¬¯©×(9Ñ(9Ð;OÓ PÖQó  ùò
s   ½D ÁD r"   N)	r#   r$   r%   r&   r²  rÑ  rß  r'   r(   r)   s   @r   rÌ  rÌ  \  s   ø‡ € ñò
?÷Rð Rr!   rÌ  )T)6rÕ  r×  Útypingr   Úunittestr   Úzope.interfacer   Útwisted.mail._pop3clientr¸  Útwisted.internetr   r   r   r	   r
   Útwisted.internet.testingr   Útwisted.mail.pop3r   r-   r   r   Útwisted.mail.testr   Útwisted.protocolsr   r   Útwisted.pythonr   Útwisted.trial.unittestr   Útwisted.test.ssl_helpersr   r   ÚImportErrorr   r.   r5   r<   r>   r�   rŸ   r§   rÏ   r  rC  rN  ÚServerFactoryrj  ÚIReactorSSLrƒ  r´  rÌ  r"   r!   r   Ú<module>rð     s|  ðó
 Û 
Ý Ý å +ã ß HÕ HÝ 4÷ñ õ
 -ß -Ý Ý +ðßKô=¨/ô =ð ˆDØ�FØˆTØˆTØˆTØˆXð€ôò"#ôt˜8ô t÷n5ñ 5÷ñ ô;
˜(ô ;
ô|[C˜Xô [Cô|X
˜(ô X
ôv%�:ô %÷Kñ Kô86�x×-Ñ-ô 6ñ$ ÐÔÐ3Ó4ÙˆJ×"Ò" 7¨DÓ1Ô1Ð3HÓIô>�8ó >ó Jó 5ð>ôB�¨ô ô>#R Xö #RøðC ô ØÐØÒðús   ÁE ÅEÅE