!A?hFC gdZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl m Z ddl mZmZmZddlmZdZd Zd Zd Zd Zejd Zejd ZdZdZd+dZdZdZdZ dddZ!dZ"dZ#dZ$dZ%d,dZ&d-dZ'd.dZ(dZ)ddd Z*d!Z+d"Z,d.d#Z-ejd$ej.Z/d%Z0 d/d(Z1d0d*Z2dS)1)collapse_rfc2231_value decode_paramsdecode_rfc2231encode_rfc2231 formataddr formatdateformat_datetime getaddresses make_msgid mktime_tz parseaddr parsedate parsedate_tzparsedate_to_datetimeunquoteN)quote) AddressList)r )r r _parsedate_tz)Charsetz, z 'z[][\\()<>@,:;".]z[\\"]cT |dS#t$rYdSwxYw)NFT)encodeUnicodeEncodeError)ss 8/opt/alt/python-internal/lib64/python3.11/email/utils.py_has_surrogatesr4s>E  u tts  ''cZ|dd}|ddS)Nutf-8surrogateescapereplace)rdecode)stringoriginal_bytess r _sanitizer%As. ]]7,=>>N  ) 4 44rc |\}}|d|r |dd}t|rd}td|}|||d|dS#t $rDt |trt|}| |}|d|dcYSwxYw|S)Nasciir"z\\\g<0>z <>) r specialsresearch escapesresubr isinstancestrr header_encode)paircharsetnameaddressquotes encoded_names rrrMs MD' NN7 C C KK F  && ==T22D$*FDD&&&'''B B" 7 7 7'3'' +!'**"0066L , ggg6 6 6 6  7 NsA99A CCc#Kd}d}t|D]"\}}|r |d|zfVd}|dkrd}||fV#|r|dfVdSdS)NrF\T) enumerate)addrposescapechs r_iter_escaped_charsr?ns C FT??R  r " " " "FF 4ZZFF)OOOO Dkr&c: d|vr|Sd}d}g}t|D]:\}}|dkr/||}||kr|||||dz}d};|t|kr|||dd|S)Nr)rr)r?appendlenjoin)r;startopen_posresultr<r>s r_strip_quoted_realnamesrH}s* $ EH F&t,,  R 99H$$MM$uX~"6777a s4yy d566l### 776??r&T)strictc |s:td|D}t|}|jSd|D}t |}t|}t|}t |j}d}|D],}t |}|d|dzz }-t||krdgS|S)Nc34K|]}t|VdS)Nr0.0vs r zgetaddresses..s(::c!ff::::::r&c,g|]}t|SrLrMs r z getaddresses..s///a3q66///r&rrA,rr) COMMASPACErD _AddressList addresslist_pre_parse_validation_post_parse_validationrHcountrC) fieldvaluesrIallar;rGnrOs rr r s" oo::k:::::   }//;///K' 44K ??; ' 'DTA #AM 2 2F A  $A & & Q  6{{az Mr&ct|}d}t|D]%\}}|dkr|dz }|dkr|dz}|dkrdS&|dkS)Nr(rA)F)rHr?)r;opensr<r>s r_check_parenthesisrdsp "4 ( (D E&t,,R 99 QJEE 3YY QJEqyyuu QJr&c`g}|D](}t|sd}||)|S)Nz('', ''))rdrB)email_header_fieldsaccepted_valuesrOs rrYrYsHO ""!!$$ Aq!!!! r&cVg}|D]#}d|dvrd}||$|S)N[rArU)rB)parsed_email_header_tuplesrgrOs rrZrZsGO("" !A$;;Aq!!!! r&c dgd|d|dgd|ddz |d|d|d |d |fzS) Nz"%s, %02d %s %04d %02d:%02d:%02d %s)MonTueWedThuFriSatSun) JanFebMarAprMayJunJulAugSepOctNovDecrArrR) timetuplezones r_format_timetuple_and_zonersj /999)A,G!  3 3 33-B B BDEE E  {{4   %c4 0 00r&c ttjdz}tj}t jd}|d}nd|z}|t j}d|||||fz}|S)Nd@r.z<%d.%d.%d%s@%s>)introsgetpidrandom getrandbitssocketgetfqdn)idstringdomainrpidrandintmsgids rr r "s}$)++c/""G )++C $$G> ~!! #w& I IE Lr&c t|}|tdt|z|^}}|tj|ddStj|dddtjtj|iS)Nz!Invalid date value or format "%s"rsrseconds)rrr0rr timedelta)dataparsed_date_tzdtupletzs rrr9s"4((N>#   G3<<#4#4 Gqt9$$VT22::5#FF F >>#   3<<#4#4 qt9  Jr&cn |td}t|dkrdd|fS|S)Nrt)splitTICKrC)rpartss rrros8- GGD!  E 5zzQT1} Lr&ct tj|d|pd}|||S|d}|d|d|S)Nrr()safeencodingr)urllibparser)rr3languages rrrws[  120B7CCA8+ (((AA ..r&z&^(?P\w+)\*((?P[0-9]+)\*?)?$c |dg}i}|ddD]\}}|d}t|}t|}|rW|dd\}}|t |}||g|||f||dt|zf|r| D]\}}g}d} | |D]@\}} }|r#tj | d } d } || Att|}| r1t|\} } }||| | d|zff||d|zf|S) NrrA*r4numz"%s"Fzlatin-1)rT)rrrfc2231_continuationmatchgroupr setdefaultrBritemssortrr EMPTYSTRINGrDr) params new_paramsrfc2231_paramsr4valueencodedmor continuationsextendedrr3rs rrrs)JNabbz = = e--$$ ! ' ' - -  =//ID##hh  % %dB / / 6 6UG7L M M M M   tVeEll%:; < < < <:#1#7#7#9#9 : : D-EH    $1  Q$ ,,Q,CCA#H Q+**51122E :+9%+@+@(5!!4'8Ve^)L"MNNNN!!4%"89999 r&r!us-asciict|trt|dkrt|S|\}}}||}t |d} t |||S#t $rt|cYSwxYw)Nrzraw-unicode-escape)r/tuplerCrbytesr0 LookupError)rerrorsfallback_charsetr3rtextrawbytess rrrs eU # #s5zzQu~~$GXt#T/00H8Wf--- t}}sA$$B?Brcf |@tjtjjS|j|S|dd|fz}tj|}tj |} tj |j }tj||j }n#t$r|tjtj|ddz }tjo |jdk}|r tjn tj }|tj |kr&tj|tj|}ntj|}YnwxYw||S)Nrrrsr)r)rrrrrrrrmktimerr tm_gmtofftm_zoneAttributeErrorgmtimedaylighttm_isdstaltzonetznamer!) risdsttmrlocaltmdeltardstgmtoffs rrrs  z $$X%6%:;;FFHHH y}}  x 'Bk"ooGnW%%G *"7+<===  ugo 6 6  * * *X& G(<(rs    $ """"""888888&&&&&&CCCCCCCCCC"!!!!!       RZ+ , , BJx    555B   2(,)))))X      '''':1111&.FFF#> / / / /"rz"KH...`*3,64%!%!%!%!%!%!r&