fQj dZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z m Z m Z ddl mZ ddlZdZn #e$rdZYnwxYwgdZdZdZd Zd Zd Zd Zid dddddddddddddddddddddddddddd dd!dd"did#dd$dd%dd&dd'dd(dd)dd*dd+dd,dd-dd.dd/dd0dd1dd2dd3dddddddddd4Zejd5Zejd6Zejd7Zejd8ejZejd9Z ejd:Z!ejd;Z"ejdZ&er#Gd?d@e&Z'e(d@GdAdBe&Z)GdCdDZ*dE+dFZ,dGe-e,dHdDZ.dIZ/dJZ0dKZ1dLZ2e3dMkr?ddl4Z4ddl5Z5 e4j4ej6dHddN\Z7Z8n#e4j9$rZ:dO\Z7Z8YdZ:[:ndZ:[:wwxYwdZ;e7D]$\Ze5j?Z@e5j5dSe@dTe>pdUdVZAdWe@dXdYzZBdZe@eAffd[d\d]d^d_ddeBffd`dadbdcdddedfdgdhfZCdidjdkdld^dddeBffdgdmfZDdnZE e;r e)e;ZFn e&e>ZFeFjGdokr eCdHdZCeFHdpeFjIzeFHdqeFjJeCD]\ZKZ8eEeKe8eEdrdsD]RZLejMdteLZNeNreNOdHZPneL+duZPeEdvePfSeDD]O\ZKZ8eEeKe8ZQeKe8fdkkreQdu+ZReRs7eEdwddxeRduzdyfPeSdzdS#eSd{eseSd|ej6dzxYwdS)}z2.58N)datetimetimezone timedelta)DEFAULT_BUFFER_SIZETF)IMAP4 IMAP4_streamInternaldate2tupleInt2AP ParseFlagsTime2Internaldate i) IMAP4REV1ri@BAPPEND)AUTHSELECTED AUTHENTICATE)NONAUTH CAPABILITY)rrrLOGOUTCHECK)rCLOSECOPYCREATEDELETE DELETEACLENABLE)rEXAMINEEXPUNGEFETCHGETACL GETANNOTATIONGETQUOTA GETQUOTAROOTMYRIGHTSLISTLOGINrLSUBMOVE NAMESPACENOOPPARTIAL PROXYAUTHRENAMESEARCHSELECTSETACL SETANNOTATIONSETQUOTASORT)STARTTLSSTATUSSTORE SUBSCRIBETHREADUID UNSUBSCRIBEUNSELECTs\+( (?P.*))?s.*FLAGS \((?P[^\)]*)\)s.*INTERNALDATE "(?P[ 0123][0-9])-(?P[A-Z][a-z][a-z])-(?P[0-9][0-9][0-9][0-9]) (?P[0-9][0-9]):(?P[0-9][0-9]):(?P[0-9][0-9]) (?P[-+])(?P[0-9][0-9])(?P[0-9][0-9])"s.*{(?P\d+)}$s \r\n|\r|\ns%\[(?P[A-Z-]+)( (?P.*))?\]s$\* (?P[A-Z-]+)( (?P.*))?s3\* (?P\d+) (?P[A-Z-]+)( (?P.*))?c.eZdZ GddeZGddeZGddeZdedfd Zd Z d Z d Z d Z dZ dZdZdedfdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Zd!Z d"Z!d#Z"d$Z#d%Z$d&Z%d'Z&d(Z'dYd+Z(d,Z)d-Z*d.Z+d/Z,dYd0Z-d1Z.d2Z/d3Z0d4Z1d5Z2d6Z3d7Z4dZd:Z5d;Z6d<Z7d=Z8d>Z9d[d?Z:d@Z;dAZdDZ?dEZ@dFZAdGZBdHZCdIZDdJZEdKZFdLZGdMZHd\dNZIdOZJdPZKdQZLdRZMdSZNdTZOdS)]rceZdZdS) IMAP4.errorN__name__ __module__ __qualname__./opt/alt/python311/lib64/python3.11/imaplib.pyerrorr?rErGceZdZdS) IMAP4.abortNr@rDrErFabortrJrHrErKceZdZdS)IMAP4.readonlyNr@rDrErFreadonlyrMrHrErNNcxt|_d|_d|_i|_i|_d|_d|_d|_d|_ | | ||| | dS#t$r( |n#t$rYnwxYwwxYw)NrrOFr)Debugdebugstateliteraltagged_commandsuntagged_responsescontinuation_response is_readonlytagnum_tls_established _mode_asciiopen_connect ExceptionshutdownOSErrorselfhostporttimeouts rF__init__zIMAP4.__init__s   !"$%'"  %  $g&&&  MMOOOOO            s01B B9B'&B9' B41B93B44B9cd|_d|_tjttj|_tjttj|_dS)NFascii) utf8_enabled _encodingrecompile_LiteralASCIILiteral_Untagged_statusUntagged_statusrbs rFr[zIMAP4._mode_asciisC! z(BH55 !z*:BHEErEcd|_d|_tjt|_tjt |_dS)NTutf-8)rirjrkrlrmrorprqrrs rF _mode_utf8zIMAP4._mode_utf8s;  z(++ !z*:;;rEcttjdd|_t jd|jzdztj|_ ||_d |jvrd |_n+d |jvrd|_n||j| t*D]}||jvr ||_dS|d)Niis(?Ps"\d+) (?P[A-Z]+) (?P.*)F rzimaplib version %sznew IMAP4 connection, tag=%sPREAUTHrOKrzCAPABILITIES: zserver not IMAP4 compliant)r randomrandinttagprerkrlrntagre _cmd_log_len _cmd_log_idx_cmd_logrR_mesg __version__ _get_responsewelcomerVrSrG_get_capabilities capabilitiesAllowedVersionsPROTOCOL_VERSION)rbversions rFr]zIMAP4._connectsV^D%8899 Z +!&@!ABD(LL  I))++ / / /DJJ T, , ,"DJJ**T\** *     F'  Gd///$+D ! FFjj5666rEc||tvr"t||Std|z)NzUnknown IMAP4 command: '%s')CommandsgetattrlowerAttributeError)rbattrs rF __getattr__zIMAP4.__getattr__ s9 8  4.. .:TABBBrEc|SNrDrrs rF __enter__zIMAP4.__enter__s rEcl|jdkrdS |dS#t$rYdSwxYwNr)rSlogoutr`)rbargss rF__exit__zIMAP4.__exit__sL : ! ! F  KKMMMMM    DD s % 33c||std|jsdn|j}tjd||j|j||jf}|t j||St j|S)Nz0Non-blocking socket (timeout=0) is not supportedz imaplib.open) ValueErrorrcsysauditrdsocketcreate_connection)rbrercaddresss rF_create_socketzIMAP4._create_socket#s  w OPP P93tt$) .$ 49===#  +GW== ='000rEc ||_||_|||_|jd|_dS)Nrb)rcrdrsockmakefilefileras rFr\z IMAP4.open0sG   ''00 I&&t,, rEc8 |j|Sr)rreadrbsizes rFrz IMAP4.read<s,y~~d###rEc |jtdz}t|tkr|dtz|S)Nrxzgot more than %d bytes)rreadline_MAXLINElenrGrblines rFrzIMAP4.readlineAsL$y!!(Q,// t99x  **5@AA A rEch tjd|||j|dS)Nz imaplib.send)rrrsendallrbdatas rFsendz IMAP4.sendIs5" .$--- $rEcx |j |jtjnB#t $r5}|jtjkrt|dddkrYd}~nd}~wwxYw|jdS#|jwxYw)Nwinerrorri&') rcloserr_r SHUT_RDWRr`errnoENOTCONNr)rbexcs rFr_zIMAP4.shutdownOs.   I  v/ 0 0 0 0    U^++3 A..%77   IOO     DIOO    s/$AB B +A;6B;BBB9c |jSr)rrrs rFrz IMAP4.socket_s yrEc d}|ddg|\}}|dr||fS|\}}||||S)NRECENTrz)_untagged_responsenooprbnametypdats rFrecentz IMAP4.recentksi **4$>>S r7 8O99;;S&&sC666rEcX ||dg|Sr)rupper)rbcodes rFresponsezIMAP4.response|s+ &&tdVTZZ\\BBBrEc d}|sd}|r|d|dfdkrd|z}nd}|rt|}nd}tt|}|jrd|zdz}||_|||||S) NrINBOXrr()(%s)sUTF8 ())r MapCRLFsubCRLFrirT_simple_command)rbmailboxflags date_timemessagerrTs rFappendz IMAP4.appends  G  ar#y00E  ))44III++dG,,   1')D0G ##D'5)DDDrEc |}t|j|_|d|\}}|dkr/||dddd|_||fS)Nrrzrrtreplacer)r_AuthenticatorprocessrTrrGdecoderS)rb mechanism authobjectmechrrs rF authenticatezIMAP4.authenticates    &j119 ''==S $;;**SW^^GY??@@ @ CxrEcf d}||\}}||||S)Nrrrrs rF capabilityzIMAP4.capabilitys= 0''--S&&sC666rEc. |dS)Nrrrrs rFcheckz IMAP4.checks ##G,,,rEcf |d\}}d|_n #d|_wxYw||fS)NrrrrSrbrrs rFrz IMAP4.closesH  ++G44HCDJJDJ    Cx# ,c2 |d||S)Nrr)rb message_set new_mailboxs rFcopyz IMAP4.copys! ##FKEEErEc0 |d|S)Nrrrbrs rFcreatez IMAP4.create ##Hg666rEc0 |d|S)Nrrrs rFdeletez IMAP4.deleterrEc2 |d||S)Nrr)rbrwhos rF deleteaclzIMAP4.deleteacls! ##K#>>>rEc d|jvrtd|d|\}}|dkr*d|vr|||fS)NrzServer does not support ENABLErzz UTF8=ACCEPT)rrrGrrru)rbrrrs rFenablez IMAP4.enables|  4, , ,++>?? ?((:>> T $;;=J,<,<,>,>>> OO   DyrEcf d}||\}}||||S)Nrrrs rFexpungez IMAP4.expunge s= ''--S&&sC666rEcj d}||||\}}||||S)Nr r)rbr message_partsrrrs rFfetchz IMAP4.fetchsA ''k=IIS&&sC666rEcd |d|\}}|||dS)Nr!ACLrrbrrrs rFgetaclz IMAP4.getacl(s: '''::S&&sC777rEch |d|||\}}|||dS)Nr" ANNOTATIONr)rbrentry attributerrs rF getannotationzIMAP4.getannotation1s> !''%SSS&&sC>>>rEcd |d|\}}|||dS)Nr#QUOTAr)rbrootrrs rFgetquotazIMAP4.getquota9s: '' D99S&&sC999rEc |d|\}}|||d\}}|||d\}}|||gfS)Nr$r QUOTAROOTr)rbrrrquota quotaroots rF getquotarootzIMAP4.getquotarootDsh ''@@S,,S#w?? U00c;GGYY&&&rE""*cj d}||||\}}||||S)Nr&rrb directorypatternrrrs rFlistz IMAP4.listOA ''iAAS&&sC666rEc |d|||\}}|dkr||dd|_||fS)Nr'rzrr)r_quoterGrS)rbuserpasswordrrs rFloginz IMAP4.login[s_ ''t{{87L7LMMS $;;**SW%% % CxrEcX ||c|_|_|d|jS)NzCRAM-MD5)r r!r_CRAM_MD5_AUTH)rbr r!s rFlogin_cram_md5zIMAP4.login_cram_md5is2 $(  4=  T-@AAArEc ddl}t|jtr|jdn|j}|jdz|||dzS)Nrrt md5)hmac isinstancer!strencoder HMAC hexdigest)rb challenger)pwds rFr$zIMAP4._CRAM_MD5_AUTHrso? 0:4=#0N0N@t}##G,,,26- y33 5!A!A!K!K!M!MMMrEcr d|_|d\}}|||fSr)rSrr_rs rFrz IMAP4.logoutzs=  ''11S CxrEcj d}||||\}}||||S)Nr(rrs rFlsubz IMAP4.lsubrrEcd |d|\}}|||dS)Nr%rrs rFmyrightszIMAP4.myrightss: &&z7;;C&&sC<<?? ?D+//4&AAAArEc4 |d|||S)Nr1r)rbrrwhats rFsetaclz IMAP4.setacls# ##HgsDAAArEcT |jdg|R\}}|||dS)Nr2r r)rbrrrs rF setannotationzIMAP4.setannotation s? (4'?$???S&&sC>>>rEcf |d||\}}|||dS)Nr3rr)rbrlimitsrrs rFsetquotazIMAP4.setquotas< '' D&AAS&&sC999rEc d}|d|dfdkrd|z}|j|||g|R\}}||||S)Nr4rrrrr)rb sort_criteriarHsearch_criteriarrrs rFsortz IMAP4.sortsn  ! ]2. /9 < <"]2M'4'mWWWWWS&&sC666rEc2d}ts|d|jr|d||jvr|d|t j}||\}}|dkra||j |j |_ |j d|_ d|_| n|d ||||S) Nr5zSSL support missingzTLS session already establishedzTLS not supported by serverrzserver_hostnamerTzCouldn't establish TLS session)HAVE_SSLrGrZrKrssl_create_stdlib_contextr wrap_socketrrcrrrr)rb ssl_contextrrrs rFstarttlszIMAP4.starttls)s 4**233 3   @**>?? ? t( ( (**:;; ;  466K''--S $;;#// @D 0KKDI **400DI$(D !  " " $ $ $ $**=>> >&&sC666rEcj d}||||\}}||||S)Nr6r)rbrnamesrrrs rFstatusz IMAP4.status@sC ''gu==S&&sC666rEc |d|dfdkrd|z}|d|||\}}|||dS)Nrrrrr7r r)rbrcommandrrrs rFstorez IMAP4.storeLs_  !HU2Y 9 , ,UNE''guMMS&&sC999rEc0 |d|S)Nr8rrs rF subscribezIMAP4.subscribeWs ##K999rEc\ d}|j|||g|R\}}||||S)Nr9r)rbthreading_algorithmrHrZrrrs rFthreadz IMAP4.thread_sI '4'.A7]_]]]S&&sC666rEc  |}|tvr|d|z|jt|vrA|d|d|jddt|d}|j||g|R\}}|dvr|}nd}||||S) NzUnknown IMAP4 UID command: %scommand  illegal in state , only allowed in states , r:)r/r4r9r )rrrGrSjoinrr)rbrirrrrs rFuidz IMAP4.uidis --//(""** %rzsocket error: %s)rSrrTrGrurVrXrN_new_tagbytesrjr*r+type_commandrrRr_logrrr`rKrrUrW) rbrrrtagrargrT literatorvals rFrzIMAP4._commands :Xd^ + +DL***"ddDJJJ"ii7779:: : ' 1 1Cd---+C0 $1 1 1  2-- EFF FmmooT4>**TzD  % %C{H#s## 1C00$;$DD,  DLG}}T] 3 333#  eGc'll$:DNKKK )  7 IIdTk " " " " 7 7 7**/#566 6 7 ?J $$&& ',J$$&&   @#)D$>?? G ; '""" $ ; ; ;jj!3c!9::: ; / 2 s0%F F* F%%F*=/H-- I7IIc|dk}|s| |||\}}nU#|j$r }|d|d|d}~w|j$r }|d|d|d}~wwxYw|s||dkr||d|d|||fS)Nr) expect_byez command:  => rz command error: r')r_get_tagged_responserKrG)rbrrrrrrs rF_command_completezIMAP4._command_completes("  OO    @11#&1IIICz @ @ @***DDD##>?? ?z @ @ @***DDD##>?? ? @  OO    %<<**$$$TTJKK KDys!9 B A B +BB c|\}}|dgkr|dt|d|j}|}t ||_dS)Nz"no CAPABILITY response from serverr)rrGr+rjrtuplesplitrrs rFrzIMAP4._get_capabilities#ss??$$S 4&==**ABB B#b'4>**iikk!#))++..rEc|}||j|r|jd}||jvr|d|z|jd}t||j}|jd}||gf|j|<nd}|t|s5||j |r|jd}|jT|t|r!|jd|_ dS|d|z|jd}t||j}|jd}|d}|r|dz|z}||j |rt|jd } ||}||||f|}||j |||||d vrx|t&|r]|jd}t||j}|||jd |S)Nrzunexpected tagged response: %rrrdata2zunexpected response: %rrErrFrzread literal size %sr) _get_line_matchrmogrouprUrKr+rjUntagged_responserq ContinuationrWrointrRrrr Response_code)rbresprrrdat2rrs rFrzIMAP4._get_response,s~~ ;;tz4 ( (5 ,'--&&C$...jj!AD!HIII'--''Cc4>**C'--''C),se D  % %D;;0$77 2;;t3T::27==11Dw;;|T22 15v1F1FD.4jj!:T!ABBB'--''Cc4>**C'--''C{#C ,3:,S++dlC00 '47==0011Byy%%cC;777nn&&!++dlC00 '$  ! !#s + + + % % %$++mS*I*I %'--''Cc4>**C  ! !#tw}}V'<'< = = = ; rEc |j|}| |j|=|S|r#d}|j|d}|||fS| |n#|j$r} d}~wwxYw})Nrxr)rUrVpoprrrKrR print_log)rbrrresultrrrs rFrzIMAP4._get_tagged_response|s )#.F!(-  &-11#t<<?:% OO    ""$$$$:   )  1 sA** A;4A66A;c|}|s|d|ds|d|z|dd} |S)Nzsocket error: EOFr z#socket error: unterminated line: %r)rrKendswithrRrrrs rFrzIMAP4._get_linesr}} 2**011 1}}W%% K**BTIJJ JCRCy )  rEcJ|||_ |jduSr)matchrrRrrgroups)rbcress rFrz IMAP4._matchs* ))A,, Swd""rEc|jtt|j|jz}|jdz|_d|j|<|S)Nrx)r~rr+rYrjrU)rbrs rFrzIMAP4._new_tagsCkE#dk"2"2DNCCCkAo $(S! rEcj|dd}|dd}d|zdzS)N\z\\"z\")r)rbrs rFrz IMAP4._quotes6kk$''kk#u%%Sy3rEcF|||j|g|RSr)rrr|s rFrzIMAP4._simple_commands,%%dMDM$,F,F,F,FGGGrEcp|dkr||fS||jvr|dgfS|j|} ||fS)Nr)rVrrRr)rbrrrrs rFrzIMAP4._untagged_responsesV $;;8Ot...; &**400 JDyrEc|tj}tjdtj|}tjd||dzdz|fztjdS)Nz%M:%Sz %s.%02d %s d)timestrftime localtimerstderrwriteflush)rbrsecstms rFrz IMAP4._mesgsr|y{{wt(<(<==B J  -d3h^Q0GG H H H J       rEc|sdSd|D}|dd|zdS)Nc3*K|]\}}|d|VdS): NrD).0keyvalues rF z!IMAP4._dump_ur..sPBB"U((u((BBBBBBrEzuntagged responses dump:z )itemsrru)rbuntagged_resp_dictrs rFr9zIMAP4._dump_ursh% BB&8&>&>&@&@BBBE JJ1HMM%4H4HH I I I I IrEc|tjf|j|j<|xjdz c_|j|jkr d|_dSdS)Nrxr)rrrrrs rFrz IMAP4._logsW04dikk/BDM$+ ,    "   D$555$%!!!65rEc|dt|jz|j|j}}|r9 |j|j|n#YnxYw|dz }||jkrd}|dz}|7dSdS)Nzlast %d IMAP4 interactions:rxr)rrrrr)rbins rFrzIMAP4.print_logs JJ4s4=7I7II J J J$d&7qA DJ a 0111DQ)))AQ     s AA)rr)rFr)F)TrArBrCr^rGrKrN IMAP4_PORTrfr[rur]rrrrr\rrrr_rrrrrrrrrrrrrrrrr rrrr"r%r$rr3r5r7rr?rArErJrOrRrTrWr[rdrgrjrlrorvrxrzr}rrrrrrrrrrrrrrr9rrrDrErFrrs-^!       5Z2FFF<<<'7'7'7TCCC  1 1 1T - - - -$$$       777"CCCEEE4:777---   FFF777777???    7 7 7 7 7 7888???:::''' 7 7 7 7   BBBNNN    7 7 7 7===777,,, : : : 7 7 7FFF777$BBBB@BBB???::: 7 7 77777. 7 7 7::::::7777772<<<    111,   HHH JJJZ$///MMM`B& # # #HHH   ""rErc8eZdZ deddddfdZdZdedfdZdS) IMAP4_SSLrONc.||td||td|| ddl}|dtd||_||_|t j||}||_t ||||dS)Nz8ssl_context and keyfile arguments are mutually exclusivez9ssl_context and certfile arguments are mutually exclusiverzEkeyfile and certfile are deprecated, use a custom ssl_context instead)certfilekeyfile) rwarningswarnDeprecationWarningrrr`rarcrrf)rbrcrdrrrcrers rFrfzIMAP4_SSL.__init__s&7+> "-...&8+? "-..."h&: ;rs* < < #  rEc d}d}tt|}|r%t|d\}}|||dz|z}|%|S)NrEsABCDEFGHIJKLMNOPrx)rabsdivmod)numrAPmods rFr r s`7 C'r c#hh--C "#r??SSUmc! " JrEc t|}|sdSt|dS)NrDr)Flagsrrrr)rrs rFr r sI7 T  B r '""((** + ++rEc t|ttfr3tj|t j}n;t|tr |j }n#t$rvtj rZ|d}|dkr,tj tj|d}tjtjf| }n tj }YnwxYwt!|}t|dddt |i}nht|tr|jt%d|}n:t|t&r|d|dfdkr|St%d d t*|j}||S) Nr)secondstzinfozdate_time must be awarer)rrzdate_time not of a known typez"%d-{}-%Y %H:%M:%S %z")r*rfloatr fromtimestamprr astimezoner tm_gmtoffrrdaylightrmktimealtzonerr#rr+formatMonthsmonthr)rdtgmtoffdstdeltafmts rFr r s )c5\**:  #I$,L222<*,,  Iu % %: ((FF ( ( (} (l"99.Y)?)?@@CC=$,7<<- (&))) y!} =Xe__ = = Ix ( (:   #677 7  Is # #:1im(D (Q(Q8999 " ) )&*: ; ;C ;;s  s'A//A=C/.C/__main__zd:s:)rDrDz-dz-s)rOzIMAP password for z on localhostrzJFrom: %(user)s@localhost%(lf)sSubject: IMAP4 test%(lf)s%(lf)sdata...%(lf)s )r lfr")r) /tmp/xxx 1)rE)r7z/tmp/yyy)r /tmp/yyz 2rr9)r)z/tmpzyy*)rOr8)rJ)NSUBJECTtest)r)1z(FLAGS INTERNALDATE RFC822))rj)r<FLAGSz (\Deleted))r7rD)rrD)rrD)rrD)rOrD)r) UIDVALIDITY)rv)r/ALL)r)rM)rrDct|d|tt||\}}t|d|d||dkr|d|S)Nr'rrr)Mrr)cmdrrrs rFrunrCAsp 333%&&&"71c??D)S ccc33/000 $;;c!f  rErzPROTOCOL_VERSION = %szCAPABILITIES = r)z/tmp/zyy%z .*"([^"]+)"$rrrvz%sz:(FLAGS INTERNALDATE RFC822.SIZE RFC822.HEADER RFC822.TEXT)z All tests OK.z Tests failed.z8 If you would like to see debugging output, try: %s -d5 )Trrrr|rkrrrrrrrriorr`r_ ImportError__all__rrQrrrrrrlrrrrnrorrrrqrmrprrrrrrr, enumeraterr r r r rAgetoptgetpassargvoptlistrrGrstream_commandoptrrcgetuserUSERPASSWD test_mesg test_seq1 test_seq2rCrArSrrrrBmlrrrpathrrvprintrDrErFrWs , KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK2222222222""""""JJJHHHHH 8 8 8    (  , ,,   ,  A ,  ,  ,   ,  ,,  ,,  ,,   ,  ,,   ,   ,  ,, ,!, " ,#, $ ,%, , & ,', ( ,), *  +, , A-, . ,/, 0  1, 2 ,3, 4 A5, 6  7, 8  9, : ,;, <  =, > ,?, @ ,A, B ,C, D ,E, F  G, , H%,%,%%,%W, , , `rz011  455rz "*+RX 6 6 "*^ $ $ DEE BJGHH"*;RXGG "Jxxxxxxxxv# 8 4242424242E424242l NN;555555555r*(*(*(*(*(*(*(*(X < A A# F F <