PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/gnus
Viewing File: /usr/share/emacs/24.3/lisp/gnus/mm-decode.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:54:51 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/gnus/mm-decode.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\204 \302\301\303\304B\"\210\305\306!\210\305\307!\210\310\311\312\"\210\310\313\312\"\210\310\314\312\"\210\310\315\316\"\210\310\317\320\"\210\310\321\320\"\210\310\322\323\"\210\310\324\325\"\210\310\326\325\"\210\310\327\325\"\210\330\331\332\"\210\333\334\335\336\337\340\341\342\343\344\343\345\343\346& \210\333\347\335\350\337\351\343\344\343\345\343\346& \207" [fboundp declare-function defalias macro #[(&rest r) "\300\207" [nil] 1] require mail-parse mm-bodies autoload gnus-map-function "gnus-util" gnus-replace-in-string gnus-read-shell-command mm-inline-partial "mm-partial" mm-inline-external-body "mm-extern" mm-extern-cache-contents mm-insert-inline "mm-view" mm-archive-decoders "mm-archive" mm-archive-dissect-and-inline mm-dissect-archive add-hook gnus-exit-gnus-hook mm-destroy-postponed-undisplay-list custom-declare-group mime-display nil "Display of MIME in mail and news articles." :link (custom-manual "(emacs-mime)Display Customization") :version "21.1" :group mail news multimedia mime-security "MIME security in mail and news articles." (custom-manual "(emacs-mime)Display Customization")] 14) (defalias 'mm-handle-buffer '(macro . #[(handle) "\301\302E\207" [handle nth 0] 3])) (defalias 'mm-handle-type '(macro . #[(handle) "\301\302E\207" [handle nth 1] 3])) (defalias 'mm-handle-media-type #[(handle) "@;\203 @\207A@@\207" [handle] 1]) (put 'mm-handle-media-type 'byte-optimizer 'byte-compile-inline-expand) (defalias 'mm-handle-media-supertype #[(handle) "\301\211@;\203@\202A@@)\302\"@\207" [handle split-string "/"] 4]) (put 'mm-handle-media-supertype 'byte-optimizer 'byte-compile-inline-expand) (defalias 'mm-handle-media-subtype #[(handle) "\302\211@;\203@\202A@@)\303\"\211A@)\207" [handle x split-string "/"] 4]) (put 'mm-handle-media-subtype 'byte-optimizer 'byte-compile-inline-expand) (defalias 'mm-handle-encoding '(macro . #[(handle) "\301\302E\207" [handle nth 2] 3])) (defalias 'mm-handle-undisplayer '(macro . #[(handle) "\301\302E\207" [handle nth 3] 3])) (defalias 'mm-handle-set-undisplayer '(macro . #[(handle function) "\302\303\304E E\207" [handle function setcar nthcdr 3] 4])) (defalias 'mm-handle-disposition '(macro . #[(handle) "\301\302E\207" [handle nth 4] 3])) (defalias 'mm-handle-description '(macro . #[(handle) "\301\302E\207" [handle nth 5] 3])) (defalias 'mm-handle-cache '(macro . #[(handle) "\301\302E\207" [handle nth 6] 3])) (defalias 'mm-handle-set-cache '(macro . #[(handle contents) "\302\303\304E E\207" [handle contents setcar nthcdr 6] 4])) (defalias 'mm-handle-id '(macro . #[(handle) "\301\302E\207" [handle nth 7] 3])) (defalias 'mm-handle-multipart-original-buffer '(macro . #[(handle) "\301\302\303\304DF\207" [handle get-text-property 0 'buffer car] 5])) (defalias 'mm-handle-multipart-from '(macro . #[(handle) "\301\302\303\304DF\207" [handle get-text-property 0 'from car] 5])) (defalias 'mm-handle-multipart-ctl-parameter '(macro . #[(handle parameter) "\302\303\304 DF\207" [parameter handle get-text-property 0 car] 5])) (defalias 'mm-make-handle '(macro . #[(&optional buffer type encoding undisplayer disposition description cache id) "\306 \n \f \257 \207" [buffer type encoding undisplayer disposition description list cache id] 9])) (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\313\314\304\315\306\316\310\311& \210\300\317\320\321\304\315\306\322\310\311& \210\300\323\324\325\304\315\306\316\310\311& \210\300\326\324\327\304\315\306\330\310\311& \210\300\331\332\333\306\334\310\311&\210\300\335\336\337\306\340\310\311&\210\300\341\342\343\304\315\306\344\310\311& \210\300\345\346\347\306\350\310\311&\210\300\351\352\353\306\354\310\311&\210\300\355\313\356\306\357\310\311&\210\300\360\313\361\306\362\310\311&\210\300\363\313\364\306\365\310\311&\210\300\366\367\370\306\371\310\311&\210\300\372\313\373\306\374\310\311&\210\300\375\376\377\306\201@\304\201A\310\311& \207" [custom-declare-variable mm-text-html-renderer (cond ((fboundp 'libxml-parse-html-region) 'shr) ((executable-find "w3m") 'gnus-w3m) ((executable-find "links") 'links) ((executable-find "lynx") 'lynx) ((locate-library "w3") 'w3) ((locate-library "html2text") 'html2text) (t nil)) "Render of HTML contents.\nIt is one of defined renderer types, or a rendering function.\nThe defined renderer types are:\n`shr': use the built-in Gnus HTML renderer;\n`gnus-w3m': use Gnus renderer based on w3m;\n`w3m': use emacs-w3m;\n`w3m-standalone': use plain w3m;\n`links': use links;\n`lynx': use lynx;\n`w3': use Emacs/W3;\n`html2text': use html2text;\nnil : use external viewer (default web browser)." :version "24.1" :type (choice (const shr) (const gnus-w3m) (const w3) (const w3m :tag "emacs-w3m") (const w3m-standalone :tag "standalone w3m") (const links) (const lynx) (const html2text) (const nil :tag "External viewer") (function)) :group mime-display mm-inline-text-html-with-images nil "If non-nil, Gnus will allow retrieving images in HTML contents with\nthe <img> tags. It has no effect on Emacs/w3. See also the\ndocumentation for the `mm-w3m-safe-url-regexp' variable." "22.1" boolean mm-w3m-safe-url-regexp "\\`cid:" "Regexp matching URLs which are considered to be safe.\nSome HTML mails might contain a nasty trick used by spammers, using\nthe <img> tag which is far more evil than the [Click Here!] button.\nIt is most likely intended to check whether the ominous spam mail has\nreached your eyes or not, in which case the spammer knows for sure\nthat your email address is valid. It is done by embedding an\nidentifier string into a URL that you might automatically retrieve\nwhen displaying the image. The default value is \"\\\\`cid:\" which only\nmatches parts embedded to the Multipart/Related type MIME contents and\nGnus will never connect to the spammer's site arbitrarily. You may\nset this variable to nil if you consider all urls to be safe." (choice (regexp :tag "Regexp") (const :tag "All URLs are safe" nil)) mm-inline-text-html-with-w3m-keymap t "If non-nil, use emacs-w3m command keys in the article buffer." mm-enable-external "Indicate whether external MIME handlers should be used.\n\nIf t, all defined external MIME handlers are used. If nil, files are saved by\n`mailcap-save-binary-file'. If it is the symbol `ask', you are prompted\nbefore the external MIME handler is invoked." (choice (const :tag "Always" t) (const :tag "Never" nil) (const :tag "Ask" ask)) mm-inline-media-tests '(("image/p?jpeg" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'jpeg handle))) ("image/png" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'png handle))) ("image/gif" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'gif handle))) ("image/tiff" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'tiff handle))) ("image/xbm" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xbm handle))) ("image/x-xbitmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xbm handle))) ("image/xpm" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xpm handle))) ("image/x-xpixmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'xpm handle))) ("image/bmp" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'bmp handle))) ("image/x-portable-bitmap" mm-inline-image (lambda (handle) (mm-valid-and-fit-image-p 'pbm handle))) ("text/plain" mm-inline-text identity) ("text/enriched" mm-inline-text identity) ("text/richtext" mm-inline-text identity) ("text/x-patch" mm-display-patch-inline identity) ("text/x-diff" mm-display-patch-inline identity) ("application/emacs-lisp" mm-display-elisp-inline identity) ("application/x-emacs-lisp" mm-display-elisp-inline identity) ("application/x-shellscript" mm-display-shell-script-inline identity) ("application/x-sh" mm-display-shell-script-inline identity) ("text/x-sh" mm-display-shell-script-inline identity) ("application/javascript" mm-display-javascript-inline identity) ("text/dns" mm-display-dns-inline identity) ("text/x-org" mm-display-org-inline identity) ("text/html" mm-inline-text-html (lambda (handle) mm-text-html-renderer)) ("text/x-vcard" mm-inline-text-vcard (lambda (handle) (or (featurep 'vcard) (locate-library "vcard")))) ("message/delivery-status" mm-inline-text identity) ("message/rfc822" mm-inline-message identity) ("message/partial" mm-inline-partial identity) ("message/external-body" mm-inline-external-body identity) ("text/.*" mm-inline-text identity) ("application/x-.?tar\\(-.*\\)?" mm-archive-dissect-and-inline identity) ("application/zip" mm-archive-dissect-and-inline identity) ("audio/wav" mm-inline-audio (lambda (handle) (and (or (featurep 'nas-sound) (featurep 'native-sound)) (device-sound-enabled-p)))) ("audio/au" mm-inline-audio (lambda (handle) (and (or (featurep 'nas-sound) (featurep 'native-sound)) (device-sound-enabled-p)))) ("application/pgp-signature" ignore identity) ("application/x-pkcs7-signature" ignore identity) ("application/pkcs7-signature" ignore identity) ("application/x-pkcs7-mime" ignore identity) ("application/pkcs7-mime" ignore identity) ("multipart/alternative" ignore identity) ("multipart/mixed" ignore identity) ("multipart/related" ignore identity) ("image/.*" mm-inline-image (lambda (handle) (and (mm-valid-image-format-p 'imagemagick) (mm-with-unibyte-buffer (mm-insert-part handle) (let ((image (ignore-errors (if (fboundp 'create-image) (create-image (buffer-string) 'imagemagick 'data-p) (mm-create-image-xemacs (mm-handle-media-subtype handle)))))) (when image (setcar (cdr handle) (list "image/imagemagick")) (mm-image-fit-p handle))))))) ("audio/.*" ignore ignore) ("image/.*" ignore ignore) (".*" mm-inline-text mm-readable-p)) "Alist of media types/tests saying whether types can be displayed inline." (repeat (list (regexp :tag "MIME type") (function :tag "Display function") (function :tag "Display test"))) mm-inlined-types '("image/.*" "text/.*" "message/delivery-status" "message/rfc822" "message/partial" "message/external-body" "application/emacs-lisp" "application/x-emacs-lisp" "application/pgp-signature" "application/x-pkcs7-signature" "application/pkcs7-signature" "application/x-pkcs7-mime" "application/pkcs7-mime" "application/x-gtar-compressed" "application/x-tar" "application/zip" "application/pgp") "List of media types that are to be displayed inline.\nSee also `mm-inline-media-tests', which says how to display a media\ntype inline." (repeat regexp) mm-keep-viewer-alive-types '("application/postscript" "application/msword" "application/vnd.ms-excel" "application/pdf" "application/x-dvi") "List of media types for which the external viewer will not be killed\nwhen selecting a different article." (repeat regexp) mm-automatic-display '("text/plain" "text/enriched" "text/richtext" "text/html" "text/x-verbatim" "text/x-vcard" "image/.*" "message/delivery-status" "multipart/.*" "message/rfc822" "text/x-patch" "text/dns" "application/pgp-signature" "application/emacs-lisp" "application/x-emacs-lisp" "application/x-pkcs7-signature" "application/pkcs7-signature" "application/x-pkcs7-mime" "application/pkcs7-mime" "application/pgp\\'" "text/x-org") "A list of MIME types to be displayed automatically." (repeat regexp) mm-attachment-override-types '("text/x-vcard" "application/pkcs7-mime" "application/x-pkcs7-mime" "application/pkcs7-signature" "application/x-pkcs7-signature") "Types to have \"attachment\" ignored if they can be displayed inline." (repeat regexp) mm-inline-override-types "Types to be treated as attachments even if they can be displayed inline." (repeat regexp) mm-automatic-external-display "List of MIME type regexps that will be displayed externally automatically." (repeat regexp) mm-discouraged-alternatives "List of MIME types that are discouraged when viewing multipart/alternative.\nViewing agents are supposed to view the last possible part of a message,\nas that is supposed to be the richest. However, users may prefer other\ntypes instead, and this list says what types are most unwanted. If,\nfor instance, text/html parts are very unwanted, and text/richtext are\nsomewhat unwanted, then the value of this variable should be set\nto:\n\n (\"text/html\" \"text/richtext\")\n\nAdding \"image/.*\" might also be useful. Spammers use it as the\npreferred part of multipart/alternative messages. See also\n`gnus-buttonized-mime-types', to which adding \"multipart/alternative\"\nenables you to choose manually one of two types those mails include." (repeat regexp) mm-tmp-directory (if (fboundp 'temp-directory) (temp-directory) (if (boundp 'temporary-file-directory) temporary-file-directory "/tmp/")) "Where mm will store its temporary files." directory mm-inline-large-images "If t, then all images fit in the buffer.\nIf 'resize, try to resize the images so they fit." (radio (const :tag "Inline large images as they are." t) (const :tag "Resize large images." resize) (const :tag "Do not inline large images." nil)) mm-file-name-rewrite-functions '(mm-file-name-delete-control mm-file-name-delete-gotchas) "List of functions used for rewriting file names of MIME parts.\nEach function takes a file name as input and returns a file name.\n\nReady-made functions include `mm-file-name-delete-control',\n`mm-file-name-delete-gotchas' (you should not remove these two\nfunctions), `mm-file-name-delete-whitespace',\n`mm-file-name-trim-whitespace', `mm-file-name-collapse-whitespace',\n`mm-file-name-replace-whitespace', `capitalize', `downcase',\n`upcase', and `upcase-initials'." (list (set :inline t (const mm-file-name-delete-control) (const mm-file-name-delete-gotchas) (const mm-file-name-delete-whitespace) (const mm-file-name-trim-whitespace) (const mm-file-name-collapse-whitespace) (const mm-file-name-replace-whitespace) (const capitalize) (const downcase) (const upcase) (const upcase-initials) (repeat :inline t :tag "Function" function))) "23.1"] 10) #@295 *List of functions for rewriting the full file names of MIME parts. This is used when viewing parts externally, and is meant for transforming the absolute name so that non-compliant programs can find the file where it's saved. Each function takes a file name as input and returns a file name. (defvar mm-path-name-rewrite-functions nil (#$ . -14482)) #@68 String used for replacing whitespace characters; default is `"_"'. (defvar mm-file-name-replace-whitespace nil (#$ . 14840)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\313\314\304\315\306\307& \210\300\316\317\320\313\314\304\321\306\307& \207" [custom-declare-variable mm-default-directory nil "The default directory where mm will save files.\nIf not set, `default-directory' will be used." :type (choice directory (const :tag "Default" nil)) :group mime-display mm-attachment-file-modes 384 "Set the mode bits of saved attachments to this integer." :version "22.1" integer mm-external-terminal-program "xterm" "The program to start an external terminal." string] 10) (defvar mm-last-shell-command "") (defvar mm-content-id-alist nil) (defvar mm-postponed-undisplay-list nil) (defvar mm-inhibit-auto-detect-attachment nil) (defvar mm-dissect-default-type "text/plain") (byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\305\"\210\300\306\305\"\207" [autoload mml2015-verify "mml2015" mml2015-verify-test mml-smime-verify "mml-smime" mml-smime-verify-test] 3) (defvar mm-verify-function-alist '(("application/pgp-signature" mml2015-verify "PGP" mml2015-verify-test) ("application/x-gnus-pgp-signature" mm-uu-pgp-signed-extract-1 "PGP" mm-uu-pgp-signed-test) ("application/pkcs7-signature" mml-smime-verify "S/MIME" mml-smime-verify-test) ("application/x-pkcs7-signature" mml-smime-verify "S/MIME" mml-smime-verify-test))) (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\312\313\314\"\210\312\315\314\"\207" [custom-declare-variable mm-verify-option 'never "Option of verifying signed parts.\n`never', not verify; `always', always verify;\n`known', only verify known protocols. Otherwise, ask user.\n\nWhen set to `always' or `known', you should add\n\"multipart/signed\" to `gnus-buttonized-mime-types' to see\nresult of the verification." :version "22.1" :type (choice (item always) (item never) (item :tag "only known protocols" known) (item :tag "ask" nil)) :group mime-security autoload mml2015-decrypt "mml2015" mml2015-decrypt-test] 10) (defvar mm-decrypt-function-alist '(("application/pgp-encrypted" mml2015-decrypt "PGP" mml2015-decrypt-test) ("application/x-gnus-pgp-encrypted" mm-uu-pgp-encrypted-extract-1 "PGP" mm-uu-pgp-encrypted-test))) #@148 Option of decrypting encrypted parts. `never', not decrypt; `always', always decrypt; `known', only decrypt known protocols. Otherwise, ask user. (custom-declare-variable 'mm-decrypt-option nil '(#$ . 17141) :version "22.1" :type '(choice (item always) (item never) (item :tag "only known protocols" known) (item :tag "ask" nil)) :group 'mime-security) #@42 Keymap for input viewer with completion. (defvar mm-viewer-completion-map (byte-code "\302\303!\304 \"\210\305\306\307#\210)\207" [map minibuffer-local-completion-map make-sparse-keymap mm-viewer-completion-map set-keymap-parent define-key " " self-insert-command] 4) (#$ . 17501)) #@42 Keymap for input viewer with completion. (defvar mm-viewer-completion-map (byte-code "\302\303!\304 \"\210\305\306\307#\210)\207" [map minibuffer-local-completion-map make-sparse-keymap mm-viewer-completion-map set-keymap-parent define-key " " self-insert-command] 4) (#$ . 17793)) #@240 Convert association list ALIST into the equivalent property-list form. The plist is returned. This converts from ((a . 1) (b . 2) (c . 3)) into (a 1 b 2 c 3) The original alist is not modified. See also `destructive-alist-to-plist'. (defalias 'mm-alist-to-plist #[(alist) "\303 \203 @\211A\n@BB) A\211\204\237)\207" [plist alist el nil] 4 (#$ . 18086)]) #@59 Say whether external viewer for HANDLE should stay alive. (defalias 'mm-keep-viewer-alive-p #[(handle) " \211@;\203 @\202 A@@)\305\306\307\215+\207" [mm-keep-viewer-alive-types handle ty type types nil found (byte-code "\211A@\211\205\303 \n\"\203\304\305\306\"\210\202\207" [types ty type string-match throw found t] 3)] 4 (#$ . 18462)]) #@121 Set the undisplayer for HANDLE to FUNCTION. Postpone undisplaying of viewers for types in `mm-keep-viewer-alive-types'. (defalias 'mm-handle-set-external-undisplayer #[(handle function) "\304!\203\305!\306 \233\n\240\210\306\233\307\240\210 B\211)\207\306\233\n\240\207" [handle new-handle function mm-postponed-undisplay-list mm-keep-viewer-alive-p copy-sequence 3 nil] 2 (#$ . 18826)]) (defalias 'mm-destroy-postponed-undisplay-list #[nil "\205 \301\302!\210\303!\207" [mm-postponed-undisplay-list message "Destroying external MIME viewers" mm-destroy-parts] 2]) (autoload 'message-fetch-field "message") #@157 Dissect the current buffer and return a list of MIME handles. If NO-STRICT-MIME, don't require the message to have a MIME-Version header before proceeding. (defalias 'mm-dissect-buffer #[(&optional no-strict-mime loose-mime from) "\212\306\211\211\211\211\211\211\211\211./0\214\307 \2101\204*2\204*\310\311!\203\207\310\312!\2110\2057\3130!/\310\314!\310\315!\206[/\205[\3163/@\"\2114A@)\317=\205[\320\321\322!\310\323!(\204n\310\324!((\203\325(!\2114A@)(\n\203\207\326\n!)/\203\226\327\330/@\"\204\262\3315C\f\205\244\332\333\f!\227!1 \205\255\334 !\n%\202P\335/@\330\"\211.\2114A@).@\211.\336\232\203 \337\232\203\327\340\202\330\341\342/A\236A\"5\343\344/@G\345/A!/@$\210\343\344/@G\346\347 \350(\342\"\257/@$\210/@\351/(\"*B\2026\352\331/\f\205$\332\333\f!\227!1 \205-\334 !\n &/(# \203O\327\353 \"\203G\354\355 \" B6B6.\n\207" [result id description cd cte subtype nil mail-narrow-to-head mail-fetch-field "mime-version" "content-type" mail-header-parse-content-type "content-transfer-encoding" "content-disposition" mm-assoc-string-match mm-inline-text "inline" message-fetch-field "content-description" "content-id" "from" mail-extract-address-components mail-decode-encoded-word-string string-match "/" mm-dissect-singlepart intern mail-header-strip mail-header-parse-content-disposition split-string "multipart" "digest" "message/rfc822" "text/plain" start add-text-properties 0 mm-alist-to-plist buffer mm-copy-to-buffer from mm-dissect-multipart mm-possibly-verify-or-decrypt " *<\\(.*\\)> *" match-string 1 type ctl ct no-strict-mime loose-mime mm-inline-media-tests x mm-dissect-default-type mm-content-id-alist] 10 (#$ . 19452)]) (defalias 'mm-dissect-singlepart #[(ctl cte &optional force cdl description id) "\204 @\306\232\203\307\310 \"\202\311\205\303\nA\236A\f\204B @\312\232\203B \203B\313\314 \"\203B\315\316\317 \"!\211\203A \240\210))\320 \321\n\321\257\307 @\322 \"\203|\211A@)\203|\323AA@!\203|\324!\202~*\207" [force ctl cdl filename mm-inhibit-auto-detect-attachment new-type "text/plain" assoc format t "application/octet-stream" string-match "\\.\\([^.]+\\)$" mailcap-extension-to-mime match-string 1 mm-copy-to-buffer nil mm-archive-decoders executable-find mm-dissect-archive cte description id decoder handle x] 9]) (defalias 'mm-dissect-multipart #[(ctl from) "eb\210\306\307\301\"P\310 !\311P\312\211\212db\210\313\n\312\314#\203%\315\224\202&d)@\316\232\310 !\317P` W\203l\320 \314#\203l\315\224b\210 \203[\212\214 `}\210\321\314\312#C\f\244*\322\210\323 !\204g\324y\210`\2024 \203\207 W\203\207\212\214 }\210\321\314\312#C\f\244*\325\f\237#.\207" [ctl boundary close-delimiter start parts end "\n--" mail-content-type-get regexp-quote "--[ ]*$" nil re-search-backward t 0 "multipart/encrypted" "[ ]*$" re-search-forward mm-dissect-buffer 2 looking-at 1 mm-possibly-verify-or-decrypt mm-inhibit-auto-detect-attachment from] 5]) #@60 Copy the contents of the current buffer to a fresh buffer. (defalias 'mm-copy-to-buffer #[nil "p\303 \304eb\210\305\306\304\307#\210`r\310\311!q\210\312 !\210\313\n\"\210p,\207" [beg mb obuf mm-multibyte-p nil search-forward-regexp "^\n" t generate-new-buffer " *mm*" mm-set-buffer-multibyte insert-buffer-substring] 4 (#$ . 22493)]) (defalias 'mm-display-parts #[(handle &optional no-default) "@;\203\f\301\302A\"\207\303@!\203 \214``}\210\304!\210db)\207\301\302\"\207" [handle mapcar mm-display-parts bufferp mm-display-part] 3]) (byte-code "\300\301\302\"\210\300\303\302\"\207" [autoload mailcap-parse-mailcaps "mailcap" mailcap-mime-info] 3) #@142 Display the MIME part represented by HANDLE. Returns nil if the part is removed; inline if displayed inline; external if displayed external. (defalias 'mm-display-part #[(handle &optional no-default force) "\212\306 \210\204\307 !\203\310 !\202 \211@;\203! @\202% A@@)\311\232\203;\312 8\2045\313 !\210\312 8\202< \211\211@;\203J @\202N A@@)\314 !\315\316 8\305\"\206g\315 A@\317\"\206g\320+,\321 A@@\322 \"\211-\203\214\323-AA@!\203\214\324 !\210\325\202 \326\n!\203\243\327\n!\203\243\330y\210\331 !\210\325\202 \f\204\255.?\205 \f\204\311\332 \333\"@\334\232\203\311\330y\210\335 \336 !\"\210\325\202 \f\205\370\f;\205\370+\337=\206\370+\340=\205\370\341\342 \343\f;\203\363\344\345\f \"\346Q\202\364\347\350\260!\211,\203 \351 \f\206\352\"\202 \351 \352\".)\207" [force handle ehandle type method filename mailcap-parse-mailcaps mm-handle-displayed-p mm-remove-part "message/external-body" 6 mm-extern-cache-contents mailcap-mime-info mail-content-type-get 4 name "<file>" assoc mm-archive-decoders executable-find mm-archive-dissect-and-inline inline mm-inlinable-p mm-inlined-p 1 mm-display-inline split-string "/" "text" mm-insert-inline mm-get-part t ask y-or-n-p "Display part (" ") using external program" " \"" format "\"" "" "? " mm-display-external mailcap-save-binary-file mm-enable-external external decoder no-default] 9 (#$ . 23160)]) #@30 Display HANDLE using METHOD. (defalias 'mm-display-external #[(handle method) "p\306\307!r q\210\310\216\311 \210\312\n!\203\211p\n\313=\203'\306\314!q\210\315\202C\316\f!\210\317\f!\210\320 \321\"\211\203<\322 !\210)\323\306\314!!\210\324 \210\325@!\210\326 !\210eb\210\n\203[\327\330\n\"\210p\331\332\f\211@;\203k\f@\202o\fA@@)\321\"\236A\333\216\n\203\202\n \202\205\334\f!,\202/\316\f!\210\317\f!\210\335\336\337B\"\340\" \341\342\f8\343\"\206\252\341\fA@\344\"#\332\f\211@;\203\272\f@\202\276\fA@@)\321\"C\345\346C\"\206\320\345\347C\"D\345\350C\"E\315\211FG\351 \352\"\210#\203\373\336\353H\354#!\" \"F\202?\345\355C\"A\211I\203\356\357I\"\203\360\361I\"I\2022\362\f\211@;\203'\f@\202+\fA@@)J\"@I\335\336\363 \"\315I#F)@K\364edF\315\365%\210)\351F\366\"\210\327\330\n\"\210D\203\336\367\nF\fA@#L\370\216M\203\200\371\372\315N\373OPL&\210\202\316\374\375!\210\374\376!\210\377\201\\O\315PL%\211Gq\210\201] \210\201^ \210\201_\201`G!\201a\201b\201c\201d\201e\201fQDDEE\"\210\201e\201g!\210)\327\201hL\"\210)\201i\202-E\203)rq\210\361y\210\201j\f\201k\216\201lO\315\306\314!\211G\315P\367\nF\fA@#&\210\201mG!\205rGq\210\201n ))\"\210)\201o\202-\367\nF\fA@#L\201p\216\371\372\306\314!\211GOPL%\210\201_\201`G!\201q\201r!\201q\201s!\201q\201t!\201q\201u!\201q\201v!RSTU\211V\211WL\210)U\211XFL\210)T\211YGL\210)S\211ZLL\210)R\211[\fL\210)\201w\201x\315\201a\201y\201z\201f\201{D\201fRD\201fSD\201fTD\201fUD\201fVD\201|\257E#\210\201a\201y\201z\201f\201}D\201fRD\201fSD\201fTD\201fUD\201fVD\201|\257E-\"\210)\327\201hL\"\210)\201i.,\207" [outbuf #1=#:temp-buffer method cur handle win generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte functionp mailcap-save-binary-file " *mm*" nil mm-insert-part mm-add-meta-html-tag get-buffer-window t select-window switch-to-buffer buffer-disable-undo mm-set-buffer-file-coding-system insert-buffer-substring message "Viewing with %s" non-viewer mailcap-mime-info ((byte-code "\204 \203\304\n\233 \240\210\304\207" [non-viewer method handle mm 3] 2)) mm-save-part mm-make-temp-file expand-file-name "emm." dir mail-content-type-get 4 filename name assoc "needsterm" "needsterminal" "copiousoutput" set-file-modes 448 gnus-map-function file-name-nondirectory "nametemplate" string-match "\\`%s\\(\\..+\\)\\'" match-string 1 rassoc "mm." write-region nomesg 256 mm-mailcap-command ((byte-code "\303 \nB\"\207" [handle file buffer mm-handle-set-external-undisplayer] 4)) start-process "*display*" "-e" require term gnus-win make-term mm-binary-coding-system mm mm-tmp-directory mime-info needsterm copiousoutput file buffer mm-file-name-rewrite-functions suffix mailcap-mime-extensions coding-system-for-write command window-system mm-external-terminal-program shell-file-name shell-command-switch gnus-current-window-configuration #2=#:--cl-handle-- #3=#:--cl-command-- #4=#:--cl-buffer-- #5=#:--cl-file-- #6=#:--cl-outbuf-- #7=#:v #8=#:v #9=#:v #10=#:v #11=#:v "display" term-mode term-char-mode set-process-sentinel get-buffer-process lambda (process state) if (eq 'exit (process-status process)) gnus-configure-windows quote display-term "Displaying %s..." external mm-insert-inline ((byte-code "\300\301\302\217\210\300\303\304\217\210\300\305\306\217\207" [nil (delete-file file) ((error)) (byte-code "\301\302!!\207" [file delete-directory file-name-directory] 3) ((error)) (kill-buffer buffer) ((error))] 3)) call-process buffer-live-p buffer-string inline ((byte-code "\303 \nB\"\207" [handle file buffer mm-handle-set-external-undisplayer] 4)) make-symbol "--outbuf--" "--file--" "--buffer--" "--command--" "--handle--" run-at-time 30.0 (&rest --cl-rest--) apply #[(#12=#:G23000 #13=#:G23001 #14=#:G23002 #15=#:G23003 #16=#:G23004) "\300\301\302\217\210\300\303\304\217\207" [nil (byte-code "\301J!\207" [#15# delete-file] 2) ((error)) (byte-code "\301\302J!!\207" [#15# delete-directory file-name-directory] 3) ((error))] 3] --cl-rest-- #[(#17=#:G23005 #18=#:G23006 #19=#:G23007 #20=#:G23008 #21=#:G23009 process state) "\306!\307=\203B\310\311\312\217\210\310\313\314\217\210\315 J!\2036r Jq\210\310`\316y\210\317\fJr Jq\210\320 )\"\210\nb\210+\315 J!\203B\321 J!\210\322\323J\"\207" [process #21# point buffer-read-only #17# #19# process-status exit nil (byte-code "\301J!\207" [#20# delete-file] 2) ((error)) (byte-code "\301\302J!!\207" [#20# delete-directory file-name-directory] 3) ((error)) buffer-live-p 2 mm-insert-inline buffer-string kill-buffer message "Displaying %s...done" #18#] 3]] 16 (#$ . 24571)]) (defalias 'mm-mailcap-command #[(method file type-list) "A\306\307\310\211\211\311\312 #\203\201 \306\224O B\306\225\313\306\"\313\314\" \315\230\203<\316 B\202 \317\230\204N \320\230\204N \321\230\203^\310\322\323\"! B\202 \324\230\203n\322@! B\202\322\325\n!\236A\206z\326! B\202 GO B\f\203\236\327 B\322\323\"! B\330\331 \237\326#.\207" [type-list total sub out uses-stdin beg 0 t nil string-match "%{\\([^}]+\\)}\\|'%s'\\|\"%s\"\\|%s\\|%t\\|%%" match-string 1 "%%" "%" "%s" "'%s'" "\"%s\"" shell-quote-argument gnus-map-function "%t" intern "" "<" mapconcat identity ctl method mm-path-name-rewrite-functions file] 6]) #@57 Remove the displayed MIME parts represented by HANDLES. (defalias 'mm-remove-parts #[(handles) "<\203\302@!\203\303!\207\304\211A@\211\205P ;\2036\305\306\307\310 #!\203\311\306\307\310 #!\210\202 <\203I @;\203I\312 A!\210\202\303 !\210\202)\207" [handles handle bufferp mm-remove-part nil buffer-live-p get-text-property 0 buffer kill-buffer mm-remove-parts] 5 (#$ . 30020)]) #@57 Remove the displayed MIME parts represented by HANDLES. (defalias 'mm-destroy-parts #[(handles) "<\203\302@!\203\303!\207\304\211A@\211\205O ;\2036\305\306\307\310 #!\203\311\306\307\310 #!\210\202 <\203H @;\203H\312 !\210\202\303 !\210\202)\207" [handles handle bufferp mm-destroy-part nil buffer-live-p get-text-property 0 buffer kill-buffer mm-destroy-parts] 5 (#$ . 30426)]) #@55 Remove the displayed MIME part represented by HANDLE. (defalias 'mm-remove-part #[(handle) "<\205\3028\303\304\305\217\210\302\233\303\240)\207" [handle object 3 nil (byte-code "\301!\204N\302!\204<\203@\303=\203 \210\202N:\203>\304\305\306\217\210\304\307\310\217\210\311\312!\210\304\313\314\217\210\304\315\316\217\210\202N\317!\203N\320!\203N\321!\210\304\207" [object mm-annotationp functionp lambda nil (byte-code "\301A!\203\302\301A!!\210\303\304!\210\305\306!\210\202\301\207" [object get-buffer-process interrupt-process message "Waiting for external displayer to die..." sit-for 1] 3) ((quit) (error)) (byte-code "A\203\n\301A!\210\301\207" [object kill-buffer] 2) ((error)) message "Waiting for external displayer to die...done" (byte-code "\301@!\207" [object delete-file] 2) ((error)) (byte-code "\301\302@!!\207" [object delete-directory file-name-directory] 3) ((error)) bufferp buffer-live-p kill-buffer] 3) ((error))] 3 (#$ . 30834)]) (defalias 'mm-display-inline #[(handle) "\211@;\203 @\202A@@)\305\n \"\211A@)\211!\210eb*\207" [handle type mm-inline-media-tests x function mm-assoc-string-match] 4]) (defalias 'mm-assoc-string-match #[(alist type) "\300\301\215\207" [--cl-block-nil-- (byte-code "\304\211\205 \n@\305 @ \"\203\306\307 \"\210\nA\211\204\304*\207" [alist elem --dolist-tail-- type nil string-match throw --cl-block-nil--] 4)] 2]) #@66 Say whether the user wants HANDLE to be displayed automatically. (defalias 'mm-automatic-display-p #[(handle) " \211@;\203 @\202 A@@)\306\211 \211A@\211\2038\307 !\204\310 \f\"\203\311\306\211\202\n,\207" [mm-automatic-display handle result method type methods nil mm-inline-override-p string-match t] 5 (#$ . 32265)]) #@122 Say whether HANDLE can be displayed inline. TYPE is the mime-type of the object; it defaults to the one given in HANDLE. (defalias 'mm-inlinable-p #[(handle &optional type) "\204 \211@;\203 @\202 A@@)\n\306\f\203@\307\f\211@@)\"\2037\f@AA@\306 !\f\211A@\210\202 *\207" [type handle mm-inline-media-tests test alist x nil string-match] 4 (#$ . 32612)]) #@59 Say whether the user wants HANDLE to be displayed inline. (defalias 'mm-inlined-p #[(handle) " \211@;\203 @\202 A@@)\306\211 \211A@\211\2038\307 !\204\310 \f\"\203\311\306\211\202\n,\207" [mm-inlined-types handle result method type methods nil mm-inline-override-p string-match t] 5 (#$ . 32992)]) #@64 Say whether HANDLE should have attachment behavior overridden. (defalias 'mm-attachment-override-p #[(handle) " \211@;\203 @\202 A@@)\305\306\307\215+\207" [mm-attachment-override-types handle ty type types nil found (byte-code "\211A@\211\205\304 \n\"\203\305 !\203\306\307\310\"\210\202\207" [types ty type handle string-match mm-inlinable-p throw found t] 3)] 4 (#$ . 33317)]) #@60 Say whether HANDLE should have inline behavior overridden. (defalias 'mm-inline-override-p #[(handle) " \211@;\203 @\202 A@@)\305\306\307\215+\207" [mm-inline-override-types handle ty type types nil found (byte-code "\211A@\211\205\303 \n\"\203\304\305\306\"\210\202\207" [types ty type string-match throw found t] 3)] 4 (#$ . 33723)]) #@42 Return the user-defined method for TYPE. (defalias 'mm-automatic-external-display-p #[(type) "\305\211 \211A@\211\203\306\n\f\"\203\307\305\211\202 +\207" [mm-automatic-external-display result method methods type nil string-match t] 4 (#$ . 34083)]) #@50 Destroy the data structures connected to HANDLE. (defalias 'mm-destroy-part #[(handle) "<\205\301!\210\302@!\205\303@!\207" [handle mm-remove-part buffer-live-p kill-buffer] 2 (#$ . 34353)]) #@41 Say whether HANDLE is displayed or not. (defalias 'mm-handle-displayed-p #[(handle) "\3018\207" [handle 3] 2 (#$ . 34558)]) #@65 Run FORMS in the temp buffer containing the contents of HANDLE. (defalias 'mm-with-part '(macro . #[(handle &rest forms) "\302\300DC\303\304\305\306\307\310 BBBBEE\207" [handle forms let* when (and (mm-handle-buffer handle) (buffer-name (mm-handle-buffer handle))) with-temp-buffer (mm-disable-multibyte) (insert-buffer-substring (mm-handle-buffer handle)) (mm-decode-content-transfer-encoding (mm-handle-encoding handle) (mm-handle-media-type handle))] 9 (#$ . 34689)])) (byte-code "\300\301\302\303#\210\300\301\304\305#\207" [put mm-with-part lisp-indent-function 1 edebug-form-spec (body)] 4) #@129 Return the contents of HANDLE as a string. If NO-CACHE is non-nil, cached contents of a message/external-body part are ignored. (defalias 'mm-get-part #[(handle &optional no-cache) "\2040 \211@;\203 @\202 A@@)\303\232\2030\304 8\204%\305 !\210r\304 8@q\210\306 )\207 \211@\205k\307 @!\205k\310\311!r\nq\210\312\216\313 \210\314 @!\210\315\316 8 \211@;\203a @\202e A@@)\"\210\306 +)\207" [no-cache handle #1=#:temp-buffer "message/external-body" 6 mm-extern-cache-contents buffer-string buffer-name generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte insert-buffer-substring mm-decode-content-transfer-encoding 2] 4 (#$ . 35294)]) #@139 Insert the contents of HANDLE in the current buffer. If NO-CACHE is non-nil, cached contents of a message/external-body part are ignored. (defalias 'mm-insert-part #[(handle &optional no-cache) "\303A@\304\"\305=\203r@q\210\306 )\202(\307 \203$\310\311 \"!\202(\311 \"\214~\210`\312e`S]\313\"\314=\203K\312\315\313\n#\314=\203K\316\n\261\210\202N\nc\210b*\207" [handle no-cache text mail-content-type-get charset gnus-decoded buffer-string mm-multibyte-p mm-string-to-multibyte mm-get-part get-char-property face mm-uu-extract 0 "\n"] 5 (#$ . 36026)]) #@50 Remove all whitespace characters from FILE-NAME. (defalias 'mm-file-name-delete-whitespace #[(file-name) "\301\302\"\203\303\304\305\211$\202\207" [file-name string-match "\\s-+" replace-match "" t] 5 (#$ . 36598)]) #@67 Remove leading and trailing whitespace characters from FILE-NAME. (defalias 'mm-file-name-trim-whitespace #[(file-name) "\301\302\"\203 \303\225\304O\301\305\"\203\303\211\224O\207" [file-name string-match "\\`\\s-+" 0 nil "\\s-+\\'"] 3 (#$ . 36828)]) #@55 Collapse multiple whitespace characters in FILE-NAME. (defalias 'mm-file-name-collapse-whitespace #[(file-name) "\301\302\"\203\303\304\305\211$\202\207" [file-name string-match "\\s-\\s-+" replace-match " " t] 5 (#$ . 37096)]) #@163 Replace whitespace characters in FILE-NAME with underscores. Set the option `mm-file-name-replace-whitespace' to any other string if you do not like underscores. (defalias 'mm-file-name-replace-whitespace #[(file-name) "\206\303\304\305\n\"\203\306 \307\211\n$\202)\n\207" [mm-file-name-replace-whitespace s file-name "_" string-match "\\s-" replace-match t] 5 (#$ . 37339)]) #@42 Delete control characters from FILENAME. (defalias 'mm-file-name-delete-control #[(filename) "\301\302\303#\207" [filename gnus-replace-in-string "[-]" ""] 4 (#$ . 37730)]) #@37 Delete shell gotchas from FILENAME. (defalias 'mm-file-name-delete-gotchas #[(filename) "\301\302\303#\301\304\303#\207" [filename gnus-replace-in-string "[<>|]" "" "^[.-]+"] 4 (#$ . 37913)]) #@92 Write HANDLE to a file. PROMPT overrides the default one used to ask user for a file name. (defalias 'mm-save-part #[(handle &optional prompt) "\306\3078\302\"\206\306A@\310\"\311\211\203\312 \313\n!\"\314\f\206*\315\316\n\206)\317\" \2060\320\n\2066\317 \206<\"#\321 !\203M\320\n \"\202W\320 \206U\"\322 !\323 !\203j\324\315\325 \"!\205p\326 \"\210 *\207" [handle file filename mm-file-name-rewrite-functions prompt mm-default-directory mail-content-type-get 4 name nil gnus-map-function file-name-nondirectory read-file-name format "Save MIME part to (default %s): " "" expand-file-name file-directory-p file-name-directory file-exists-p yes-or-no-p "File %s already exists; overwrite? " mm-save-part-to-file default-directory] 7 (#$ . 38114)]) #@256 Add meta html tag to specify CHARSET of HANDLE in the current buffer. CHARSET defaults to the one HANDLE specifies. Existing meta tag that specifies charset will not be modified unless FORCE-CHARSET is non-nil. Return t if meta tag is added or replaced. (defalias 'mm-add-meta-html-tag #[(handle &optional charset force-charset) "\211@;\203 @\202A@@)\304\232\205r \204&\305A@\301\"\211\205r\306\307 \"\310eb\210\311\312\313\310#\203T ?\205H\314\224\205H\315\316\317\320!\"?\205q\321 !\210\310\202q\311\322\313\310#\203d \323\261\210\202p\311\324\313\310#\210\325 \326\261\210\310)\207" [handle charset case-fold-search force-charset "text/html" mail-content-type-get format "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">" t re-search-forward "<meta\\s-+http-equiv=[\"']?content-type[\"']?\\s-+content=[\"']text/\\(\\sw+\\)\\(?:;\\s-*charset=\\(.+\\)\\)?[\"'][^>]*>" nil 2 string-match "\\`html\\'" match-string 1 replace-match "<head>\\s-*" "\n" "<html\\(?:\\s-+[^>]+\\|\\s-*\\)>\\s-*" "<head>\n" "\n</head>\n"] 5 (#$ . 38899)]) (defalias 'mm-save-part-to-file #[(handle file) "\305\306!rq\210\307\216\310 \210\311 !\210\312 !\210\313 \314 !\210\315\216\316ed\f\317\211\211\320\321&-\207" [#1=#:temp-buffer handle current-file-modes mm-attachment-file-modes file generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte mm-insert-part mm-add-meta-html-tag default-file-modes set-default-file-modes ((set-default-file-modes current-file-modes)) mm-write-region nil binary t] 9]) #@51 Pipe HANDLE to a process. Use CMD as the process. (defalias 'mm-pipe-part #[(handle &optional cmd) "\306A@\304\" \206\307\310\n\"\311\312!r q\210\313\216\314 \210\315!\210\316!\210\317\320ed \321$.\207" [handle cmd mm-last-shell-command command name #1=#:temp-buffer mail-content-type-get gnus-read-shell-command "Shell command on MIME part: " generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte mm-insert-part mm-add-meta-html-tag binary shell-command-on-region nil coding-system-for-write] 5 (#$ . 40508)]) (autoload 'gnus-completing-read "gnus-util") #@30 Display HANDLE using METHOD. (defalias 'mm-interactively-view-part #[(handle) "\211@;\203 @\202A@@)\306\307\310 \311\"\" \312\313\n\")\211\314\230\203-\315\316!\210\317\320 \"\2038 \321P\322 \"+\207" [handle type methods mm-viewer-completion-map minibuffer-local-completion-map method mapcar #[(i) "\301\302\"A\207" [i assoc viewer] 3] mailcap-mime-info all completing-read "Viewer: " "" error "No method given" string-match "^[^% ]+$" " %s" mm-display-external] 6 (#$ . 41158)]) #@37 Say which of HANDLES are preferred. (defalias 'mm-preferred-alternative #[(handles &optional preferred) "\203 C\202\f\306 !\307\211\211\211\211 \f\f\211A\f@\211 \203t  \203 @\211\211@;\203<\n@\202@\nA@@) \232\203k\310\n!\203k\n@;\204d\311\n8\203d\311\n8@\312\232\203k\n\307\211\f \211A@\210\202(\f.\207" [preferred handles handle type result h mm-preferred-alternative-precedence nil mm-automatic-display-p 4 "inline" p prec] 7 (#$ . 41661)]) #@75 Return the precedence based on HANDLES and `mm-discouraged-alternatives'. (defalias 'mm-preferred-alternative-precedence #[(handles) "\305!\305 !\306\211\203M @\307!\306\211\203E @\310\n\f\211@;\203-\f@\2021\fA@@)\"\203>\311\f\"\fC\244 A\211\204* A\211\204*\307!\306\211\203\202 @\312\f@!\203{r\f@q\210eb\210\313\314\306\315#)\204{\311\f\"\fC\244 A\211\204X*\316\317\"\207" [handles mm-discouraged-alternatives disc --dolist-tail-- handle reverse nil copy-sequence string-match delete bufferp re-search-forward "[^ \n]" t mapcar mm-handle-media-type] 5 (#$ . 42145)]) #@41 Return the handle(s) referred to by ID. (defalias 'mm-get-content-id #[(id) "\302 \"A\207" [id mm-content-id-alist assoc] 3 (#$ . 42755)]) #@169 Alist of (REGEXP . IMAGE-TYPE) pairs used to auto-detect image types. When the first bytes of an image file match REGEXP, it is assumed to be of image type IMAGE-TYPE. (defconst mm-image-type-regexps '(("/\\*.*XPM.\\*/" . xpm) ("P[1-6]" . pbm) ("GIF8" . gif) ("\377\330" . jpeg) ("\211PNG \n" . png) ("#define" . xbm) ("\\(MM\\*\\)\\|\\(II\\*\\)" . tiff) ("%!PS" . postscript)) (#$ . 42902)) #@140 Determine the image type from data in the current buffer. Value is a symbol specifying the image type or nil if type cannot be determined. (defalias 'mm-image-type-from-buffer #[nil "\305eb\210\n\203& \204&\n@@\n@A\306\f!\203 \nA*\202 *\207" [mm-image-type-regexps type types image-type regexp nil looking-at] 2 (#$ . 43303)]) #@43 Return an image instance based on HANDLE. (defalias 'mm-get-image #[(handle) "\305\211@;\203@\202A@@)\306\"\211A@*\307\211\310\232\203)\311\202> \312\232\2033\313\202> \314\232\203=\315\202> \3168\206c\317\320!r\fq\210\321\216\322 \210\323!\210\307\324\325\217\211\316\233\n\240\210+*\207" [handle x spec type #1=#:temp-buffer split-string "/" nil "x-pixmap" "xpm" "x-xbitmap" "xbm" "x-portable-bitmap" "pbm" 6 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte mm-insert-part (byte-code "\301\302!\203\302\303 \304 \206\305!\306#\207\307!\207" [type fboundp create-image buffer-string mm-image-type-from-buffer intern data-p mm-create-image-xemacs] 4) ((error))] 4 (#$ . 43649)]) (defalias 'mm-create-image-xemacs #[(type) "\300\207" [nil] 1]) #@62 Say whether the image in HANDLE will fit the current window. (defalias 'mm-image-fit-p #[(handle) "\306!\211?\206$\307 !\211@\nA \206#\f\310 SX\205# \311 X+)\207" [handle image size w h mm-inline-large-images mm-get-image image-size window-height window-width] 3 (#$ . 44512)]) #@56 Say whether FORMAT can be displayed natively by Emacs. (defalias 'mm-valid-image-format-p #[(format) "\301\302!\203\n\302!\207\301\303!\203\304 \205\303!\207\305\207" [format fboundp valid-image-instantiator-format-p image-type-available-p display-graphic-p nil] 2 (#$ . 44804)]) #@74 Say whether FORMAT can be displayed natively and HANDLE fits the window. (defalias 'mm-valid-and-fit-image-p #[(format handle) "\302!\205 \303 !\207" [format handle mm-valid-image-format-p mm-image-fit-p] 2 (#$ . 45097)]) #@115 Search in HANDLES for part with TYPE. If NOTP, returns first non-matching part. If RECURSIVE, search recursively. (defalias 'mm-find-part-by-type #[(handles type &optional notp recursive) "\306 \203j\n\203) \211@@);\203)\307 \211@A)\f \n$\211\203c\306\202c \203F @\211@;\203;@\202?A@@)\f\232?\202[ @\211@;\203T@\202XA@@)\f\232\203c @\306 A\211\204)\207" [handle handles recursive x type notp nil mm-find-part-by-type] 6 (#$ . 45328)]) (defalias 'mm-find-raw-part-by-type #[(ctl type &optional notp) "eb\210\306\307\310\301@#P\311\312 !\313Q\314\212db\210\315\n\314\316#\203&\310\224\202'd)\314\311\312 !\317Q \204~\320 \f\316#\203~\310\224b\210 \203v\212\214 `S}\210\321\322!\211\205Z\323!\203i@\232?\202n@\232*\203u\324 *\325y\210`\2022 \204\265 \203\265\212\214 \f}\210\321\322!\211\205\231\323!\203\250@\232?\202\255@\232*\203\264\324 * -\207" [ctl boundary close-delimiter start end result "--" get-text-property 0 "^" regexp-quote "--[ ]*$" nil re-search-backward t "[ ]*$" re-search-forward mail-fetch-field "content-type" mail-header-parse-content-type buffer-string 1 ct notp type] 6]) (defvar mm-security-handle nil) (defalias 'mm-set-handle-multipart-parameter #[(handle parameter value) "\205\303\304@G \n@%\207" [handle parameter value put-text-property 0] 6]) (byte-code "\300\301\302\303#\210\304\305\306\"\207" [put mm-set-handle-multipart-parameter byte-optimizer byte-compile-inline-expand autoload mm-view-pkcs7 "mm-view"] 4) (defalias 'mm-possibly-verify-or-decrypt #[(parts ctl &optional from) "@\306@\307\"\211A@)\310\211\211'\211(\311\232\204%(\312\232\203`\313\314!)r)q\210\315\216*\316=\204\\*\317=\204N*\320=\204N\321\322\323!!\203\\\324+,\"\203\\\325\326!++\202'\327\232\2039\330\331\304@#\211\203x\f\332\232\203\273-\211.\203\272\333.@8\211\203\222\n+\"\203\261\334+.\211@@)\310\326$\203\261.\211@@)\310\211.\202}.A\211.\204\200)\335\f-\"A@/\316=\204/\317=\204/\320=\203\360 \203\333\335\f-\"8\211\203\n+\"\202\321\322\336\337\335\f-\"8\206\322\340\f\"\"!\203\212 \203 +\"+\2025 \341\322\342\f\"01\2112\2053\343\3312@G102@%+\210)\202'\344\232\203\330\331\304@#\211\204\232+\211+\203\231\335+@\2112@;\203e2@\202j2A@@)3\"\203\220+@\2112@;\203\2022@\202\2072A@@)\310\211+\202P+A\211+\204S)\335\f3\"A@*\316=\204*\317=\204\345*\320=\203\317 \203\333\335\f3\"8\211\203\345\n+\"\202\342\321\322\345\337\335\f3\"8\206\340\322\340\f\"\"!\203\212 \203\364 +\"+\202 \341\322\346\f\"01\2112\205\343\3312@G102@%+\210)+.\207" [ctl x functest func protocol mm-security-handle split-string "/" nil "application/x-pkcs7-mime" "application/pkcs7-mime" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1=#:temp-buffer buffer-name kill-buffer] 2)) never always known y-or-n-p format "Decrypt (S/MIME) part? " mm-view-pkcs7 mm-dissect-buffer t "signed" get-text-property 0 "multipart/mixed" 3 mm-find-part-by-type assoc "Verify signed (%s) part? " 2 "protocol=%s" gnus-details "Unknown sign protocol (%s)" put-text-property "encrypted" "Decrypt (%s) part? " "Unknown encrypt protocol (%s)" subtype type #1# mm-decrypt-option parts from mm-verify-function-alist protocols mm-verify-option value parameter handle mm-decrypt-function-alist] 8]) (defalias 'mm-multiple-handles #[(handles) "<\205G\301V\205@<\206@;\207" [handles 1] 2]) (defalias 'mm-complicated-handles #[(handles) "@<\205\nG\301V\207" [handles 1] 2]) (defalias 'mm-merge-handles #[(handles1 handles2) "\302@<\203 \202 C @<\203 \202 C\"\207" [handles1 handles2 append] 3]) #@48 Say whether the content of HANDLE is readable. (defalias 'mm-readable-p #[(handle) "r@q\210\302 )\303W\205*\304\305!r q\210\306\216\307 \210\310!\210\311 \312=\205)\313\314!?+\207" [handle #1=#:temp-buffer buffer-size 10000 generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte mm-insert-part mm-body-7-or-8 7bit mm-long-lines-p 76] 2 (#$ . 49077)]) (autoload 'gnus-blocked-images "gnus-art") (defalias 'mm-shr #[(handle) "\306\307!\210p\310\311\211\211\211\312\313!\2033\314 !\2033\315 !\2033r q\2105\316 )\20295\316 6\204C\317\320!6\3216A@\301\"\214``}\210\3226\2116@\205\3156@!\205\323\324!7r7q\210\325\216\326 \210\3276@!\210\330\331686\2116@;\203\2146@\202\2216A@@)\"\210 \203\260\332 \311\320#\211\203\260 \333=\204\260\334\335 \"\202\264\336\335 !\337 \210\340 \210c\210eb\210\3208\341\342\311\320#\203\357\343\224\203\330\344\345\343!\346\"\202\335\344\345\331!!9\236A\211\203\302\347\350!!\210\202\302eb\210\351\352\311\320#\203\347\353\320\211#\210\202\362\354ed\"+)!\210o\204\355c\210\3566\233\357\311\360\361\362\363 \364 EEE\240.\207" [char charset shr-blocked-images shr-inhibit-images shr-content-function article-buffer require shr #[(id) "\303!\211\205D \211@\205C\304 @!\205C\305\306!r\nq\210\307\216\310 \210\311 @!\210\312\313 8 \211@;\2039 @\202= A@@)\"\210\314 +))\207" [id handle #1=#:temp-buffer mm-get-content-id buffer-name generate-new-buffer #2=" *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) mm-disable-multibyte insert-buffer-substring mm-decode-content-transfer-encoding 2 buffer-string] 4] nil boundp gnus-summary-buffer bufferp buffer-name gnus-blocked-images mm-dissect-buffer t mail-content-type-get shr-insert-document generate-new-buffer #2# ((byte-code "\301!\203\n\302!\210\301\207" [#3=#:temp-buffer buffer-name kill-buffer] 2)) mm-disable-multibyte insert-buffer-substring mm-decode-content-transfer-encoding 2 mm-charset-to-coding-system ascii mm-decode-coding-string buffer-string mm-string-as-multibyte erase-buffer mm-enable-multibyte re-search-forward "&#\\(?:x\\([89][0-9a-f]\\)\\|\\(1[2-5][0-9]\\)\\);" 1 string-to-number match-string 16 replace-match char-to-string search-forward "­" "" libxml-parse-html-region "\n" 3 lambda let ((inhibit-read-only t)) delete-region point-min-marker point-max-marker gnus-inhibit-images handle #3# case-fold-search mm-extra-numeric-entities] 9]) #@35 Return filename of HANDLE if any. (defalias 'mm-handle-filename #[(handle) "\301A@\302\"\206\301\3038\304\"\207" [handle mail-content-type-get name 4 filename] 3 (#$ . 51615)]) (provide 'mm-decode)