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
Viewing File: /usr/share/emacs/24.3/lisp/epa.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:48:10 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/epa.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\305\306\307\310\311\312\313\301&\210\314\315\316\317\320DD\321\322\323\313\306&\210\314\324\316\317\325DD\326\322\327\313\306&\210\305\330\307\331\311\312\313\306&\210\332\333\334\335\313\330%\210\332\336\337\340\313\330%\210\332\341\342\343\313\330%\210\332\344\345\346\313\330%\210\332\347\350\351\313\330%\210\332\352\353\354\313\330%\210\332\355\356\357\313\306%\210\332\360\361\362\313\306%\210\314\363\316\317\364DD\365\322\366\313\306&\207" [require epg font-lock widget derived custom-declare-group epa nil "The EasyPG Assistant" :version "23.1" :group custom-declare-variable epa-popup-info-window funcall function #[0 "\300\207" [t] 1 "\n\n(fn)"] "If non-nil, status information from epa commands is displayed on\nthe separate window." :type boolean epa-info-window-height #[0 "\300\207" [5] 1 "\n\n(fn)"] "Number of lines used to display status information." integer epa-faces "Faces for epa-mode." custom-declare-face epa-validity-high ((default :weight bold) (((class color) (background dark)) :foreground "PaleTurquoise")) "Face for high validity EPA information." epa-validity-medium ((default :slant italic) (((class color) (background dark)) :foreground "PaleTurquoise")) "Face for medium validity EPA information." epa-validity-low ((t :slant italic)) "Face used for displaying the low validity." epa-validity-disabled ((t :slant italic :inverse-video t)) "Face used for displaying the disabled validity." epa-string ((((class color) (background dark)) :foreground "lightyellow") (((class color) (background light)) :foreground "blue4")) "Face used for displaying the string." epa-mark ((default :weight bold) (((class color) (background dark)) :foreground "orange") (((class color) (background light)) :foreground "red")) "Face used for displaying the high validity." epa-field-name ((default :weight bold) (((class color) (background dark)) :foreground "PaleTurquoise")) "Face for the name of the attribute field." epa-field-body ((default :slant italic) (((class color) (background dark)) :foreground "turquoise")) "Face for the body of the attribute field." epa-validity-face-alist #[0 "\300\207" [((unknown . epa-validity-disabled) (invalid . epa-validity-disabled) (disabled . epa-validity-disabled) (revoked . epa-validity-disabled) (expired . epa-validity-disabled) (none . epa-validity-low) (undefined . epa-validity-low) (never . epa-validity-low) (marginal . epa-validity-medium) (full . epa-validity-high) (ultimate . epa-validity-high))] 1 "\n\n(fn)"] "An alist mapping validity values to faces." (repeat (cons symbol face))] 8) #@43 Default expressions to addon in epa-mode. (defvar epa-font-lock-keywords '(("^\\*" (0 'epa-mark)) ("^ \\([^ :]+:\\)[ ]*\\(.*\\)$" (1 'epa-field-name) (2 'epa-field-body))) (#$ . 3176)) (defconst epa-pubkey-algorithm-letter-alist '((1 . 82) (2 . 114) (3 . 115) (16 . 103) (17 . 68) (20 . 71))) #@134 The default protocol. The value can be either OpenPGP or CMS. You should bind this variable with `let', but do not set it globally. (defvar epa-protocol 'OpenPGP (#$ . 3477)) #@126 If non-nil, epa commands create ASCII armored output. You should bind this variable with `let', but do not set it globally. (defvar epa-armor nil (#$ . 3660)) #@124 If non-nil, epa commands treat input files as text. You should bind this variable with `let', but do not set it globally. (defvar epa-textmode nil (#$ . 3827)) (defvar epa-keys-buffer nil) (defvar epa-key-buffer-alist nil) (defvar epa-key nil) (defvar epa-list-keys-arguments nil) (defvar epa-info-buffer nil) (defvar epa-last-coding-system-specified nil) (defvar epa-key-list-mode-map (byte-code "\300 \300 \301\302\303#\210\301\304\305#\210\301\306\307#\210\301\310\311#\210\301\312\313#\210\301\314\315#\210\301\316\317#\210\301\320\321#\210\301\322\323#\210\301\324\325#\210\301\326\327#\210\301\330\331#\210\301\332\333#\210\301\334\335#\210\301\336\337#\210\301\340\341B#\210\301\342\343#\210\301\344\345#\210\301\346\347#\210\301\350\351#\210\301\352\353#\210\301\354\355#\210\301\356\357#\210\301\360\361#\210\301\362\363#\210\301\364\365#\210\301\366\367#\210\207" [make-sparse-keymap define-key "m" epa-mark-key "u" epa-unmark-key "d" epa-decrypt-file "v" epa-verify-file "s" epa-sign-file "e" epa-encrypt-file "r" epa-delete-keys "i" epa-import-keys "o" epa-export-keys "g" revert-buffer "n" next-line "p" previous-line " " scroll-up-command [delete] scroll-down-command "q" epa-exit-buffer [menu-bar epa-key-list-mode] "Keys" [epa-key-list-unmark-key] (menu-item "Unmark Key" epa-unmark-key :help "Unmark a key") [epa-key-list-mark-key] (menu-item "Mark Key" epa-mark-key :help "Mark a key") [separator-epa-file] (menu-item "--") [epa-verify-file] (menu-item "Verify File..." epa-verify-file :help "Verify FILE") [epa-sign-file] (menu-item "Sign File..." epa-sign-file :help "Sign FILE by SIGNERS keys selected") [epa-decrypt-file] (menu-item "Decrypt File..." epa-decrypt-file :help "Decrypt FILE") [epa-encrypt-file] (menu-item "Encrypt File..." epa-encrypt-file :help "Encrypt FILE for RECIPIENTS") [separator-epa-key-list] (menu-item "--") [epa-key-list-delete-keys] (menu-item "Delete Keys" epa-delete-keys :help "Delete Marked Keys") [epa-key-list-import-keys] (menu-item "Import Keys" epa-import-keys :help "Import keys from a file") [epa-key-list-export-keys] (menu-item "Export Keys" epa-export-keys :help "Export marked keys to a file")] 7)) (defvar epa-key-mode-map (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key "q" epa-exit-buffer] 5)) (defvar epa-info-mode-map (byte-code "\300 \301\302\303#\210\211\207" [make-sparse-keymap define-key "q" delete-window] 5)) (defvar epa-exit-buffer-function 'bury-buffer) (define-widget 'epa-key 'push-button "Button for representing a epg-key object." :format "%[%v%]" :button-face-get 'epa--key-widget-button-face-get :value-create 'epa--key-widget-value-create :action 'epa--key-widget-action :help-echo 'epa--key-widget-help-echo) (defalias 'epa--key-widget-action #[513 "\300 r\301\302\303\304\305\306!\307\"\310\311%DC\216\312\313\314\"!*\207" [internal--before-save-selected-window funcall make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 "\n\n(fn)" epa--show-key widget-get :value] 10 "\n\n(fn WIDGET &optional EVENT)"]) (defalias 'epa--key-widget-value-create #[257 "\301\302\"\303!@\304!@\305\306\307!\203\310\307!\"@\202\311\"\312!\313\203=\314!;\2035\314!\202>\315\314!!\202>\316\261\207" [epg-key-validity-alist widget-get :value epg-key-sub-key-list epg-key-user-id-list format "%c " epg-sub-key-validity rassq 32 epg-sub-key-id " " epg-user-id-string epg-decode-dn ""] 10 "\n\n(fn WIDGET)"]) (defalias 'epa--key-widget-button-face-get #[257 "\301\302\303\304\"!@!\211\203\211\236A\202\305\207" [epa-validity-face-alist epg-sub-key-validity epg-key-sub-key-list widget-get :value default] 6 "\n\n(fn WIDGET)"]) (defalias 'epa--key-widget-help-echo #[257 "\300\301\302\303\304\305\"!@!\"\207" [format "Show %s" epg-sub-key-id epg-key-sub-key-list widget-get :value] 8 "\n\n(fn WIDGET)"]) (byte-code "\300\301!\203\302\303\301\"\210\202\302\303\304\"\210\300\305!\203!\302\306\305\"\210\202&\302\306\304\"\210\300\207" [fboundp encode-coding-string defalias epa--encode-coding-string identity decode-coding-string epa--decode-coding-string] 3) #@39 Major mode for `epa-list-keys'. (fn) (defalias 'epa-key-list-mode #[0 "\306 \210\307 \210\310\311\312\211\313\f!\210\314\305!\210\315\316 \210\314\317!\210\314\320!\210\321\322\323!\207" [major-mode mode-name truncate-lines buffer-read-only epa-key-list-mode-map font-lock-defaults kill-all-local-variables buffer-disable-undo epa-key-list-mode "Keys" t use-local-map make-local-variable (epa-font-lock-keywords t) font-lock-set-defaults epa-exit-buffer-function revert-buffer-function epa--key-list-revert-buffer run-mode-hooks epa-key-list-mode-hook] 3 (#$ . 7985)]) #@41 Major mode for a key description. (fn) (defalias 'epa-key-mode #[0 "\306 \210\307 \210\310\311\312\211\313\f!\210\314\305!\210\315\316 \210\314\317!\210\320\321!\207" [major-mode mode-name truncate-lines buffer-read-only epa-key-mode-map font-lock-defaults kill-all-local-variables buffer-disable-undo epa-key-mode "Key" t use-local-map make-local-variable (epa-font-lock-keywords t) font-lock-set-defaults epa-exit-buffer-function run-mode-hooks epa-key-mode-hook] 3 (#$ . 8568)]) #@41 Major mode for `epa-info-buffer'. (fn) (defalias 'epa-info-mode #[0 "\305 \210\306 \210\307\310\311\211\312\f!\210\313\314!\207" [major-mode mode-name truncate-lines buffer-read-only epa-info-mode-map kill-all-local-variables buffer-disable-undo epa-info-mode "Info" t use-local-map run-mode-hooks epa-info-mode-hook] 3 (#$ . 9062)]) #@88 Mark a key on the current line. If ARG is non-nil, unmark the key. (fn &optional ARG) (defalias 'epa-mark-key #[256 "\302\303\211\303\262\303\262\304 \210\305`\306\"\204\307\310!\210\311`!\262\312\313!\210\203,\314\202-\315c\210\316`S`#\210\303y*\207" [buffer-read-only inhibit-read-only t nil beginning-of-line get-text-property epa-key error "No key on this line" text-properties-at delete-char 1 " " "*" set-text-properties] 8 (#$ . 9407) "P"]) #@88 Unmark a key on the current line. If ARG is non-nil, mark the key. (fn &optional ARG) (defalias 'epa-unmark-key #[256 "\300?!\207" [epa-mark-key] 3 (#$ . 9875) "P"]) #@83 Exit the current buffer. `epa-exit-buffer-function' is called if it is set. (fn) (defalias 'epa-exit-buffer #[0 " \207" [epa-exit-buffer-function] 1 (#$ . 10049) nil]) (defalias 'epa--insert-keys #[257 "\212\214``}\210\300\2034`\262\301c\210\302`\303@\304\300\305\306\307\306\310\306\257\n#\210\311\303\312@#\210\313c\210A\262\202\210\302ed\314\306\304\300\305\306\307\306\310\306\257\n#*\207" [nil " " add-text-properties epa-key front-sticky rear-nonsticky t start-open end-open widget-create :value "\n" epa-list-keys] 15 "\n\n(fn KEYS)"]) (defalias 'epa--list-keys #[514 "\203\n\306!\204\307\310!q\210\311 \210\312\313e\314 !\313\262\313\262\315\316\"\2041\317\316\"\262\203C\317\316\"\206>d|\210b\210\320\321#!\210\322 \210\323\324 \f\"\210*\266\325\305!\210Deb\210\326p!\207" [epa-keys-buffer epa-protocol buffer-read-only inhibit-read-only widget-keymap epa-list-keys-arguments buffer-live-p generate-new-buffer "*Keys*" epa-key-list-mode t nil epg-make-context get-text-property epa-list-keys next-single-property-change epa--insert-keys epg-list-keys widget-setup set-keymap-parent current-local-map make-local-variable pop-to-buffer] 11 "\n\n(fn NAME SECRET)"]) #@79 List all keys matched with NAME from the public keyring. (fn &optional NAME) (defalias 'epa-list-keys #[256 "\300\301\"\207" [epa--list-keys nil] 4 (#$ . 11272) (byte-code "\203\302\303 \205\f @\"\211\304\232?\205\211C\207\305C\207" [current-prefix-arg epa-list-keys-arguments read-string "Pattern: " "" nil] 3)]) #@80 List all keys matched with NAME from the private keyring. (fn &optional NAME) (defalias 'epa-list-secret-keys #[256 "\300\301\"\207" [epa--list-keys t] 4 (#$ . 11600) (byte-code "\203\302\303 \205\f @\"\211\304\232?\205\211C\207\305C\207" [current-prefix-arg epa-list-keys-arguments read-string "Pattern: " "" nil] 3)]) (defalias 'epa--key-list-revert-buffer #[512 "\301\302\"\207" [epa-list-keys-arguments apply epa--list-keys] 5 "\n\n(fn &optional IGNORE-AUTO NOCONFIRM)"]) (defalias 'epa--marked-keys #[0 "rq\210eb\210\301\211\302\303\301\304#\203$\305\306\224\307\"\211\262\203 \211B\262\202 \237\266\202)\2069\305\310 \307\"\211\2057\211C\262\207" [epa-keys-buffer nil re-search-forward "^\\*" t get-text-property 0 epa-key point-at-bol] 6 "\n\n(fn)"]) (defalias 'epa--select-keys #[514 "\203\n\306!\204\307\310!rq\210\311 \210\312\313 \314\315#\210\316\317\320 \210\321\322\323!\261\210\324\325\326\327\330\322\331!\332&\210\324\325\326\333\330\322\334!\335&\210\336c\210\337!\210\340 \210\341\313 \"\210\342eb\210\343\344p!\210+\345\346DC\216\347 \210\350 *\207" [epa-keys-buffer buffer-read-only inhibit-read-only widget-keymap epa-exit-buffer-function display-buffer-mark-dedicated buffer-live-p generate-new-buffer "*Keys*" epa-key-list-mode define-key current-local-map "" exit-recursive-edit t nil erase-buffer "\n" substitute-command-keys "- `\\[epa-mark-key]' to mark a key on the line\n- `\\[epa-unmark-key]' to unmark a key on the line\n" widget-create link :notify #[128 "\300 \207" [abort-recursive-edit] 2 "\n\n(fn &rest IGNORE)"] :help-echo "Click here or \\[abort-recursive-edit] to cancel" "Cancel" #[128 "\300 \207" [exit-recursive-edit] 2 "\n\n(fn &rest IGNORE)"] "Click here or \\[exit-recursive-edit] to finish" "OK" "\n\n" epa--insert-keys widget-setup set-keymap-parent abort-recursive-edit soft pop-to-buffer funcall #[0 "\301!\207" [epa-keys-buffer kill-buffer] 2 "\n\n(fn)"] recursive-edit epa--marked-keys] 9 "\n\n(fn PROMPT KEYS)"]) #@315 Display a user's keyring and ask him to select keys. CONTEXT is an epg-context. PROMPT is a string to prompt with. NAMES is a list of strings to be matched with keys. If it is nil, all the keys are listed. If SECRET is non-nil, list secret keys instead of public keys. (fn CONTEXT PROMPT &optional NAMES SECRET) (defalias 'epa-select-keys #[1026 "\300#\301\"\207" [epg-list-keys epa--select-keys] 8 (#$ . 13613)]) (defalias 'epa--show-key #[257 "\306!@\307\310!\"\311\312\211C\204\310!\312B\262BA\203+\313A!\2047\314\315\316\310!\"!\241\210Aq\210\317 \210\320\303!\210\321 \210\211\322!\240\210\211@\203\226\211@@\203\215\323\324@@!\203o\325\326\324@@!\f\"@!\202p\323\323\327@@!;\203\202\327@@!\202\211\330\327@@!!\331\261\210\211@A\240\210\202M\211\306!\240\210\211@\203D\323\332@@!\203\270\325\326\332@@!\f\"@!\202\271\323\323\310@@!\323\315\333\334@@!\"\323\335@@! \236A\336\337\340\341\342\343\344\345!\346\"\347\350%D\351\340\352\337EDC\217\353 @@!\203$\315\354\355 \353@@!\"\203\356\202\357\360\340\341\342\343\344\345!\361\"\347\350%D\351\340\362\360EDC\217\"\202%\363\364\365\366\367@@!\323#\370\371@@!\331\261\210\211@A\240\210\202\234eb\210\372p!*\207" [epa-key-buffer-alist inhibit-read-only buffer-read-only epa-key epg-key-validity-alist epg-pubkey-algorithm-alist epg-key-sub-key-list assoc epg-sub-key-id t nil buffer-live-p generate-new-buffer format "*Key*%s" epa-key-mode make-local-variable erase-buffer epg-key-user-id-list " " epg-user-id-validity char-to-string rassq epg-user-id-string epg-decode-dn "\n" epg-sub-key-validity "%dbits" epg-sub-key-length epg-sub-key-algorithm "\n Created: " #1=#:err funcall make-byte-code 0 "\301\302\303\300@@!\"\207" vconcat vector [format-time-string "%Y-%m-%d" epg-sub-key-creation-time] 4 "\n\n(fn)" error #[257 "\300\207" ["????-??-??"] 2 "????-??-??\n\n(fn IGNORED)"] epg-sub-key-expiration-time time-less-p current-time "\n Expires: %s" "\n Expired: %s" #2=#:err [format-time-string "%Y-%m-%d" epg-sub-key-expiration-time] #[257 "\300\207" ["????-??-??"] 2 "????-??-??\n\n(fn IGNORED)"] "" "\n Capabilities: " mapconcat symbol-name epg-sub-key-capability "\n Fingerprint: " epg-sub-key-fingerprint pop-to-buffer] 25 "\n\n(fn KEY)"]) (defalias 'epa-display-info #[257 "\203o\305 r\306\307\310\311\312\313!\314\"\315\316%DC\216 \203\"\317 !\204&\320\321!\322 !\2032\323\322 !!\210r q\210\324\325\326 \210c\210*\327 \210eb\210)\330 \fV\203\\\331\332\325\330 \fZ\" \"\202m\333 !\210\330 \fV\205m\334\330 \fZ!*\207\335\336\"\207" [epa-popup-info-window epa-info-buffer buffer-read-only inhibit-read-only epa-info-window-height internal--before-save-selected-window funcall make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 "\n\n(fn)" buffer-live-p generate-new-buffer "*Info*" get-buffer-window delete-window t nil erase-buffer epa-info-mode window-height set-window-buffer split-window pop-to-buffer shrink-window message "%s"] 9 "\n\n(fn INFO)"]) (defalias 'epa-display-verify-result #[257 "\300\301!!\207" [epa-display-info epg-verify-result-to-string] 4 "\n\n(fn VERIFY-RESULT)"]) (make-obsolete 'epa-display-verify-result 'epa-display-info "23.1") (defalias 'epa-passphrase-callback-function #[771 "\301=\203\302\303\304;\203\303\305\"\202\306\"\307!\310=\"\207\302\311=\203)\312\202@\313\"\211\203:\303\314A#\202>\303\315\"\262!\207" [epg-user-id-alist SYM read-passwd format "Passphrase for symmetric encryption%s: " " for %s" "" epg-context-operation encrypt PIN "Passphrase for PIN: " assoc "Passphrase for %s %s: " "Passphrase for %s: "] 9 "\n\n(fn CONTEXT KEY-ID HANDBACK)"]) (defalias 'epa-progress-callback-function #[1542 "\211\206 \300\301\"\302V\203.U\203\303\304\"\2022\303\305\306\307!\245\310_!#\2022\303\311\"\207" [format "Processing %s: " 0 message "%s...done" "%s...%d%%" floor float 100 "%s..."] 14 "\n\n(fn CONTEXT WHAT CHAR CURRENT TOTAL HANDBACK)"]) #@26 Decrypt FILE. (fn FILE) (defalias 'epa-decrypt-file #[257 "\301!\262\302!\301\303\304\305!\306Q\307!#!\310!\311\312\"\210\313\314\315\316\305 !\"B\"\210\317\316\305!\"\210\320#\210\317\321\305!\305!#\210\322\323\"\205S\324\325\322\323\"!!\207" [epa-protocol expand-file-name file-name-sans-extension read-file-name "To file (default " file-name-nondirectory ") " file-name-directory epg-make-context epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function format "Decrypting %s..." message epg-decrypt-file "Decrypting %s...wrote %s" epg-context-result-for verify epa-display-info epg-verify-result-to-string] 11 (#$ . 17626) "fFile: "]) #@25 Verify FILE. (fn FILE) (defalias 'epa-verify-file #[257 "\301!\262\302!\303!\304\232\205\305!\306\307\310\311\312!\"B\"\210\313\311\312!\"\210\314#\210\313\315\312!\"\210\316\317\"\205C\320\321\316\317\"!!\207" [epa-protocol expand-file-name epg-make-context file-name-extension "sig" file-name-sans-extension epg-context-set-progress-callback epa-progress-callback-function format "Verifying %s..." file-name-nondirectory message epg-verify-file "Verifying %s...done" epg-context-result-for verify epa-display-info epg-verify-result-to-string] 10 (#$ . 18370) "fFile: "]) (defalias 'epa--read-signature-type #[0 "\306\211\204g\307\310!\210\311 \262\211\312=\203\313\262\202\211\314=\203&\315\262\202\211\316=\203ar\317\320!q\210p\321 \210\306\211\322\211\322\323 \210\324\325!\210+\211rq\210\326c\210)\327!\210)\266\202\330\262\202\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only nil message "Signature type (n,c,d,?) " read-char 99 clear 100 detached 63 get-buffer-create "*Help*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook "n - Create a normal signature\nc - Create a cleartext signature\nd - Create a detached signature\n? - Show this help\n" internal-temp-output-buffer-show normal standard-output] 7 "\n\n(fn)"]) #@61 Sign FILE by SIGNERS keys selected. (fn FILE SIGNERS MODE) (defalias 'epa-sign-file #[771 "\303=\203# \204\304>\204\305\202.\306>\203\307\202.\310\202.\311>\203-\312\202.\313P\314!\315 \"\210\316\n\"\210\317\"\210\320\321\"\210\322\323\324\325\326\n!\"B\"\210\327\325\326!\"\210\330$\210\327\331\326!\326!#\207" [epa-protocol epa-armor epa-textmode OpenPGP (nil t normal detached) ".asc" (t detached) ".sig" ".gpg" (t detached) ".p7s" ".p7m" epg-make-context epg-context-set-armor epg-context-set-textmode epg-context-set-signers epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function format "Signing %s..." file-name-nondirectory message epg-sign-file "Signing %s...wrote %s"] 12 (#$ . 19749) (byte-code "\302\303\304!!\205\305\306 !\307\310\311$\203\312 \202\313E\207" [current-prefix-arg epa-protocol expand-file-name read-file-name "File: " epa-select-keys epg-make-context "Select keys for signing.\nIf no one is selected, default secret key is used. " nil t epa--read-signature-type clear] 7)]) #@52 Encrypt FILE for RECIPIENTS. (fn FILE RECIPIENTS) (defalias 'epa-encrypt-file #[514 "\303=\203 \203\304\202\305\202\306P\307!\310 \"\210\311\n\"\210\312\313\"\210\314\315\316\317\320 !\"B\"\210\321\317\320!\"\210\322$\210\321\323\320!\320!#\207" [epa-protocol epa-armor epa-textmode OpenPGP ".asc" ".gpg" ".p7m" epg-make-context epg-context-set-armor epg-context-set-textmode epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function format "Encrypting %s..." file-name-nondirectory message epg-encrypt-file "Encrypting %s...wrote %s"] 11 (#$ . 20882) (byte-code "\301\302\303!!\304\305!\306\"D\207" [epa-protocol expand-file-name read-file-name "File: " epa-select-keys epg-make-context "Select recipients for encryption.\nIf no one is selected, symmetric encryption will be performed. "] 4)]) #@881 Decrypt the current region between START and END. If MAKE-BUFFER-FUNCTION is non-nil, call it to prepare an output buffer. It should return that buffer. If it copies the input, it should delete the text now being decrypted. It should leave point at the proper place to insert the plaintext. Be careful about using this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data in the region should be treated, you should consider using the string based counterpart `epg-decrypt-string', or the file based counterpart `epg-decrypt-file' instead. For example: (let ((context (epg-make-context 'OpenPGP))) (decode-coding-string (epg-decrypt-string context (buffer-substring start end)) 'utf-8)) (fn START END &optional MAKE-BUFFER-FUNCTION) (defalias 'epa-decrypt-region #[770 "\212\306!\307\310\311\"\210\312\313\314B\"\210\315\314!\210\316{\"\262\315\317!\210\320 \2062\321\322\"\2062\323\"\262\203Gr q\210\324\211c\210*\202\221\325\326!\203]\324|\210b\210\211c\210)\202\221 r\327\330!q\210p\331 \210\307\211\324\211#\324$\332 \210\333\334!\210+\211%\211q\210c\210\335 \210\336!\210)\266\337\340\"\205\240\341\342\337\340\"!!\266\202)\207" [epa-protocol coding-system-for-read inhibit-read-only default-directory buffer-read-only buffer-file-name epg-make-context nil epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function "Decrypting..." message epg-decrypt-string "Decrypting...done" epa--decode-coding-string get-text-property epa-coding-system-used undecided t y-or-n-p "Replace the original text? " get-buffer-create "*Temp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook epa-info-mode internal-temp-output-buffer-show epg-context-result-for verify epa-display-info epg-verify-result-to-string buffer-undo-list inhibit-modification-hooks standard-output] 11 (#$ . 21788) "r"]) (defalias 'epa--find-coding-system-for-mime-charset #[257 "\300 \211\203\301@\302\"=\204\211A\262\202\211@\207" [coding-system-list coding-system-get mime-charset] 5 "\n\n(fn MIME-CHARSET)"]) #@195 Decrypt OpenPGP armors in the current region between START and END. Don't use this command in Lisp programs! See the reason described in the `epa-decrypt-region' documentation. (fn START END) (defalias 'epa-decrypt-armor-in-region #[514 "\212\214}\210b\210\301\211\302\303\301\304#\205J\305\224\262\302\306\301\304#\262\211\204&\307\310!\210b\210\206=\302\311\304#\205=\312\313\314\315!\227!!\211b\210\316\"\210)\202 \266\202*\207" [coding-system-for-read nil re-search-forward "-----BEGIN PGP MESSAGE-----$" t 0 "^-----END PGP MESSAGE-----$" error "Encryption armor beginning has no matching end" "^Charset: \\(.*\\)" epa--find-coding-system-for-mime-charset intern match-string 1 epa-decrypt-region] 8 (#$ . 24063) "r"]) #@589 Verify the current region between START and END. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data in the region should be treated, you should consider using the string based counterpart `epg-verify-string', or the file based counterpart `epg-verify-file' instead. For example: (let ((context (epg-make-context 'OpenPGP))) (decode-coding-string (epg-verify-string context (buffer-substring start end)) 'utf-8)) (fn START END) (defalias 'epa-verify-region #[514 "\306!\307\310\311\312B\"\210\313\312!\210\314\315{ \206 \316\317\"\"\"\262\313\320!\210\321\n\2067\316\317\"\2067\322\"\262\323\324!\203R\325\307|\210b\210\211c\210*\202\207 r\326\327!q\210p\330 \210\307\211\"\325\211#\325$\331 \210\332\333!\210+\211%\211q\210c\210\334 \210\335!\210)\266\336\337\"\205\226\340\341\336\337\"!!\207" [epa-protocol coding-system-for-write coding-system-for-read buffer-read-only inhibit-read-only default-directory epg-make-context nil epg-context-set-progress-callback epa-progress-callback-function "Verifying..." message epg-verify-string epa--encode-coding-string get-text-property epa-coding-system-used "Verifying...done" epa--decode-coding-string undecided y-or-n-p "Replace the original text? " t get-buffer-create "*Temp*" kill-all-local-variables erase-buffer run-hooks temp-buffer-setup-hook epa-info-mode internal-temp-output-buffer-show epg-context-result-for verify epa-display-info epg-verify-result-to-string buffer-file-name buffer-undo-list inhibit-modification-hooks standard-output] 12 (#$ . 24811) "r"]) #@212 Verify OpenPGP cleartext signed messages in the current region between START and END. Don't use this command in Lisp programs! See the reason described in the `epa-verify-region' documentation. (fn START END) (defalias 'epa-verify-cleartext-in-region #[514 "\212\214}\210b\210\300\211\301\302\300\303#\205:\304\224\262\301\305\300\303#\204#\306\307!\210\301\310\300\303#\262\211\2042\306\311!\210\312\"\210\202 \266\202*\207" [nil re-search-forward "-----BEGIN PGP SIGNED MESSAGE-----$" t 0 "^-----BEGIN PGP SIGNATURE-----$" error "Invalid cleartext signed message" "^-----END PGP SIGNATURE-----$" "No cleartext tail" epa-verify-region] 8 (#$ . 26536) "r"]) (byte-code "\300\301!\203\302\303\301\"\210\202\302\303\304\"\210\300\207" [fboundp select-safe-coding-system defalias epa--select-safe-coding-system #[514 "\207" [buffer-file-coding-system] 3 "\n\n(fn FROM TO)"]] 3) #@605 Sign the current region between START and END by SIGNERS keys selected. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data should be treated, you should consider using the string based counterpart `epg-sign-string', or the file based counterpart `epg-sign-file' instead. For example: (let ((context (epg-make-context 'OpenPGP))) (epg-sign-string context (encode-coding-string (buffer-substring start end) 'utf-8))) (fn START END SIGNERS MODE) (defalias 'epa-sign-region #[1028 "\212\303!\304\305\306\"\210\307\306\"\210\310\"\210\311\312\"\210\313\314\315B\"\210\316\315!\210\317\320{ \"#\262\316\321!\210|\210b\210\322`\323\n\206F \"c\210`\324 \325\304\326\306\327\306\330\306\257\n#\266\202)\207" [epa-protocol epa-last-coding-system-specified coding-system-for-read epg-make-context nil epg-context-set-armor t epg-context-set-textmode epg-context-set-signers epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function "Signing..." message epg-sign-string epa--encode-coding-string "Signing...done" add-text-properties epa--decode-coding-string epa-coding-system-used front-sticky rear-nonsticky start-open end-open] 19 (#$ . 27436) (byte-code " \206 \304\305 \306 \"\305 \306 \205\307\310 !\311\312\313$\203%\314 \202&\315F\207" [current-prefix-arg coding-system-for-write epa-last-coding-system-specified epa-protocol epa--select-safe-coding-system region-beginning region-end epa-select-keys epg-make-context "Select keys for signing.\nIf no one is selected, default secret key is used. " nil t epa--read-signature-type clear] 8)]) (byte-code "\300\301!\203\302\303\301\"\210\202\302\303\304\"\210\300\207" [fboundp derived-mode-p defalias epa--derived-mode-p #[128 "\211>\204\211\301N\211\262\204\211\207" [major-mode derived-mode-parent] 4 "Non-nil if the current major mode is derived from one of MODES.\nUses the `derived-mode-parent' property of the symbol to trace backwards.\n\n(fn &rest MODES)"]] 3) #@626 Encrypt the current region between START and END for RECIPIENTS. Don't use this command in Lisp programs! Since this function operates on regions, it does some tricks such as coding-system detection and unibyte/multibyte conversion. If you are sure how the data should be treated, you should consider using the string based counterpart `epg-encrypt-string', or the file based counterpart `epg-encrypt-file' instead. For example: (let ((context (epg-make-context 'OpenPGP))) (epg-encrypt-string context (encode-coding-string (buffer-substring start end) 'utf-8) nil)) (fn START END RECIPIENTS SIGN SIGNERS) (defalias 'epa-encrypt-region #[1285 "\212\302!\303\304\305\"\210\306\305\"\210\203\307\"\210\310\311\"\210\312\313\314B\"\210\315\314!\210\316\317  { \"$\262\315\320!\210|\210b\210\321`c\210`\322 \323\303\324\305\325\305\326\305\257\n#\266\202)\207" [epa-protocol epa-last-coding-system-specified epg-make-context nil epg-context-set-armor t epg-context-set-textmode epg-context-set-signers epg-context-set-passphrase-callback epa-passphrase-callback-function epg-context-set-progress-callback epa-progress-callback-function "Encrypting..." message epg-encrypt-string epa--encode-coding-string "Encrypting...done" add-text-properties epa-coding-system-used front-sticky rear-nonsticky start-open end-open] 20 (#$ . 29633) (byte-code "\304 !\305\n\206\306\307 \310 \"\307 \310 \311\312\"\205\313\314!\211\262\205+\311\315\"\257\207" [current-prefix-arg epa-protocol coding-system-for-write epa-last-coding-system-specified epg-make-context nil epa--select-safe-coding-system region-beginning region-end epa-select-keys "Select recipients for encryption.\nIf no one is selected, symmetric encryption will be performed. " y-or-n-p "Sign? " "Select keys for signing. "] 10)]) #@57 Delete selected KEYS. (fn KEYS &optional ALLOW-SECRET) (defalias 'epa-delete-keys #[513 "\302!\303\304!\210\305#\210\303\306!\210\307\310 \"\207" [epa-protocol epa-list-keys-arguments epg-make-context message "Deleting..." epg-delete-keys "Deleting...done" apply epa--list-keys] 7 (#$ . 31478) (byte-code "\301 \211\204\n\302\303!\210\211A@\304=D\207" [epa-list-keys-arguments epa--marked-keys error "No keys selected" t] 4)]) #@35 Import keys from FILE. (fn FILE) (defalias 'epa-import-keys #[257 "\211C\211\303@!\240\210\304!\305\306\307@!\"\210\310\311\312\313\314\315\316\"\317\"\320\321%D\322\311\312\323\324\315\316\n!\325\"\326\327%\310EDC\217\210\330\331\"\203K\332\333\330\331\"!!\210 \334=\205U\335\336\n\"\262\207" [epa-protocol major-mode epa-list-keys-arguments expand-file-name epg-make-context message "Importing %s..." file-name-nondirectory #1=#:err funcall make-byte-code 0 "\302\301\300@\"\210\303\304\305\300@!\"\207" vconcat vector [epg-import-keys-from-file message "Importing %s...done" file-name-nondirectory] 4 "\n\n(fn)" error 257 "\301\302\303\300@!\"\207" [message "Importing %s...failed" file-name-nondirectory] 5 "\n\n(fn IGNORED)" epg-context-result-for import epa-display-info epg-import-result-to-string epa-key-list-mode apply epa--list-keys] 13 (#$ . 31918) "fFile: "]) #@46 Import keys from the region. (fn START END) (defalias 'epa-import-keys-region #[514 "\301!\302\303!\210\304\305\306\307\310\311\312   #\313\"\314\315%D\316\305\317\304EDC\217\210\320\321\"\2053\322\323\320\321\"!!\207" [epa-protocol epg-make-context message "Importing..." #1=#:err funcall make-byte-code 0 "\303\302\300\301{\"\210\304\305!\207" vconcat vector [epg-import-keys-from-string message "Importing...done"] 4 "\n\n(fn)" error #[257 "\300\301!\207" [message "Importing...failed"] 3 "\n\n(fn IGNORED)"] epg-context-result-for import epa-display-info epg-import-result-to-string] 13 (#$ . 32811) "r"]) #@102 Import keys in the OpenPGP armor format in the current region between START and END. (fn START END) (defalias 'epa-import-armor-in-region #[514 "\212\214}\210b\210\300\211\301\302\300\303#\2053\304\224\262\301\305\306\307!\310Q\300\303#\262\211\204+\311\312!\210\313\"\210\202 \266\202*\207" [nil re-search-forward "-----BEGIN \\(PGP \\(PUBLIC\\|PRIVATE\\) KEY BLOCK\\)-----$" t 0 "^-----END " match-string 1 "-----$" error "No armor tail" epa-import-keys-region] 8 (#$ . 33436) "r"]) #@47 Export selected KEYS to FILE. (fn KEYS FILE) (defalias 'epa-export-keys #[514 "\302!\303 \"\210\304\305\306!\"\210\307#\210\304\310\306!\"\207" [epa-protocol epa-armor epg-make-context epg-context-set-armor message "Exporting to %s..." file-name-nondirectory epg-export-keys-to-file "Exporting to %s...done"] 7 (#$ . 33938) (byte-code "\302 \303\204 \304\305!\210\306\307\310@!@!\203\311\202\312P \"\262\306\313\314\315!\316Q\317!#!D\207" [epa-armor default-directory epa--marked-keys nil error "No keys selected" expand-file-name epg-sub-key-id epg-key-sub-key-list ".asc" ".gpg" read-file-name "To file (default " file-name-nondirectory ") " file-name-directory] 8)]) #@50 Insert selected KEYS after the point. (fn KEYS) (defalias 'epa-insert-keys #[257 "\301!\302\303\"\210\304\"c\207" [epa-protocol epg-make-context epg-context-set-armor t epg-export-keys-to-string] 5 (#$ . 34635) (byte-code "\301\302!\303\"C\207" [epa-protocol epa-select-keys epg-make-context "Select keys to export.\nIf no one is selected, default public key is exported. "] 3)]) (provide 'epa)