PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/usr/share/emacs/26.1/lisp/net/
Upload File :
Current File : //usr/share/emacs/26.1/lisp/net/tramp.elc
;ELC
;;; Compiled
;;; in Emacs version 26.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\303\304\305\306\307\310\307\311\312\313\314\315&\210\316\317\320\321\322DD\323\307\304\324\325\326\304&	\210\316\327\320\321\330DD\331\307\304\324\332\326\304&	\210\316\333\320\321\334DD\335\307\304\324\336\326\304&	\210\316\337\320\321\340DD\341\307\304\324\342\326\304&	\210\316\343\320\321\344DD\345\307\304\324\346\326\304&	\210\316\347\320\321\350DD\351\307\304\324\352\326\304&	\210\316\353\320\321\354DD\355\314\356\307\304\324\357\326\304&\207" [require tramp-compat cl-lib custom-declare-group tramp nil "Edit remote files with a combination of ssh, scp, etc." :group files comm :link (custom-manual "(tramp)Top") :version "22.1" custom-declare-variable tramp-mode funcall function #[0 "\300\207" [t] 1] "Whether Tramp is enabled.\nIf it is set to nil, all remote file names are used literally." :type boolean :require tramp-verbose #[0 "\300\207" [3] 1] "Verbosity level for Tramp messages.\nAny level x includes messages for all levels 1 .. x-1.  The levels are\n\n 0  silent (no tramp messages at all)\n 1  errors\n 2  warnings\n 3  connection to remote hosts (default level)\n 4  activities\n 5  internal\n 6  sent and received strings\n 7  file caching\n 8  connection properties\n 9  test commands\n10  traces (huge)." integer tramp-backup-directory-alist #[0 "\300\207" [nil] 1] "Alist of filename patterns and backup directory names.\nEach element looks like (REGEXP . DIRECTORY), with the same meaning like\nin `backup-directory-alist'.  If a Tramp file is backed up, and DIRECTORY\nis a local file name, the backup directory is prepended with Tramp file\nname prefix (method, user, host) of file.\n\n(setq tramp-backup-directory-alist backup-directory-alist)\n\ngives the same backup policy for Tramp files on their hosts like the\npolicy for local files." (repeat (cons (regexp :tag "Regexp matching filename") (directory :tag "Backup directory name"))) tramp-auto-save-directory #[0 "\300\207" [nil] 1] "Put auto-save files in this directory, if set.\nThe idea is to use a local directory so that auto-saving is faster.\nThis setting has precedence over `auto-save-file-name-transforms'." (choice (const :tag "Use default" nil) (directory :tag "Auto save directory name")) tramp-encoding-shell #[0 "\300\301!\203\301 \206\f\302\207" [functionp w32-shell-name "/bin/sh"] 2] "Use this program for encoding and decoding commands on the local host.\nThis shell is used to execute the encoding and decoding command on the\nlocal host, so if you want to use `~' in those commands, you should\nchoose a shell here which groks tilde expansion.  `/bin/sh' normally\ndoes not understand tilde expansion.\n\nFor encoding and decoding, commands like the following are executed:\n\n    /bin/sh -c COMMAND < INPUT > OUTPUT\n\nThis variable can be used to change the \"/bin/sh\" part.  See the\nvariable `tramp-encoding-command-switch' for the \"-c\" part.\n\nIf the shell must be forced to be interactive, see\n`tramp-encoding-command-interactive'.\n\nNote that this variable is not used for remote commands.  There are\nmechanisms in tramp.el which automatically determine the right shell to\nuse for the remote host." (file :must-match t) tramp-encoding-command-switch #[0 "\300\301!\203
\301 \203
\302\207\303\207" [functionp w32-shell-dos-semantics "/c" "-c"] 2] "Use this switch together with `tramp-encoding-shell' for local commands.\nSee the variable `tramp-encoding-shell' for more information." string tramp-encoding-command-interactive #[0 "\300\301!\205\301 ?\205
\302\207" [functionp w32-shell-dos-semantics "-i"] 2] "Use this switch together with `tramp-encoding-shell' for interactive shells.\nSee the variable `tramp-encoding-shell' for more information." "24.1" (choice (const nil) string)] 12)
#@6056 Alist of methods for remote files.
This is a list of entries of the form (NAME PARAM1 PARAM2 ...).
Each NAME stands for a remote access method.  Each PARAM is a
pair of the form (KEY VALUE).  The following KEYs are defined:
  * `tramp-remote-shell'
    This specifies the shell to use on the remote host.  This
    MUST be a Bourne-like shell.  It is normally not necessary to
    set this to any value other than "/bin/sh": Tramp wants to
    use a shell which groks tilde expansion, but it can search
    for it.  Also note that "/bin/sh" exists on all Unixen,
    this might not be true for the value that you decide to use.
    You Have Been Warned.
  * `tramp-remote-shell-login'
    This specifies the arguments to let `tramp-remote-shell' run
    as a login shell.  It defaults to ("-l"), but some shells,
    like ksh, require another argument.  See
    `tramp-connection-properties' for a way to overwrite the
    default value.
  * `tramp-remote-shell-args'
    For implementation of `shell-command', this specifies the
    arguments to let `tramp-remote-shell' run a single command.
  * `tramp-login-program'
    This specifies the name of the program to use for logging in to the
    remote host.  This may be the name of rsh or a workalike program,
    or the name of telnet or a workalike, or the name of su or a workalike.
  * `tramp-login-args'
    This specifies the list of arguments to pass to the above
    mentioned program.  Please note that this is a list of list of arguments,
    that is, normally you don't want to put "-a -b" or "-f foo"
    here.  Instead, you want a list ("-a" "-b"), or ("-f" "foo").
    There are some patterns: "%h" in this list is replaced by the host
    name, "%u" is replaced by the user name, "%p" is replaced by the
    port number, and "%%" can be used to obtain a literal percent character.
    If a list containing "%h", "%u" or "%p" is unchanged during
    expansion (i.e. no host or no user specified), this list is not used as
    argument.  By this, arguments like ("-l" "%u") are optional.
    "%t" is replaced by the temporary file name produced with
    `tramp-make-tramp-temp-file'.  "%k" indicates the keep-date
    parameter of a program, if exists.  "%c" adds additional
    `tramp-ssh-controlmaster-options' options for the first hop.
  * `tramp-login-env'
     A list of environment variables and their values, which will
     be set when calling `tramp-login-program'.
  * `tramp-async-args'
    When an asynchronous process is started, we know already that
    the connection works.  Therefore, we can pass additional
    parameters to suppress diagnostic messages, in order not to
    tamper the process output.
  * `tramp-copy-program'
    This specifies the name of the program to use for remotely copying
    the file; this might be the absolute filename of scp or the name of
    a workalike program.  It is always applied on the local host.
  * `tramp-copy-args'
    This specifies the list of parameters to pass to the above mentioned
    program, the hints for `tramp-login-args' also apply here.
  * `tramp-copy-env'
     A list of environment variables and their values, which will
     be set when calling `tramp-copy-program'.
  * `tramp-remote-copy-program'
    The listener program to be applied on remote side, if needed.
  * `tramp-remote-copy-args'
    The list of parameters to pass to the listener program, the hints
    for `tramp-login-args' also apply here.  Additionally, "%r" could
    be used here and in `tramp-copy-args'.  It denotes a randomly
    chosen port for the remote listener.
  * `tramp-copy-keep-date'
    This specifies whether the copying program when the preserves the
    timestamp of the original file.
  * `tramp-copy-keep-tmpfile'
    This specifies whether a temporary local file shall be kept
    for optimization reasons (useful for "rsync" methods).
  * `tramp-copy-recursive'
    Whether the operation copies directories recursively.
  * `tramp-default-port'
    The default port of a method.
  * `tramp-tmpdir'
    A directory on the remote host for temporary files.  If not
    specified, "/tmp" is taken as default.
  * `tramp-connection-timeout'
    This is the maximum time to be spent for establishing a connection.
    In general, the global default value shall be used, but for
    some methods, like "su" or "sudo", a shorter timeout
    might be desirable.
  * `tramp-case-insensitive'
    Whether the remote file system handles file names case insensitive.
    Only a non-nil value counts, the default value nil means to
    perform further checks on the remote host.  See
    `tramp-connection-properties' for a way to overwrite this.

What does all this mean?  Well, you should specify `tramp-login-program'
for all methods; this program is used to log in to the remote site.  Then,
there are two ways to actually transfer the files between the local and the
remote side.  One way is using an additional scp-like program.  If you want
to do this, set `tramp-copy-program' in the method.

Another possibility for file transfer is inline transfer, i.e. the
file is passed through the same buffer used by `tramp-login-program'.  In
this case, the file contents need to be protected since the
`tramp-login-program' might use escape codes or the connection might not
be eight-bit clean.  Therefore, file contents are encoded for transit.
See the variables `tramp-local-coding-commands' and
`tramp-remote-coding-commands' for details.

So, to summarize: if the method is an out-of-band method, then you
must specify `tramp-copy-program' and `tramp-copy-args'.  If it is an
inline method, then these two parameters should be nil.

Notes:

When using `su' or `sudo' the phrase "open connection to a remote
host" sounds strange, but it is used nevertheless, for consistency.
No connection is opened to a remote host, but `su' or `sudo' is
started on the local host.  You should specify a remote host
`localhost' or the name of the local host.  Another host name is
useful only in combination with `tramp-default-proxies-alist'.
(defvar tramp-methods nil (#$ . 4178))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\307&	\210\300\313\302\303\314DD\315\306\307\310\316\312\307&	\207" [custom-declare-variable tramp-default-method funcall function #[0 "\301=\203\302\303!\203\303\207\302\304!\203\304\207\305\207" [system-type windows-nt executable-find "pscp" "scp" "ftp"] 2] "Default method to use for transferring files.\nSee `tramp-methods' for possibilities.\nAlso see `tramp-default-method-alist'." :group tramp :type string :require tramp-default-method-alist #[0 "\300\207" [nil] 1] "Default method to use for specific host/user pairs.\nThis is an alist of items (HOST USER METHOD).  The first matching item\nspecifies the method to use for a file name which does not specify a\nmethod.  HOST and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-method' takes effect.\n\nIf the file name does not specify the user, lookup is done using the\nempty string for the user name.\n\nSee `tramp-methods' for a list of possibilities for METHOD." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag "Method name" string (const nil))))] 10)
#@49 Marker for default method in remote file names.
(defconst tramp-default-method-marker "-" (#$ . 11526))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\307&	\210\300\313\302\303\314DD\315\306\307\310\316\312\307&	\210\300\317\302\303\320DD\321\306\307\310\322\312\307&	\210\300\323\302\303\324DD\325\306\307\326\327\310\330\312\307&\210\300\331\302\303\332DD\333\306\307\310\334\312\307&	\210\300\335\302\303\336DD\337\306\307\326\340\310\341\312\307&\210\300\342\302\303\343DD\344\326\340\306\307\310\345\312\307&\207" [custom-declare-variable tramp-default-user funcall function #[0 "\300\207" [nil] 1] "Default user to use for transferring files.\nIt is nil by default; otherwise settings in configuration files like\n\"~/.ssh/config\" would be overwritten.  Also see `tramp-default-user-alist'.\n\nThis variable is regarded as obsolete, and will be removed soon." :group tramp :type (choice (const nil) string) :require tramp-default-user-alist #[0 "\300\207" [nil] 1] "Default user to use for specific method/host pairs.\nThis is an alist of items (METHOD HOST USER).  The first matching item\nspecifies the user to use for a file name which does not specify a\nuser.  METHOD and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-user' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  Host regexp" regexp sexp) (choice :tag "    User name" string (const nil)))) tramp-default-host #[0 "\300 \207" [system-name] 1] "Default host to use for transferring files.\nUseful for su and sudo methods mostly." string tramp-default-host-alist #[0 "\300\207" [nil] 1] "Default host to use for specific method/user pairs.\nThis is an alist of items (METHOD USER HOST).  The first matching item\nspecifies the host to use for a file name which does not specify a\nhost.  METHOD and HOST are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-host' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." :version "24.4" (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  User regexp" regexp sexp) (choice :tag "    Host name" string (const nil)))) tramp-default-proxies-alist #[0 "\300\207" [nil] 1] "Route to be followed for specific host/user pairs.\nThis is an alist of items (HOST USER PROXY).  The first matching\nitem specifies the proxy to be passed for a file name located on\na remote target matching USER@HOST.  HOST and USER are regular\nexpressions.  PROXY must be a Tramp filename without a localname\npart.  Method and user name on PROXY are optional, which is\ninterpreted with the default values.  PROXY can contain the\npatterns %h and %u, which are replaced by the strings matching\nHOST or USER, respectively.\n\nHOST, USER or PROXY could also be Lisp forms, which will be\nevaluated.  The result must be a string or nil, which is\ninterpreted as a regular expression which always matches." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag " Proxy name" string (const nil)))) tramp-save-ad-hoc-proxies #[0 "\300\207" [nil] 1] "Whether to save ad-hoc proxies persistently." "24.3" boolean tramp-restricted-shell-hosts-alist #[0 "\301>\205\302\303\304 !\305QC\207" [system-type (windows-nt) "\\`" regexp-quote system-name "\\'"] 3] "List of hosts, which run a restricted shell.\nThis is a list of regular expressions, which denote hosts running\na registered shell like \"rbash\".  Those hosts can be used as\nproxies only, see `tramp-default-proxies-alist'.  If the local\nhost runs a registered shell, it shall be added to this list, too." (repeat (regexp :tag "Host regexp"))] 12)
#@46 Host names which are regarded as local host.
(defconst tramp-local-host-regexp (byte-code "\300\301\302\303\304 \305\306\257\307\"\310Q\207" ["\\`" regexp-opt "localhost" "localhost6" system-name "127.0.0.1" "::1" t "\\'"] 7) (#$ . 15537))
#@1013 Alist of methods for remote files.
This is a list of entries of the form (NAME PAIR1 PAIR2 ...).
Each NAME stands for a remote access method.  Each PAIR is of the form
(FUNCTION FILE).  FUNCTION is responsible to extract user names and host
names from FILE for completion.  The following predefined FUNCTIONs exists:

 * `tramp-parse-rhosts'      for "~/.rhosts" like files,
 * `tramp-parse-shosts'      for "~/.ssh/known_hosts" like files,
 * `tramp-parse-sconfig'     for "~/.ssh/config" like files,
 * `tramp-parse-shostkeys'   for "~/.ssh2/hostkeys/*" like files,
 * `tramp-parse-sknownhosts' for "~/.ssh2/knownhosts/*" like files,
 * `tramp-parse-hosts'       for "/etc/hosts" like files,
 * `tramp-parse-passwd'      for "/etc/passwd" like files.
 * `tramp-parse-etc-group'   for "/etc/group" like files.
 * `tramp-parse-netrc'       for "~/.netrc" like files.
 * `tramp-parse-putty'       for PuTTY registered sessions.

FUNCTION can also be a user defined function.  For more details see
the info pages.
(defvar tramp-completion-function-alist nil (#$ . 15786))
#@44 String marker to surround echoed commands.
(defconst tramp-echo-mark-marker "_echo" (#$ . 16862))
#@44 String length of `tramp-echo-mark-marker'.
(defconst tramp-echo-mark-marker-length (length tramp-echo-mark-marker) (#$ . 16966))
#@437 String mark to be transmitted around shell commands.
Used to separate their echo from the output they produce.  This
will only be used if we cannot disable remote echo via stty.
This string must have no effect on the remote shell except for
producing some echo which can later be detected by
`tramp-echoed-echo-mark-regexp'.  Using `tramp-echo-mark-marker',
followed by an equal number of backspaces to erase them will
usually suffice.
(defconst tramp-echo-mark (byte-code "\302	\303\"P\207" [tramp-echo-mark-marker tramp-echo-mark-marker-length make-string 8] 4) (#$ . 17102))
#@79 Regexp which matches `tramp-echo-mark' as it gets echoed by
the remote shell.
(defconst tramp-echoed-echo-mark-regexp (format "%s\\(\\( \\)?\\)\\{%d\\}" tramp-echo-mark-marker tramp-echo-mark-marker-length) (#$ . 17687))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\311&\210\300\315\302\303\316DD\317\310\311\312\313\314\311&	\210\300\320\302\303\321DD\322\310\311\312\323\314\311&	\210\300\324\302\303\325DD\326\310\311\312\323\314\311&	\210\300\327\302\303\330DD\331\306\332\310\311\312\323\314\311&\210\300\333\302\303\334DD\335\310\311\312\323\314\311&	\210\300\336\302\303\337DD\340\310\311\312\323\314\311&	\210\300\341\302\303\342DD\343\310\311\312\323\314\311&	\210\300\344\302\303\345DD\346\310\311\312\323\314\311&	\210\300\347\302\303\350DD\351\310\311\312\323\314\311&	\210\300\352\302\303\353DD\354\310\311\312\323\314\311&	\210\300\355\302\303\356DD\357\310\311\312\323\314\311&	\207" [custom-declare-variable tramp-local-end-of-line funcall function #[0 "\301>\203\302\207\303\207" [system-type (windows-nt) "
\n" "\n"] 2] "String used for end of line in local processes." :version "24.1" :group tramp :type string :require tramp-rsh-end-of-line #[0 "\300\207" [#1="\n"] 1 #1#] "String used for end of line in rsh connections.\nI don't think this ever needs to be changed, so please tell me about it\nif you need to change this." tramp-login-prompt-regexp #[0 "\300\207" [#2=".*\\(user\\|login\\)\\( .*\\)?: *"] 1 #2#] "Regexp matching login-like prompts.\nThe regexp should match at end of buffer.\n\nSometimes the prompt is reported to look like \"login as:\"." regexp tramp-shell-prompt-pattern #[0 "\300\207" ["\\(?:^\\|
\\)[^]#$%>\n]*#?[]#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*"] 1] "Regexp to match prompts from remote shell.\nNormally, Tramp expects you to configure `shell-prompt-pattern'\ncorrectly, but sometimes it happens that you are connecting to a\nremote host which sends a different kind of shell prompt.  Therefore,\nTramp recognizes things matched by `shell-prompt-pattern' as prompt,\nand also things matched by this variable.  The default value of this\nvariable is similar to the default value of `shell-prompt-pattern',\nwhich should work well in many cases.\n\nThis regexp must match both `tramp-initial-end-of-output' and\n`tramp-end-of-output'." tramp-password-prompt-regexp #[0 "\301\302\303\304\300!\203
\206\305!\"\207" [password-word-equivalents format "^.*\\(%s\\).*:? *" regexp-opt boundp ("password" "passphrase")] 5] "Regexp matching password-like prompts.\nThe regexp should match at end of buffer.\n\nThe `sudo' program appears to insert a `^@' character into the prompt." "24.4" tramp-wrong-passwd-regexp #[0 "\300\207" ["^.*\\(Connection \\(?:\\(?:clo\\|refu\\)sed\\)\\|Host key verification failed\\.\\|Login \\(?:[Ii]ncorrect\\)\\|N\\(?:ame or service not known\\|o supported authentication methods left to try!\\)\\|Permission denied\\|\\(?:Sorry, try again\\|Timeout, server not responding\\)\\.\\).*\\|^.*\\(Received signal [0-9]+\\).*"] 1] "Regexp matching a `login failed' message.\nThe regexp should match at end of buffer." tramp-yesno-prompt-regexp #[0 "\300\207" ["\\(Are you sure you want to continue connecting (yes/no)\\?\\)\\s-*"] 1] "Regular expression matching all yes/no queries which need to be confirmed.\nThe confirmation should be done with yes or no.\nThe regexp should match at end of buffer.\nSee also `tramp-yn-prompt-regexp'." tramp-yn-prompt-regexp #[0 "\300\207" ["\\(\\(?:Store key in cache\\? (y/\\|Update cached key\\? (y/n, Return cancels connectio\\)n)\\)\\s-*"] 1] "Regular expression matching all y/n queries which need to be confirmed.\nThe confirmation should be done with y or n.\nThe regexp should match at end of buffer.\nSee also `tramp-yesno-prompt-regexp'." tramp-terminal-prompt-regexp #[0 "\300\207" ["\\(TERM = (.*)\\|Terminal type\\? \\[.*\\]\\)\\s-*"] 1] "Regular expression matching all terminal setting prompts.\nThe regexp should match at end of buffer.\nThe answer will be provided by `tramp-action-terminal', which see." tramp-operation-not-permitted-regexp #[0 "\300\207" ["\\(preserving times.*\\|set mode\\):\\s-*\\(Operation not permitted\\)"] 1] "Regular expression matching keep-date problems in (s)cp operations.\nCopying has been performed successfully already, so this message can\nbe ignored safely." tramp-copy-failed-regexp #[0 "\300\207" ["\\(.+: \\(No such file or directory\\|Permission denied\\|is a directory\\|not a regular file\\)\\)\\s-*"] 1] "Regular expression matching copy problems in (s)cp operations." tramp-process-alive-regexp #[0 "\300\207" [#3=""] 1 #3#] "Regular expression indicating a process has finished.\nIn fact this expression is empty by intention, it will be used only to\ncheck regularly the status of the associated process.\nThe answer will be provided by `tramp-action-process-alive',\n`tramp-action-out-of-band', which see."] 12)
#@317 Prefix to use for temporary files.
If this is a relative file name (such as "tramp."), it is considered
relative to the directory name returned by the function
`tramp-compat-temporary-file-directory' (which see).  It may also be an
absolute file name; don't forget to include a prefix for the filename
part, though.
(defconst tramp-temp-name-prefix "tramp." (#$ . 22606))
#@102 Buffer name for a temporary buffer.
It shall be used in combination with `generate-new-buffer-name'.
(defconst tramp-temp-buffer-name " *tramp temp*" (#$ . 22985))
#@82 File name of a persistent local temporary file.
Useful for "rsync" like methods.
(defvar tramp-temp-buffer-file-name nil (#$ . 23155))
(byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311DD\312\313\314\315\316\317\320\321\322\323\314\324\325\326\327&\207" [make-variable-buffer-local tramp-temp-buffer-file-name put permanent-local t custom-declare-variable tramp-syntax funcall function #[0 "\300\207" [default] 1] "Tramp filename syntax to be used.\n\nIt can have the following values:\n\n  `default'    -- Default syntax\n  `simplified' -- Ange-FTP like syntax\n  `separate'   -- Syntax as defined for XEmacs originally\n\nDo not change the value by `setq', it must be changed only via\nCustomize.  See also `tramp-change-syntax'." :group tramp :version "26.1" :package-version (Tramp . "2.3.3") :type (choice (const :tag "Default" default) (const :tag "Ange-FTP" simplified) (const :tag "XEmacs" separate)) :require :initialize custom-initialize-set :set tramp-set-syntax] 18)
#@143 Set SYMBOL to value VALUE.
Used in user option `tramp-syntax'.  There are further variables
to be set, depending on VALUE.

(fn SYMBOL VALUE)
(defalias 'tramp-set-syntax #[514 "\211\306 >\204\307\310\311\312\313\314!\203\314\202\315%\266J=\204'\316 \210\317\"\210\320 \321 \322 \323 \324 \325  \326 !\327 \"\330 #\331 $\332 %\333 &\334 '\335 (\336 )\337 \207" [tramp-syntax tramp-prefix-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-format tramp-postfix-method-regexp tramp-syntax-values "Wrong `tramp-syntax' %s" nil apply tramp-error fboundp user-error error tramp-cleanup-all-buffers set-default tramp-build-prefix-format tramp-build-prefix-regexp tramp-build-method-regexp tramp-build-postfix-method-format tramp-build-postfix-method-regexp tramp-build-prefix-ipv6-format tramp-build-prefix-ipv6-regexp tramp-build-postfix-ipv6-format tramp-build-postfix-ipv6-regexp tramp-build-postfix-host-format tramp-build-postfix-host-regexp tramp-build-remote-file-name-spec-regexp tramp-build-file-name-structure tramp-build-file-name-regexp tramp-build-completion-file-name-regexp tramp-register-file-name-handlers tramp-prefix-ipv6-format tramp-prefix-ipv6-regexp tramp-postfix-ipv6-format tramp-postfix-ipv6-regexp tramp-postfix-host-format tramp-postfix-host-regexp tramp-remote-file-name-spec-regexp tramp-file-name-structure tramp-file-name-regexp tramp-completion-file-name-regexp] 11 (#$ . 24158)])
(eval-after-load 'tramp #[0 "\300\301\302 \"\207" [tramp-set-syntax tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 ("/builddir/build/BUILD/emacs-26.1/lisp/net/tramp-compat.elc" . 7405)]] 3])
#@50 Return possible values of `tramp-syntax', a list
(defalias 'tramp-syntax-values #[0 "\300\301NA\302\303\"\262\302\304\"\211\262\207" [tramp-syntax custom-type mapcar last car] 4 (#$ . 25954)])
#@133 Look up a syntax string in ALIST according to `tramp-compat-tramp-syntax.'
Raise an error if `tramp-syntax' is invalid.

(fn ALIST)
(defalias 'tramp-lookup-syntax #[257 "\301 \236A\206\f\302\303\"\207" [tramp-syntax #[0 "\301\267\202\n\302\207\303\207\207" [tramp-syntax #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (ftp 6 sep 8)) default separate] 2 ("/builddir/build/BUILD/emacs-26.1/lisp/net/tramp-compat.elc" . 7405)] error "Wrong `tramp-syntax' %s"] 4 (#$ . 26158)])
#@67 Alist mapping Tramp syntax to strings beginning Tramp file names.
(defconst tramp-prefix-format-alist '((default . "/") (simplified . "/") (separate . "/[")) (#$ . 26682))
(defalias 'tramp-build-prefix-format #[0 "\301!\207" [tramp-prefix-format-alist tramp-lookup-syntax] 2])
#@95 String matching the very beginning of Tramp file names.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-prefix-format (tramp-build-prefix-format) (#$ . 26966))
(defalias 'tramp-build-prefix-regexp #[0 "\301\302!P\207" [tramp-prefix-format "^" regexp-quote] 3])
#@123 Regexp matching the very beginning of Tramp file names.
Should always start with "^". Derived from `tramp-prefix-format'.
(defvar tramp-prefix-regexp (tramp-build-prefix-regexp) (#$ . 27239))
#@69 Alist mapping Tramp syntax to regexps matching methods identifiers.
(defconst tramp-method-regexp-alist '((default . "[a-zA-Z0-9-]+") (simplified . "") (separate . "[a-zA-Z0-9-]*")) (#$ . 27437))
(defalias 'tramp-build-method-regexp #[0 "\301!\207" [tramp-method-regexp-alist tramp-lookup-syntax] 2])
#@81 Regexp matching methods identifiers.
The `ftp' syntax does not support methods.
(defvar tramp-method-regexp (tramp-build-method-regexp) (#$ . 27745))
#@63 Alist mapping Tramp syntax to the delimiter after the method.
(defconst tramp-postfix-method-format-alist '((default . ":") (simplified . "") (separate . "/")) (#$ . 27901))
(defalias 'tramp-build-postfix-method-format #[0 "\301!\207" [tramp-postfix-method-format-alist tramp-lookup-syntax] 2])
#@147 String matching delimiter between method and user or host names.
The `ftp' syntax does not support methods.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-method-format (tramp-build-postfix-method-format) (#$ . 28204))
(defalias 'tramp-build-postfix-method-regexp #[0 "\301!\207" [tramp-postfix-method-format regexp-quote] 2])
#@110 Regexp matching delimiter between method and user or host names.
Derived from `tramp-postfix-method-format'.
(defvar tramp-postfix-method-regexp (tramp-build-postfix-method-regexp) (#$ . 28552))
#@29 Regexp matching user names.
(defconst tramp-user-regexp "[^/|: 	]+" (#$ . 28753))
#@58 String matching delimiter between user and domain names.
(defconst tramp-prefix-domain-format "%" (#$ . 28841))
#@101 Regexp matching delimiter between user and domain names.
Derived from `tramp-prefix-domain-format'.
(defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) (#$ . 28960))
#@31 Regexp matching domain names.
(defconst tramp-domain-regexp "[a-zA-Z0-9_.-]+" (#$ . 29159))
#@47 Regexp matching user names with domain names.
(defconst tramp-user-with-domain-regexp (concat #1="\\(" tramp-user-regexp #2="\\)" tramp-prefix-domain-regexp #1# tramp-domain-regexp #2#) (#$ . 29257))
#@94 String matching delimiter between user and host names.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-user-format "@" (#$ . 29463))
#@98 Regexp matching delimiter between user and host names.
Derived from `tramp-postfix-user-format'.
(defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) (#$ . 29616))
#@29 Regexp matching host names.
(defconst tramp-host-regexp "[a-zA-Z0-9_.%-]+" (#$ . 29810))
#@65 Alist mapping Tramp syntax to strings prefixing IPv6 addresses.
(defconst tramp-prefix-ipv6-format-alist '((default . "[") (simplified . "[") (separate . "")) (#$ . 29905))
(defalias 'tramp-build-prefix-ipv6-format #[0 "\301!\207" [tramp-prefix-ipv6-format-alist tramp-lookup-syntax] 2])
#@89 String matching left hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-prefix-ipv6-format (tramp-build-prefix-ipv6-format) (#$ . 30200))
(defalias 'tramp-build-prefix-ipv6-regexp #[0 "\301!\207" [tramp-prefix-ipv6-format regexp-quote] 2])
#@92 Regexp matching left hand side of IPv6 addresses.
Derived from `tramp-prefix-ipv6-format'.
(defvar tramp-prefix-ipv6-regexp (tramp-build-prefix-ipv6-regexp) (#$ . 30477))
#@33 Regexp matching IPv6 addresses.
(defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" (#$ . 30654))
#@58 Alist mapping Tramp syntax to suffix for IPv6 addresses.
(defconst tramp-postfix-ipv6-format-alist '((default . "]") (simplified . "]") (separate . "")) (#$ . 30781))
(defalias 'tramp-build-postfix-ipv6-format #[0 "\301!\207" [tramp-postfix-ipv6-format-alist tramp-lookup-syntax] 2])
#@90 String matching right hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-ipv6-format (tramp-build-postfix-ipv6-format) (#$ . 31072))
(defalias 'tramp-build-postfix-ipv6-regexp #[0 "\301!\207" [tramp-postfix-ipv6-format regexp-quote] 2])
#@94 Regexp matching right hand side of IPv6 addresses.
Derived from `tramp-postfix-ipv6-format'.
(defvar tramp-postfix-ipv6-regexp (tramp-build-postfix-ipv6-regexp) (#$ . 31354))
#@64 String matching delimiter between host names and port numbers.
(defconst tramp-prefix-port-format "#" (#$ . 31535))
#@105 Regexp matching delimiter between host names and port numbers.
Derived from `tramp-prefix-port-format'.
(defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) (#$ . 31658))
#@31 Regexp matching port numbers.
(defconst tramp-port-regexp "[0-9]+" (#$ . 31857))
#@47 Regexp matching host names with port numbers.
(defconst tramp-host-with-port-regexp (concat #1="\\(" tramp-host-regexp #2="\\)" tramp-prefix-port-regexp #1# tramp-port-regexp #2#) (#$ . 31944))
#@57 String matching delimiter after ad-hoc hop definitions.
(defconst tramp-postfix-hop-format "|" (#$ . 32144))
#@98 Regexp matching delimiter after ad-hoc hop definitions.
Derived from `tramp-postfix-hop-format'.
(defconst tramp-postfix-hop-regexp (regexp-quote tramp-postfix-hop-format) (#$ . 32259))
#@69 Alist mapping Tramp syntax to strings between host and local names.
(defconst tramp-postfix-host-format-alist '((default . ":") (simplified . ":") (separate . "]")) (#$ . 32451))
(defalias 'tramp-build-postfix-host-format #[0 "\301!\207" [tramp-postfix-host-format-alist tramp-lookup-syntax] 2])
#@100 String matching delimiter between host names and localnames.
Used in `tramp-make-tramp-file-name'.
(defvar tramp-postfix-host-format (tramp-build-postfix-host-format) (#$ . 32755))
(defalias 'tramp-build-postfix-host-regexp #[0 "\301!\207" [tramp-postfix-host-format regexp-quote] 2])
#@104 Regexp matching delimiter between host names and localnames.
Derived from `tramp-postfix-host-format'.
(defvar tramp-postfix-host-regexp (tramp-build-postfix-host-regexp) (#$ . 33048))
#@29 Regexp matching localnames.
(defconst tramp-localname-regexp ".*$" (#$ . 33239))
#@48 String used to denote an unknown user or group
(defconst tramp-unknown-id-string "UNKNOWN" (#$ . 33326))
#@49 Integer used to denote an unknown user or group
(defconst tramp-unknown-id-integer -1 (#$ . 33437))
#@125 Construct a regexp matching a Tramp file name for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value.
(defalias 'tramp-build-remote-file-name-spec-regexp #[0 "\306\307	\310\306\n\307\311\306\310\f\312
\310\311\f\307\310
\311\211\260\207" [tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp tramp-postfix-user-regexp tramp-host-regexp tramp-prefix-ipv6-regexp "\\(" "\\)" "\\(?:" "\\)?" "\\|" tramp-ipv6-regexp tramp-postfix-ipv6-regexp tramp-prefix-port-regexp tramp-port-regexp] 25 (#$ . 33544)])
#@75 Regular expression matching a Tramp file name between prefix and postfix.
(defvar tramp-remote-file-name-spec-regexp (tramp-build-remote-file-name-spec-regexp) (#$ . 34094))
#@152 Construct the Tramp file name structure for a Tramp syntax.
It is expected, that `tramp-syntax' has the proper value.
See `tramp-file-name-structure'.
(defalias 'tramp-build-file-name-structure #[0 "\305\306	\n\307\310	\305\f\311\260\f\312\313\314\315\316\257\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp tramp-postfix-host-regexp tramp-localname-regexp "\\(" "\\(?:" "\\)+" "\\)?" "\\)" 5 6 7 8 1] 12 (#$ . 34275)])
#@821 List of six elements (REGEXP METHOD USER HOST FILE HOP), detailing the Tramp file name structure.

The first element REGEXP is a regular expression matching a Tramp file
name.  The regex should contain parentheses around the method name,
the user name, the host name, and the file name parts.

The second element METHOD is a number, saying which pair of
parentheses matches the method name.  The third element USER is
similar, but for the user name.  The fourth element HOST is similar,
but for the host name.  The fifth element FILE is for the file name.
The last element HOP is the ad-hoc hop definition, which could be a
cascade of several hops.

These numbers are passed directly to `match-string', which see.  That
means the opening parentheses are counted to identify the pair.

See also `tramp-file-name-regexp'.
(defvar tramp-file-name-structure (tramp-build-file-name-structure) (#$ . 34743))
(defalias 'tramp-build-file-name-regexp #[0 "@\207" [tramp-file-name-structure] 1])
#@101 Value for `tramp-file-name-regexp' for autoload.
It must match the initial `tramp-syntax' settings.
(defconst tramp-initial-file-name-regexp "\\`/.+:.*:" (#$ . 35737))
#@252 Regular expression matching file names handled by Tramp.
This regexp should match Tramp file names but no other file
names.  When calling `tramp-register-file-name-handlers', the
initial value is overwritten by the car of `tramp-file-name-structure'.
(defvar tramp-file-name-regexp tramp-initial-file-name-regexp (#$ . 35912))
#@176 Value for `tramp-completion-file-name-regexp' for default remoting.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-completion-file-name-regexp-default (byte-code "\301\302\303>\203\f\304\202
\305\306\307\260\207" [system-type "\\`/\\(" "\\([^/|:]+:[^/|:]*|\\)*" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" "\\(:[^/|:]*\\)?" "\\)?\\'"] 5) (#$ . 36246))
#@185 Value for `tramp-completion-file-name-regexp' for simplified style remoting.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-completion-file-name-regexp-simplified (byte-code "\301\302\303>\203\f\304\202
\305\306R\207" [system-type "\\`/\\(" "\\([^/|:]*|\\)*" (cygwin windows-nt) "[^/|:]\\{2,\\}" "[^/|:]+" "\\)?\\'"] 4) (#$ . 36698))
#@125 Value for `tramp-completion-file-name-regexp' for separate remoting.
See `tramp-file-name-structure' for more explanations.
(defconst tramp-completion-file-name-regexp-separate "\\`/\\(\\[[^]]*\\)?\\'" (#$ . 37118))
#@44 Alist mapping incomplete Tramp file names.
(defconst tramp-completion-file-name-regexp-alist (byte-code "\303B\304	B\305\nBE\207" [tramp-completion-file-name-regexp-default tramp-completion-file-name-regexp-simplified tramp-completion-file-name-regexp-separate default simplified separate] 4) (#$ . 37340))
(defalias 'tramp-build-completion-file-name-regexp #[0 "\301!\207" [tramp-completion-file-name-regexp-alist tramp-lookup-syntax] 2])
#@421 Regular expression matching file names handled by Tramp completion.
This regexp should match partial Tramp file names only.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.
(defvar tramp-completion-file-name-regexp (tramp-build-completion-file-name-regexp) (#$ . 37789))
#@217 Regular expression matching file names handled by Tramp autoload.
It must match the initial `tramp-syntax' settings.  It should not
match file names at root of the underlying local file system,
like "/sys" or "/C:".
(defconst tramp-autoload-file-name-regexp (byte-code "\301\302>\203\303\202\f\304\305Q\207" [system-type "\\`/" (cygwin windows-nt) "\\(-\\|[^/|:]\\{2,\\}\\)" "[^/|:]+" ":"] 3) (#$ . 38314))
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\307&	\210\300\313\302\303\314DD\315\306\307\310\316\312\307&	\210\300\317\302\303\320DD\321\306\307\322\323\310\324\312\307&\210\300\325\302\303\326DD\327\306\307\322\323\310\330\312\307&\210\300\331\302\303\332DD\333\306\307\310\334\312\307&	\207" [custom-declare-variable tramp-chunksize funcall function #[0 "\301>\205\302\207" [system-type (hpux) 500] 2] "If non-nil, chunksize for sending input to local process.\nIt is necessary only on systems which have a buggy `process-send-string'\nimplementation.  The necessity, whether this variable must be set, can be\nchecked via the following code:\n\n  (with-temp-buffer\n    (let* ((user \"xxx\") (host \"yyy\")\n           (init 0) (step 50)\n           (sent init) (received init))\n      (while (= sent received)\n        (setq sent (+ sent step))\n        (erase-buffer)\n        (let ((proc (start-process (buffer-name) (current-buffer)\n                                   \"ssh\" \"-l\" user host \"wc\" \"-c\")))\n          (when (process-live-p proc)\n            (process-send-string proc (make-string sent ?\\ ))\n            (process-send-eof proc)\n            (process-send-eof proc))\n          (while (not (progn (goto-char (point-min))\n                             (re-search-forward \"\\\\w+\" (point-max) t)))\n            (accept-process-output proc 1))\n          (when (process-live-p proc)\n            (setq received (string-to-number (match-string 0)))\n            (delete-process proc)\n            (message \"Bytes sent: %s\\tBytes received: %s\" sent received)\n            (sit-for 0))))\n      (if (> sent (+ init step))\n          (message \"You should set `tramp-chunksize' to a maximum of %s\"\n                   (- sent step))\n        (message \"Test does not work\")\n        (display-buffer (current-buffer))\n        (sit-for 30))))\n\nIn the Emacs normally running Tramp, evaluate the above code\n(replace \"xxx\" and \"yyy\" by the remote user and host name,\nrespectively).  You can do this, for example, by pasting it into\nthe `*scratch*' buffer and then hitting C-j with the cursor after the\nlast closing parenthesis.  Note that it works only if you have configured\n\"ssh\" to run without password query, see ssh-agent(1).\n\nYou will see the number of bytes sent successfully to the remote host.\nIf that number exceeds 1000, you can stop the execution by hitting\nC-g, because your Emacs is likely clean.\n\nWhen it is necessary to set `tramp-chunksize', you might consider to\nuse an out-of-the-band method (like \"scp\") instead of an internal one\n(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases\nperformance.\n\nIf your Emacs is buggy, the code stops and gives you an indication\nabout the value `tramp-chunksize' should be set.  Maybe you could just\nexperiment a bit, e.g. changing the values of `init' and `step'\nin the third line of the code.\n\nPlease raise a bug report via \"M-x tramp-bug\" if your system needs\nthis variable to be set as well." :group tramp :type (choice (const nil) integer) :require tramp-process-connection-type #[0 "\300\207" [t] 1] "Overrides `process-connection-type' for connections from Tramp.\nTramp binds `process-connection-type' to the value given here before\nopening a connection to a remote host." (choice (const nil) (const t) (const pty)) tramp-connection-timeout #[0 "\300\207" [60] 1] "Defines the max time to wait for establishing a connection (in seconds).\nThis can be overwritten for different connection types in `tramp-methods'.\n\nThe timeout does not include the time reading a password." :version "24.4" integer tramp-connection-min-time-diff #[0 "\300\207" [5] 1] "Defines seconds between two consecutive connection attempts.\nThis is necessary as self defense mechanism, in order to avoid\nyo-yo connection attempts when the remote host is unavailable.\n\nA value of 0 or nil suppresses this check.  This might be\nnecessary, when several out-of-order copy operations are\nperformed, or when several asynchronous processes will be started\nin a short time frame.  In those cases it is recommended to\nlet-bind this variable." (choice (const nil) integer) tramp-completion-reread-directory-timeout #[0 "\300\207" [10] 1] "Defines seconds since last remote command before rereading a directory.\nA remote directory might have changed its contents.  In order to\nmake it visible during file name completion in the minibuffer,\nTramp flushes its cache and rereads the directory contents when\nmore than `tramp-completion-reread-directory-timeout' seconds\nhave been gone since last remote command execution.  A value of t\nwould require an immediate reread during filename completion, nil\nmeans to use always cached values for the directory contents." (choice (const nil) (const t) integer)] 12)
#@44 Connection method for this *tramp* buffer.
(defvar tramp-current-method nil (#$ . 43575))
#@44 Remote login name for this *tramp* buffer.
(defvar tramp-current-user nil (#$ . 43671))
#@45 Remote domain name for this *tramp* buffer.
(defvar tramp-current-domain nil (#$ . 43765))
#@38 Remote host for this *tramp* buffer.
(defvar tramp-current-host nil (#$ . 43862))
#@38 Remote port for this *tramp* buffer.
(defvar tramp-current-port nil (#$ . 43950))
#@28 Last connection timestamp.
(defvar tramp-current-connection nil (#$ . 44038))
#@223 Alist of completion handler functions.
Used for file names matching `tramp-completion-file-name-regexp'.
Operations not mentioned here will be handled by Tramp's file
name handler functions, or the normal Emacs functions.
(defconst tramp-completion-file-name-handler-alist '((file-name-all-completions . tramp-completion-handle-file-name-all-completions) (file-name-completion . tramp-completion-handle-file-name-completion)) (#$ . 44123))
#@173 Alist of elements (FUNCTION . HANDLER) for foreign methods handled specially.
If (FUNCTION FILENAME) returns non-nil, then all I/O on that file is done by
calling HANDLER.
(defvar tramp-foreign-file-name-handler-alist nil (#$ . 44570))
#@74 compiler-macro for inlining `tramp-file-name-p'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-p--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-p (and (memq (car-safe cl-x) cl-struct-tramp-file-name-tags) t)) nil] 9 (#$ . 44812)])
(put 'tramp-file-name-p 'compiler-macro 'tramp-file-name-p--cmacro)
#@13 

(fn CL-X)
(defalias 'tramp-file-name-p #[257 "\211\242>\205\301\207" [cl-struct-tramp-file-name-tags t] 3 (#$ . 45178)])
(byte-code "\300\301\302\303#\304\305\306\301#\207" [function-put tramp-file-name-p side-effect-free error-free put tramp-file-name cl-deftype-satisfies] 5)
#@79 compiler-macro for inlining `tramp-file-name-method'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-method--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-method (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 1 cl-x)) nil] 9 (#$ . 45467)])
(put 'tramp-file-name-method 'compiler-macro 'tramp-file-name-method--cmacro)
#@89 Access slot "method" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-method #[257 "\211\242>\204\301\302\303D\"\210\211A@\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name] 5 (#$ . 45898)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-method side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-user'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-user--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-user (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 2 cl-x)) nil] 9 (#$ . 46273)])
(put 'tramp-file-name-user 'compiler-macro 'tramp-file-name-user--cmacro)
#@87 Access slot "user" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-user #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 2] 5 (#$ . 46694)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-user side-effect-free t] 4)
#@79 compiler-macro for inlining `tramp-file-name-domain'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-domain--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-domain (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 3 cl-x)) nil] 9 (#$ . 47065)])
(put 'tramp-file-name-domain 'compiler-macro 'tramp-file-name-domain--cmacro)
#@89 Access slot "domain" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-domain #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 3] 5 (#$ . 47496)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-domain side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-host'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-host--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-host (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 4 cl-x)) nil] 9 (#$ . 47873)])
(put 'tramp-file-name-host 'compiler-macro 'tramp-file-name-host--cmacro)
#@87 Access slot "host" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-host #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 4] 5 (#$ . 48294)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-host side-effect-free t] 4)
#@77 compiler-macro for inlining `tramp-file-name-port'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-port--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-port (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 5 cl-x)) nil] 9 (#$ . 48665)])
(put 'tramp-file-name-port 'compiler-macro 'tramp-file-name-port--cmacro)
#@87 Access slot "port" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-port #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5] 5 (#$ . 49086)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-port side-effect-free t] 4)
#@82 compiler-macro for inlining `tramp-file-name-localname'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-localname--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-localname (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 6 cl-x)) nil] 9 (#$ . 49457)])
(put 'tramp-file-name-localname 'compiler-macro 'tramp-file-name-localname--cmacro)
#@92 Access slot "localname" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-localname #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6] 5 (#$ . 49903)])
(byte-code "\300\301\302\303#\300\207" [function-put tramp-file-name-localname side-effect-free t] 4)
#@76 compiler-macro for inlining `tramp-file-name-hop'.

(fn CL-WHOLE-ARG CL-X)
(defalias 'tramp-file-name-hop--cmacro #[514 "\300\301\302\303\211\211&\207" [cl--defsubst-expand (cl-x) (cl-block tramp-file-name-hop (or (tramp-file-name-p cl-x) (signal 'wrong-type-argument (list 'tramp-file-name cl-x))) (nth 7 cl-x)) nil] 9 (#$ . 50289)])
(put 'tramp-file-name-hop 'compiler-macro 'tramp-file-name-hop--cmacro)
#@86 Access slot "hop" of `(tramp-file-name (:type list) :named)' struct CL-X.

(fn CL-X)
(defalias 'tramp-file-name-hop #[257 "\211\242>\204\301\302\303D\"\210\3048\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 7] 5 (#$ . 50705)])
(byte-code "\300\301\302\303#\304\305\306\"\207" [function-put tramp-file-name-hop side-effect-free t defalias copy-tramp-file-name copy-sequence] 4)
#@126 compiler-macro for inlining `make-tramp-file-name'.

(fn CL-WHOLE &cl-quote &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP)
(defalias 'make-tramp-file-name--cmacro #[385 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311	>A@\203P\312\262\202.\313\314@\"\210\202.\210\315\316\317\312\f\312\f\f\f\f\f\f\f&\f\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" cl--defsubst-expand (method user domain host port localname hop) (cl-block make-tramp-file-name (list 'tramp-file-name method user domain host port localname hop))] 22 (#$ . 51128)])
(put 'make-tramp-file-name 'compiler-macro 'make-tramp-file-name--cmacro)
#@106 Constructor for objects of type `tramp-file-name'.

(fn &key METHOD USER DOMAIN HOST PORT LOCALNAME HOP)
(defalias 'make-tramp-file-name #[128 "\300\301\"A@\300\302\"A@\300\303\"A@\300\304\"A@\300\305\"A@\300\306\"A@\300\307\"A@\211\203Y\211@\310>\203A\211AA\262\202.\311	>A@\203P\312\262\202.\313\314@\"\210\202.\210\315\257\207" [plist-member :method :user :domain :host :port :localname :hop (:method :user :domain :host :port :localname :hop :allow-other-keys) :allow-other-keys nil error "Keyword argument %s not one of (:method :user :domain :host :port :localname :hop)" tramp-file-name] 16 (#$ . 52058)])
(byte-code "\300\301\302\303#\304\305\306\211\307\303\310\311\305\306&	\207" [function-put make-tramp-file-name side-effect-free t cl-struct-define tramp-file-name nil list ((cl-tag-slot) (method) (user) (domain) (host) (port) (localname) (hop)) cl-struct-tramp-file-name-tags] 11)
#@53 Return user and domain components of VEC.

(fn VEC)
(defalias 'tramp-file-name-user-domain #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N	\242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-domain-format signal wrong-type-argument tramp-file-name 2 3] 7 (#$ . 52995)])
#@51 Return host and port components of VEC.

(fn VEC)
(defalias 'tramp-file-name-host-port #[257 "\211\242>\204\302\303\304D\"\210\3058\204(\211\242>\204\"\302\303\304D\"\210\3068\205`\211\242>\2046\302\303\304D\"\210\3058\242>\204G\302\303\304D\"\210\3068\205N	\242>\204\\\302\303\304D\"\210\3068Q\207" [cl-struct-tramp-file-name-tags tramp-prefix-port-format signal wrong-type-argument tramp-file-name 4 5] 7 (#$ . 53455)])
#@78 Return port component of VEC.
If nil, return `tramp-default-port'.

(fn VEC)
(defalias 'tramp-file-name-port-or-default #[257 "\211\242>\204\301\302\303D\"\210\3048\206\305\306\"\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 5 tramp-get-method-parameter tramp-default-port] 5 (#$ . 53909)])
#@81 Check, whether VEC1 and VEC2 denote the same `tramp-file-name'.

(fn VEC1 VEC2)
(defalias 'tramp-file-name-equal-p #[514 "\242>\205E\211\242>\205E\242>\204\301\302\303D\"\210A@\242>\204-\301\302\303D\"\210A@\230\205E\304!\304!\230\205E\305!\305!\230\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port] 7 (#$ . 54248)])
#@206 Return the method parameter PARAM.
If VEC is a vector, check first in connection properties.
Afterwards, check in `tramp-methods'.  If the `tramp-methods'
entry does not exist, return nil.

(fn VEC PARAM)
(defalias 'tramp-get-method-parameter #[514 "\302\303\304\305!#\306\"\203\307\310#\2027\311\311\242>\204(\312\313\314D\"\210A@	\"\"\211\2055\211A@\262\207" [cl-struct-tramp-file-name-tags tramp-methods replace-regexp-in-string "^tramp-" "" symbol-name tramp-connection-property-p tramp-get-connection-property nil assoc signal wrong-type-argument tramp-file-name] 10 (#$ . 54679)])
#@55 Return unquoted localname component of VEC.

(fn VEC)
(defalias 'tramp-file-name-unquote-localname #[257 "\211\242>\204\301\302\303D\"\210\3048\305!\211\306\307\305!\"\262\2031\211G\310U\203+\311\202/\211\310\312O\262\313!P\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name 6 file-local-name string-prefix-p "/:" 2 "/" nil file-remote-p] 8 (#$ . 55289)])
#@70 Return t if NAME is a string with Tramp file name syntax.

(fn NAME)
(defalias 'tramp-tramp-file-p #[257 "\211;\2051\303>\203\304\202\305\306\307\310#)\266\203?\2051\n\306\307\310#)\266\203\2051\307\207" [system-type inhibit-changing-match-data tramp-file-name-regexp (cygwin windows-nt) "^/[[:alpha:]]?:" "^/:" nil t string-match] 8 (#$ . 55694)])
#@147 Return the right method string to use.
This is METHOD, if non-nil. Otherwise, do a lookup in
`tramp-default-method-alist'.

(fn METHOD USER HOST)
(defalias 'tramp-find-method #[771 "\203\303\230\204\230\203\304\262\206Z	\304\211\203S\211A\262\242\262\305@\206-\303\2062\303\"\203\305A@\206>\303\206D\303\"\203\3068\262\304\262\202\266\203\206Z\n\204b\211\204f\211\202k\307\310\311#\207" [tramp-default-method-marker tramp-default-method-alist tramp-default-method "" nil string-match 2 propertize tramp-default t] 9 (#$ . 56068)])
#@141 Return the right user string to use.
This is USER, if non-nil. Otherwise, do a lookup in
`tramp-default-user-alist'.

(fn METHOD USER HOST)
(defalias 'tramp-find-user #[771 "\206G\302\211\203@\211A\262\242\262\303@\206\304\206 \304\"\203\303A@\206,\304\2061\304\"\203\3058\262\302\262\202\266\203\206G	\204O\211\204S\211\202X\306\307\310#\207" [tramp-default-user-alist tramp-default-user nil string-match "" 2 propertize tramp-default t] 9 (#$ . 56649)])
#@126 Return the right host string to use.
This is HOST, if non-nil. Otherwise, it is `tramp-default-host'.

(fn METHOD USER HOST)
(defalias 'tramp-find-host #[771 "\211G\302V\203\211\206O\303\211\203H\211A\262\242\262\304@\206!\305\206'\305\"\203\304A@\2063\305\2069\305\"\203\3068\262\303\262\202\266\203\206O	\207" [tramp-default-host-alist tramp-default-host 0 nil string-match "" 2] 9 (#$ . 57146)])
#@271 Return a `tramp-file-name' structure.
The structure consists of remote method, remote user, remote host,
localname (file name on remote host) and hop.  If NODEFAULT is
non-nil, the file name parts are not expanded to their default
values.

(fn NAME &optional NODEFAULT)
(defalias 'tramp-dissect-file-name #[513 "\305 \306\307\310\311\312!\313\"\314$\216\315!\204+\316\317C\320\321\322\323!\203%\323\202&\324%\266\325@\"\2049\324\326!\202\352\327A@\"\327\3308\"\327\3148\"\327\3318\"\327\3328\"\316\211\203v\325	\"\203v\327\330\"\262\327\333\"\262\203\262\325\n\"\203\220\327\330\"\262\327\333\"\262\325\"\203\241\334\335\316\336$\262\325\f\"\203\262\334\335\316\336$\262\204\325\337#\262\340#\262\341#\262\342	\206\344\335	\257\266\207)\207" [tramp-file-name-structure tramp-user-with-domain-regexp tramp-host-with-port-regexp tramp-prefix-ipv6-regexp tramp-postfix-ipv6-regexp match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-tramp-file-p nil "Not a Tramp file name: \"%s\"" apply tramp-error fboundp user-error error string-match "`tramp-file-name-structure' didn't match!" match-string 2 4 5 1 replace-match "" t tramp-find-method tramp-find-user tramp-find-host tramp-file-name] 18 (#$ . 57582)])
#@49 A name for the connection buffer VEC.

(fn VEC)
(defalias 'tramp-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204'\307\310$\202,\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*tramp/%s %s@%s*" "*tramp/%s %s*"] 9 (#$ . 58937)])
#@182 Constructs a Tramp file name from METHOD, USER, HOST and LOCALNAME.
When not nil, optional DOMAIN, PORT and HOP are used.

(fn METHOD USER DOMAIN HOST PORT LOCALNAME &optional HOP)
(defalias 'tramp-make-tramp-file-name #[1798 "G\306U\206	G\306U?\205	PG\306U?\205%\n	P\nG\306U?\205/	\205G\307\f\"\203E
\nQ\202G		G\306U?\205U	\nP\n\n\205^\n\260\n\207" [tramp-prefix-format tramp-postfix-method-format tramp-prefix-domain-format tramp-postfix-user-format tramp-ipv6-regexp tramp-prefix-ipv6-format 0 string-match tramp-postfix-ipv6-format tramp-prefix-port-format tramp-postfix-host-format] 17 (#$ . 59321)])
#@239 Constructs a Tramp file name from METHOD, USER, HOST and LOCALNAME.
It must not be a complete Tramp file name, but as long as there are
necessary only.  This function will be used in file name completion.

(fn METHOD USER HOST LOCALNAME)
(defalias 'tramp-completion-make-tramp-file-name #[1028 "G\306U\206\f	G\306U?\205	PG\306U?\205\nPG\306U?\2059\307\"\2035\f
Q\2026P\205>\260\207" [tramp-prefix-format tramp-postfix-method-format tramp-postfix-user-format tramp-ipv6-regexp tramp-prefix-ipv6-format tramp-postfix-ipv6-format 0 string-match tramp-postfix-host-format] 10 (#$ . 59971)])
#@57 Get the connection buffer to be used for VEC.

(fn VEC)
(defalias 'tramp-get-buffer #[257 "\303\304!!\206|r\305\304!!q\210\306\307\310\307\311##\210\312\313\242	>\204+\314\315\316D\"\210A@\242	>\204<\314\315\316D\"\210\3178\242	>\204N\314\315\316D\"\210\3208\242	>\204`\314\315\316D\"\210\3218\242	>\204r\314\315\316D\"\210\3228\323&p)\207" [buffer-undo-list cl-struct-tramp-file-name-tags default-directory get-buffer tramp-buffer-name get-buffer-create tramp-set-connection-property "process-buffer" tramp-get-connection-property nil t tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 "/"] 10 (#$ . 60589)])
#@160 Get the connection buffer to be used for VEC.
In case a second asynchronous communication has been started, it is different
from `tramp-get-buffer'.

(fn VEC)
(defalias 'tramp-get-connection-buffer #[257 "\300\301\302#\206\303!\207" [tramp-get-connection-property "process-buffer" nil tramp-get-buffer] 5 (#$ . 61267)])
#@155 Get the connection name to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.

(fn VEC)
(defalias 'tramp-get-connection-name #[257 "\300\301\302#\206\303!\207" [tramp-get-connection-property "process-name" nil tramp-buffer-name] 5 (#$ . 61598)])
#@158 Get the connection process to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.

(fn VEC)
(defalias 'tramp-get-connection-process #[257 "\211\242>\205\f\301\302!!\207" [cl-struct-tramp-file-name-tags get-process tramp-get-connection-name] 4 (#$ . 61921)])
#@179 Set connection-local variables in the connection buffer used for VEC.
If connection-local variables are not supported by this Emacs
version, the function does nothing.

(fn VEC)
(defalias 'tramp-set-connection-local-variables #[257 "r\301!q\210\302\303!\205/\303\304\305\306\242>\204\307\310\311D\"\210A@\312\313!\314\315	!\257!)\207" [cl-struct-tramp-file-name-tags tramp-get-connection-buffer functionp hack-connection-local-variables-apply :application tramp :protocol signal wrong-type-argument tramp-file-name :user tramp-file-name-user-domain :machine tramp-file-name-host-port] 11 (#$ . 62254)])
#@153 Set connection-local variables in the current buffer.
If connection-local variables are not supported by this Emacs
version, the function does nothing.
(defalias 'tramp-set-connection-local-variables-for-buffer #[0 "\301!\205!\302\303!\205!\303\304\305\306\301\307\"\310\301\311\"\312\301\313\"\257!\207" [default-directory file-remote-p functionp hack-connection-local-variables-apply :application tramp :protocol method :user user :machine host] 11 (#$ . 62877)])
#@48 A name for the debug buffer for VEC.

(fn VEC)
(defalias 'tramp-debug-buffer-name #[257 "\211\242>\204\301\302\303D\"\210\211A@\304!\305!G\306U\204'\307\310$\202,\307\311#\207" [cl-struct-tramp-file-name-tags signal wrong-type-argument tramp-file-name tramp-file-name-user-domain tramp-file-name-host-port 0 format "*debug tramp/%s %s@%s*" "*debug tramp/%s %s*"] 9 (#$ . 63356)])
#@62 Used for highlighting Tramp debug buffers in `outline-mode'.
(defconst tramp-debug-outline-regexp "[0-9]+:[0-9]+:[0-9]+\\.[0-9]+ [a-z0-9-]+ (\\([0-9]+\\)) #" (#$ . 63756))
#@181 Return the depth to which a statement is nested in the outline.
Point must be at the beginning of a header line.

The outline level is equal to the verbosity of the Tramp message.
(defalias 'tramp-debug-outline-level #[0 "\300\301\302!!T\207" [string-to-number match-string 1] 3 (#$ . 63935)])
#@41 Get the debug buffer for VEC.

(fn VEC)
(defalias 'tramp-get-debug-buffer #[257 "r\305\306!!q\210o\203+\307\310\311!\210\312\313\314N@!	\315 \210*\316\302!\210	\316\304!\210\317p)\207" [buffer-undo-list tramp-debug-outline-regexp outline-regexp default-directory outline-level get-buffer-create tramp-debug-buffer-name t require outline eval temporary-file-directory standard-value outline-mode make-local-variable tramp-debug-outline-level] 4 (#$ . 64235)])
#@199 Append message to debug buffer.
Message is formatted with FMT-STRING as control string and the remaining
ARGUMENTS to actually emit the message (if applicable).

(fn VEC FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-debug-message #[642 "r\303!q\210db\210o\203$\304\305	#c\210\n\306Y\203$\304\307\310\311!\312 #c\210n\204+\313c\210\314 \315\316\"c\210\304\317\3208\"c\266\321\322\211\211\204v\323!A@\262\204T\324\262\202?9\203o\325!\262\326\327\"\203l\326\330\"\203o\322\262T\262\202?\304\331\"c\266\332\333#c)\207" [emacs-version tramp-version tramp-verbose tramp-get-debug-buffer format ";; Emacs: %s Tramp: %s -*- mode: outline; -*-" 10 "\n;; Location: %s Git: %s" locate-library "tramp" tramp-repository-get-version "\n" current-time format-time-string "%T." "%06d " 2 1 nil backtrace-frame "" symbol-name string-match "^tramp" "^\\(tramp-\\(?:backtrace\\|co\\(?:mpat-\\(?:funcall\\|user-error\\)\\|ndition-case-unless-debug\\)\\|debug-message\\|error\\(?:-with-buffer\\)?\\|message\\)\\)$" "%s " apply format-message] 9 (#$ . 64708)])
(put 'tramp-debug-message 'byte-optimizer 'byte-compile-inline-expand)
#@162 Show Tramp message in the minibuffer.
This variable is used to disable messages from `tramp-error'.
The messages are visible anyway, because an error is raised.
(defvar tramp-message-show-message t (#$ . 65855))
#@592 Emit a message depending on verbosity level.
VEC-OR-PROC identifies the Tramp buffer to use.  It can be either a
vector or a process.  LEVEL says to be quiet if `tramp-verbose' is
less than LEVEL.  The message is emitted only if `tramp-verbose' is
greater than or equal to LEVEL.

The message is also logged into the debug buffer when `tramp-verbose'
is greater than or equal 4.

Calls functions `message' and `tramp-debug-message' with FMT-STRING as
control string and the remaining ARGUMENTS to actually emit the message (if
applicable).

(fn VEC-OR-PROC LEVEL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-message #[899 "\3031\224X\205\222\304 \305\306\307\310\311!\312\"\313$\216	\203H\313X\203H\314\315\306U\203.\316\202C\317U\2038\316\202C\320U\203B\321\202C\322P#\210\323Y\205\217\324!\203^\306\325\326\327#\262)\317U\203z\306r\330!q\210\331P\262\332\333 C\"\262*\242\n>\205\217\314\334\335\336\"P$)\2620\207\210\327\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # "] 11 (#$ . 66074)])
(put 'tramp-message 'byte-optimizer 'byte-compile-inline-expand)
#@174 Dump a backtrace into the debug buffer.
If VEC-OR-PROC is nil, the buffer *debug tramp* is used.  This
function is meant for debugging purposes.

(fn &optional VEC-OR-PROC)
(defalias 'tramp-backtrace #[256 "\211\203\264\211\306\307\310\311\312!!\313\216\314 \210)rq\210\315 +C\3161\261	X\205\257\317 \320\321\322\323\324!\325\"\326$\216\n\203e\326X\203e\327\330\321U\203K\331\202`\332U\203U\331\202`\333U\203_\334\202`\335P#\210	\336Y\205\254\337!\203{\321\340\341\342#\262)\332U\203\227\321r\343!q\210\307P\262\344\315 C\"\262*\242>\205\254\327\345\346\347\"P$)\2620\207\210\342\207	\306Y\205\350\fr\310\350!q\210p\351 \210\342\211/\352\2110\35212\353 \210\354\355!\210+\211\314 \356!\210)\266\202\207" [standard-output tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags default-directory buffer-read-only 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 13 (#$ . 67501)])
(put 'tramp-backtrace 'byte-optimizer 'byte-compile-inline-expand)
#@242 Emit an error.
VEC-OR-PROC identifies the connection to use, SIGNAL is the
signal identifier to be raised, remaining arguments passed to
`tramp-message'.  Finally, signal SIGNAL is raised.

(fn VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-error #[899 "\306\211\203\277\211\307\310\311\312\313!!\314\216	\315 \210)r	q\210\316 +C\3171\270\nX\205\262\320 \321\322\323\324\325!\326\"\327$\216\203h\327X\203h\330\331\322U\203N\332\202c\333U\203X\332\202c\334U\203b\335\202c\336P#\210\n\337Y\205\257\340!\203~\322\341\342\306#\262)\333U\203\232\322r\343!q\210\310P\262\344\316 C\"\262*\242>\205\257\330\345\346\347\"P$)\2620\266\205\202\365\210\306\266\205\202\365\n\307Y\205\363\fr\311\350!q\210p\351 \210\306\2114\352\2115\35267\353 \210\354\355!\210+\211\315 \356!\210)\266\202\262\210\211\204C\262\357\262\203\265\333\357\360\211\361N\330\362		#E!C\3171\260\nX\205\252\320 \321\322\323\324\325!\326\"\327$\216\203`\327X\203`\330\331\322U\203F\332\202[\333U\203P\332\202[\334U\203Z\335\202[\336P#\210\n\337Y\205\247\340!\203v\322\341\342\306#\262)\333U\203\222\322r\343!q\210\310P\262\344\316 C\"\262*\242>\205\247\330\345\346\347\"P$)\2620\266\204\202\264\210\306\266\204\210\363\330\362#C\")\207" [tramp-message-show-message standard-output tramp-verbose cl-struct-tramp-file-name-tags default-directory buffer-read-only nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 16 (#$ . 69097)])
(put 'tramp-error 'byte-optimizer 'byte-compile-inline-expand)
#@224 Emit an error, and show BUF.
If BUF is nil, show the connection buf.  Wait for 30", or until
an input event arrives.  The other arguments are passed to `tramp-error'.

(fn BUF VEC-OR-PROC SIGNAL FMT-STRING &rest ARGUMENTS)
(defalias 'tramp-error-with-buffer #[1156 "\302 \303\304\305\306\307!\310\"\311$\216\312!\203\206/\313!\203%\314!\206/\242>\205/\315!\242>\203:\206F\211\205Fr\211q\210\316	!)\303\304\317\306\307		$\320\"\321$\216\322\323%)\266\202)\207" [cl-struct-tramp-file-name-tags default-directory current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 bufferp processp process-buffer tramp-get-connection-buffer tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] 4 apply tramp-error] 17 (#$ . 71326)])
(put 'tramp-error-with-buffer 'byte-optimizer 'byte-compile-inline-expand)
#@264 Execute BODY while redirecting the error message to `tramp-message'.
BODY is executed like wrapped by `with-demoted-errors'.  FORMAT
is a format-string containing a %-sequence meaning to substitute
the resulting error message.

(fn VEC-OR-PROC FORMAT &rest BODY)
(defalias 'tramp-with-demoted-errors '(macro . #[642 "\300\301!\302\303B\304\305\306	\257\307BBF\207" [make-symbol "err" condition-case-unless-debug progn error tramp-message 3 (nil)] 13 (#$ . 72565)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\300\207" [put tramp-with-demoted-errors edebug-form-spec (symbolp body) function-put lisp-indent-function 2] 4)
#@781 Parse a Tramp filename and make components available in the body.

First arg FILENAME is evaluated and dissected into its components.
Second arg VAR is a symbol.  It is used as a variable name to hold
the filename structure.  It is also used as a prefix for the variables
holding the components.  For example, if VAR is the symbol `foo', then
`foo' will be bound to the whole structure, `foo-method' will be bound to
the method component, and so on for `foo-user', `foo-domain', `foo-host',
`foo-port', `foo-localname', `foo-hop'.

Remaining args are Lisp expressions to be evaluated (inside an implicit
`progn').

If VAR is nil, then we bind `v' to the structure and `method', `user',
`domain', `host', `port', `localname', `hop' to the components.

(fn FILENAME VAR &rest BODY)
(defalias 'with-parsed-tramp-file-name '(macro . #[642 "\300\301\302\303\304\305!\306\"\307\310%\300\311\312\"A\"\313\206\314\315DDB\316\300\311\"BBBB\207" [mapcar make-byte-code 257 "\300\203\301\302\303\300#!\202\211\301\302\304\"!\300\206\305DD\207" vconcat vector [intern format "%s-%s" "tramp-file-name-%s" v] 6 "\n\n(fn ELEM)" car ((cl-tag-slot nil) (method nil) (user nil) (domain nil) (host nil) (port nil) (localname nil) (hop nil)) let* v tramp-dissect-file-name ignore] 10 (#$ . 73209)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-parsed-tramp-file-name lisp-indent-function 2 edebug-form-spec (form symbolp body) font-lock-add-keywords emacs-lisp-mode ("\\<with-parsed-tramp-file-name\\>")] 4)
#@75 Report progress of an operation for Tramp.

(fn REPORTER &optional VALUE)
(defalias 'tramp-progress-reporter-update #[513 "A\211\300H\301\302 \206
\303\"\205%\211\247\203\211@Y\205#\304\"\266\202\207" [3 string-match current-message "" progress-reporter-do-update] 9 (#$ . 74761)])
#@197 Executes BODY, spinning a progress reporter with MESSAGE.
If LEVEL does not fit for visible messages, there are only traces
without a visible progress reporter.

(fn VEC LEVEL MESSAGE &rest BODY)
(defalias 'with-tramp-progress-reporter '(macro . #[899 "\300\301\302\257\303\304\305\306\307\310\311\312BBE\303\313\314\315BBDC\316BBEDD\317\320\300B\321BB\322\301\323\f\324BBBBBFEE\207" [progn tramp-message "%s..." let (cookie "failed") tm when and tramp-message-show-message <= ((min tramp-verbose 3)) pr make-progress-reporter (nil nil) ((when pr (run-at-time 3 0.1 #'tramp-progress-reporter-update pr))) unwind-protect prog1 ((setq cookie "done")) (if tm (cancel-timer tm)) "%s...%s" (cookie)] 17 (#$ . 75062)]))
(byte-code "\300\301\302\303#\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-progress-reporter lisp-indent-function 3 put edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-progress-reporter\\>")] 5)
#@176 Check in Tramp cache for PROPERTY, otherwise execute BODY and set cache.
FILE must be a local file name on a connection identified via VEC.

(fn VEC FILE PROPERTY &rest BODY)
(defalias 'with-tramp-file-property '(macro . #[899 "\300\301D\302\303\304\305BBBBDC\306\307\310\303\311	BE\312\313BBBBF\314BBBBBB\207" [if file-name-absolute-p let value tramp-get-file-property ('undef) when (eq value 'undef) setq progn tramp-set-file-property (value) (value)] 16 (#$ . 76040)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-file-property lisp-indent-function 3 edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-file-property\\>")] 4)
#@102 Check in Tramp for property PROPERTY, otherwise executes BODY and set.

(fn KEY PROPERTY &rest BODY)
(defalias 'with-tramp-connection-property '(macro . #[642 "\300\301\302\303BBBDC\304\305\306\301\307BE\310\311BBBF\312BBB\207" [let value tramp-get-connection-property ('undef) when (eq value 'undef) setq progn tramp-set-connection-property (value) (value)] 12 (#$ . 76759)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-connection-property lisp-indent-function 2 edebug-form-spec t font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-connection-property\\>")] 4)
#@324 Cut off unnecessary drive letter from file NAME.
The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
locally on a remote file name.  When the local system is a W32 system
but the remote system is Unix, this introduces a superfluous drive
letter into the file name.  This function removes it.

(fn NAME)
(defalias 'tramp-drop-volume-letter #[257 "\300 \301\302\303\304\305!\306\"\307$\216\310\311\312!\"\262\203\313\202\314\312!\211\310\311\312!\"\262\203@\211G\315U\203:\316\202>\211\315\317O\262\320!P\266\202\321\322\"\203W\323\316\317\324$\202X\211\262!)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-prefix-p "/:" file-local-name tramp-compat-file-name-quote identity 2 "/" nil file-remote-p string-match "\\`[a-zA-Z]:/" replace-match t] 10 (#$ . 77388)])
#@495 Sets the list of completion functions for METHOD.
FUNCTION-LIST is a list of entries of the form (FUNCTION FILE).
The FUNCTION is intended to parse FILE according its syntax.
It might be a predefined FUNCTION, or a user defined FUNCTION.
For the list of predefined FUNCTIONs see `tramp-completion-function-alist'.

Example:

    (tramp-set-completion-function
     "ssh"
     \='((tramp-parse-sconfig "/etc/ssh_config")
       (tramp-parse-sconfig "~/.ssh/config")))

(fn METHOD FUNCTION-LIST)
(defalias 'tramp-set-completion-function #[514 "\211\302\303\"\"\211\203k\211@A\235\203\211\302@A\"\241\210\304@@!\203]\305\306@A@\"\203J	\307>\203]\310\311\312\211\211\313@A@&\314U\202Z\305\315@A@\"\204d\316@A@!\204d\302@\"\262\211A\262\202\n\205\203B\211\235\203|\202\201\211B\211\262\207" [tramp-completion-function-alist system-type delete assoc functionp string-match "^HKEY_CURRENT_USER" (cygwin windows-nt) tramp-call-process "reg" nil "query" 0 "^_[[:alpha:]]+\\._[[:alpha:]]+$" file-exists-p] 12 (#$ . 78258)])
#@130 Returns a list of completion functions for METHOD.
For definition of that list see `tramp-set-completion-function'.

(fn METHOD)
(defalias 'tramp-get-completion-function #[257 "\301\302D\303DD\304\"A\"\207" [tramp-completion-function-alist append tramp-parse-default-user-host tramp-parse-connection-properties assoc] 6 (#$ . 79320)])
(make-variable-buffer-local 'tramp-rfn-eshadow-overlay)
#@161 Set up a minibuffer for `file-name-shadow-mode'.
Adds another overlay hiding filename parts according to Tramp's
special handling of `substitute-in-file-name'.
(defalias 'tramp-rfn-eshadow-setup-minibuffer #[0 "\301J\205<\302\303 \303 \"\304\305J!\211\205:\211@\306=\204.\307\211A\262\242\211A\262\242#\210\202\211A\262\211A\266\202\202\262\207" [tramp-rfn-eshadow-overlay minibuffer-completing-file-name make-overlay minibuffer-prompt-end overlay-properties rfn-eshadow-overlay field overlay-put] 6 (#$ . 79722)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook rfn-eshadow-setup-minibuffer-hook tramp-rfn-eshadow-setup-minibuffer tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook rfn-eshadow-setup-minibuffer-hook tramp-rfn-eshadow-setup-minibuffer] 3]] 3)
(defalias 'tramp-rfn-eshadow-update-overlay-regexp #[0 "\301\302\"\207" [tramp-postfix-host-format format "[^%s/~]*\\(/\\|~\\)"] 3])
#@249 Update `rfn-eshadow-overlay' to cover shadowed part of minibuffer input.
This is intended to be used as a minibuffer `post-command-hook' for
`file-name-shadow-mode'; the minibuffer should have already
been set up by `rfn-eshadow-setup-minibuffer'.
(defalias 'tramp-rfn-eshadow-update-overlay #[0 "\3041?\305\306J!\206
\307 \310\311\312d\"!\205:\212\214\313\314 \315 #\206%\211Td}\210	\316\211\317dd#\210\320 *\262*)\2620\207\210\316\207" [non-essential tramp-rfn-eshadow-overlay file-name-handler-alist rfn-eshadow-update-overlay-hook (error) overlay-end rfn-eshadow-overlay minibuffer-prompt-end t tramp-tramp-file-p buffer-substring-no-properties string-match tramp-rfn-eshadow-update-overlay-regexp buffer-string nil move-overlay rfn-eshadow-update-overlay] 6 (#$ . 80656)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook rfn-eshadow-update-overlay-hook tramp-rfn-eshadow-update-overlay tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook rfn-eshadow-update-overlay-hook tramp-rfn-eshadow-update-overlay] 3]] 3)
#@31 Keeps virtual inodes numbers.
(defvar tramp-inodes 0 (#$ . 81706))
#@31 Keeps virtual device numbers.
(defvar tramp-devices 0 (#$ . 81779))
#@181 Return file modes of FILENAME as integer.
If the file modes of FILENAME cannot be determined, return the
value of `default-file-modes', without execute permissions.

(fn FILENAME)
(defalias 'tramp-default-file-modes #[257 "\300!\206\301\302 \303\304\305\"\"\207" [file-modes logand default-file-modes string-to-number "0666" 8] 6 (#$ . 81854)])
#@106 Replace environment variables in FILENAME.
Return the string with the replaced variables.

(fn FILENAME)
(defalias 'tramp-replace-environment-variables #[257 "\3001\301\302!\205\302\303\"0\202\210\202\206\\\304 \305\306\307\310\311!\312\"\313$\216\314\315\"\211\203V\211\306U\204>SH\316=\204V\317\320\321\"!\203V\322\323\320\306\"!\324\325$\262\262)\262\207" [(error) functionp substitute-env-vars only-defined match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match "$\\(\\w+\\)" 36 getenv match-string 1 replace-match substitute-in-file-name t nil] 8 (#$ . 82209)])
#@334 Like `find-operation-coding-system' for Tramp filenames.
Tramp's `insert-file-contents' and `write-region' work over
temporary file names.  If `file-coding-system-alist' contains an
expression, which matches more than the file name suffix, the
coding system might not be determined.  This function repairs it.

(fn FILENAME TMPNAME)
(defalias 'tramp-find-file-name-coding-system-alist #[514 "\301\211\203'\211@\211:\203 \302@\"\203 \303!ABB\262A\266\202\202\237\262\207" [file-coding-system-alist nil string-match regexp-quote] 8 (#$ . 82861)])
#@164 Invoke normal file name handler for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION.

(fn OPERATION ARGS)
(defalias 'tramp-run-real-handler #[514 "\302\303\304\305\306=\205
	BBBBB\307\"*\207" [inhibit-file-name-operation inhibit-file-name-handlers tramp-file-name-handler tramp-vc-file-name-handler tramp-completion-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function apply] 9 (#$ . 83429)])
#@137 Return file name related to OPERATION file primitive.
ARGS are the arguments OPERATION has been called with.

(fn OPERATION &rest ARGS)
(defalias 'tramp-file-name-for-operation #[385 "\301\235\203\302@!\203\211@\207\207\303\235\203C\304 \305\306\307\310\311!\312\"\313$\216\314@!\2032@\202A\314A@!\203@A@\202A)\207\315=\203W\302\3168!\203U\3168\207\207\317\235\203m\320\321@!\203j@\202kp!\207\322\235\203u\207\323\235\203\214\324@!\205\220r\325@!q\210)\207\326\327\"\207" [default-directory (access-file byte-compiler-base-file-name delete-directory delete-file diff-latest-backup-file directory-file-name directory-files directory-files-and-attributes dired-compress-file dired-uncache file-acl file-accessible-directory-p file-attributes file-directory-p file-executable-p file-exists-p file-local-copy file-modes file-name-as-directory file-name-directory file-name-nondirectory file-name-sans-versions file-notify-add-watch file-ownership-preserved-p file-readable-p file-regular-p file-remote-p file-selinux-context file-symlink-p file-truename file-writable-p find-backup-file-name find-file-noselect get-file-buffer insert-directory insert-file-contents load make-directory make-directory-internal set-file-acl set-file-modes set-file-selinux-context set-file-times substitute-in-file-name unhandled-file-name-directory vc-registered file-name-case-insensitive-p file-system-info) file-name-absolute-p (add-name-to-file copy-directory copy-file expand-file-name file-equal-p file-in-directory-p file-name-all-completions file-name-completion file-newer-than-file-p make-symbolic-link rename-file) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-tramp-file-p write-region 2 (make-auto-save-file-name set-visited-file-modtime verify-visited-file-modtime) buffer-file-name bufferp (process-file shell-command start-file-process make-nearby-temp-file temporary-file-directory) (file-notify-rm-watch file-notify-valid-p) processp process-buffer error "unknown file I/O primitive: %s"] 9 (#$ . 83929)])
#@80 Return foreign file name handler if exists.

(fn FILENAME &optional OPERATION)
(defalias 'tramp-find-foreign-file-name-handler #[513 "\301!\205(\302\211\203&@\262A\262@!\203	\302\262A\262\202	\266\202\207" [tramp-foreign-file-name-handler-alist tramp-tramp-file-p nil] 7 (#$ . 86031)])
#@48 Like `debug-on-error' but used Tramp internal.
(defvar tramp-debug-on-error nil (#$ . 86339))
#@98 Like `condition-case-unless-debug' but `tramp-debug-on-error'.

(fn VAR BODYFORM &rest HANDLERS)
(defalias 'tramp-condition-case-unless-debug '(macro . #[642 "\300\301\302BBBE\207" [let ((debug-on-error tramp-debug-on-error)) condition-case-unless-debug] 9 (#$ . 86439)]))
#@146 If non-nil, then Tramp is currently busy.
Together with `tramp-locker', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locked nil (#$ . 86722))
#@148 If non-nil, then a caller has locked Tramp.
Together with `tramp-locked', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locker nil (#$ . 86913))
#@137 Invoke Tramp file name handler.
Falls back to normal file name handler if no Tramp file name handler exists.

(fn OPERATION &rest ARGS)
(defalias 'tramp-file-name-handler #[385 "\306\307#\203\311\310!\203\311\311 \312\313\314\315\316!\317\"\320$\216\321!\262\322!\211\242	>\2043\323\324\325D\"\210\211A@\242	>\204D\323\324\325D\"\210\3268\242	>\204U\323\324\325D\"\210\3208\242	>\204g\323\324\325D\"\210\3278\242	>\204y\323\324\325D\"\210\3308\242	>\204\213\323\324\325D\"\210\3318\242	>\204\237\323\324\325	D\"\210\3328\333 \334\"\335\203\247\n\3361h\3371\246K\211\211\242\340=\262\203\326\341\342\343N@!\344A@\345\346#\210)\3472\f\3502
\203\346@\204\346\335A\242\351\352\335\211B\211\203\274\211\353\354\355\356\357!!C\360\216CC\361 \210)rCq\210\362 +C\3631\265DX\205\257\311 \312\313\314\315\316!\364\"\320$\216B\203^\320X\203^\306\365\313U\203D\366\202Y\367U\203N\366\202Y\326U\203X\370\202Y\371P#\210D\327Y\205\254\372!\203v\313D\373\374\335#\262)\367U\203\223\313Dr\375!q\210\354P\262\376\362 C\"\262*\242	>\205\254\306\377\201J\201K\"P$)\2620\266\205\202\210\335\266\205\202D\353Y\205\fr\355\201L!q\210p\201M \210\335\211EF\201N\211G\201NHI\201O \210\201P\201Q!\210+\211C\361 \201R!\210)\266\202\262\210\211\204C\262\201S\262\203\330\367\201S\201T\211\201UN\306\201V		#E!C\3631\323DX\205\315\311 \312\313\314\315\316!\364\"\320$\216B\203|\320X\203|\306\365\313U\203b\366\202w\367U\203l\366\202w\326U\203v\370\202w\371P#\210D\327Y\205\312\372!\203\224\313D\373\374\335#\262)\367U\203\261\313Dr\375!q\210\354P\262\376\362 C\"\262*\242	>\205\312\306\377\201J\201K\"P$)\2620\266\204\202\327\210\335\266\204\210\323\306\201V#C\")\266
\201N\312\313\201W\315\316!\201X\"\326$\216\201N@\306#*\26200\262\201Y\267\202\236\330\201ZBC\3631\303DX\205\275\311 \312\313\314\315\316!\364\"\320$\216B\203l\320X\203l\306\365\313U\203R\366\202g\367U\203\\\366\202g\326U\203f\370\202g\371P#\210D\327Y\205\272\372!\203\204\313D\373\374\335#\262)\367U\203\241\313Dr\375!q\210\354P\262\376\362 C\"\262*\242	>\205\272\306\377\201J\201K\"P$)\2620\266\204\202\307\210\335\266\204\210\201[\"\202\237\335B\367\201\\BC\3631\203DX\205}\311 \312\313\314\315\316!\364\"\320$\216B\203,\320X\203,\306\365\313U\203\366\202'\367U\203\366\202'\326U\203&\370\202'\371P#\210D\327Y\205z\372!\203D\313D\373\374\335#\262)\367U\203a\313Dr\375!q\210\354P\262\376\362 C\"\262*\242	>\205z\306\377\201J\201K\"P$)\2620\266\204\202\207\210\335\266\204\210\201]\f\201N\"\210\201[\")\202\237\26200\202\2430\335B\367\201^BC\3631WDX\205Q\311 \312\313\314\315\316!\364\"\320$\216B\203\320X\203\306\365\313U\203\346\366\202\373\367U\203\360\366\202\373\326U\203\372\370\202\373\371P#\210D\327Y\205N\372!\203\313D\373\374\335#\262)\367U\2035\313Dr\375!q\210\354P\262\376\362 C\"\262*\242	>\205N\306\377\201J\201K\"P$)\2620\266\204\202[\210\335\266\204\210)\323@A\"\262\202\243\203\202G\313U\203\202\201_>\203\202\201N\202\241\203\233G\313U\203\233\201`>\203\233
\202\241\323@A\"\262)\202\277\201[\"\262\211;\203\276\201a!\202\277\211\266\203\266\210)\262\202\317\201[\"\207" [tramp-mode cl-struct-tramp-file-name-tags tramp-debug-on-error debug-on-error default-directory tramp-locked apply tramp-file-name-for-operation tramp-tramp-file-p match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 tramp-completion-mode-p tramp-find-foreign-file-name-handler nil (debug error) (debug debug quit) autoload eval temporary-file-directory standard-value load noerror nomessage non-essential suppress file-error "Forbidden reentrant call of Tramp" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) [set-match-data evaporate] message "" 1 "Warning: " "Tramp: " processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message tramp-locker tramp-current-connection tramp-message-show-message standard-output tramp-verbose buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message "\300\211\207" [tramp-locked] #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (non-essential 790 suppress 979)) "Non-essential received in operation %s" tramp-run-real-handler "Suppress received in operation %s" tramp-cleanup-connection "Interrupt received in operation %s" (file-exists-p file-directory-p) (expand-file-name file-name-as-directory) tramp-drop-volume-letter] 32 (#$ . 87106)])
#@148 Invoke Tramp file name completion handler.
Falls back to normal file name handler if no Tramp file name handler exists.

(fn OPERATION &rest ARGS)
(defalias 'tramp-completion-file-name-handler #[385 "\302\"\211\203%	\203%\303 \304\305\306\307\310!\311\"\312$\216\313A\")\262\202)\314\"\207" [tramp-completion-file-name-handler-alist tramp-mode assoc match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply tramp-run-real-handler] 10 (#$ . 92353)])
#@81 Load Tramp file name handler, and perform OPERATION.

(fn OPERATION &rest ARGS)
(defalias 'tramp-autoload-file-name-handler #[385 "\203	\303\304\305\306#\210)\202\307 \210\310\"\207" [tramp-mode temporary-file-directory default-directory load "tramp" noerror nomessage tramp-unload-file-name-handlers apply] 6 (#$ . 92861)])
#@76 Add Tramp file name handlers to `file-name-handler-alist' during autoload.
(defalias 'tramp-register-autoload-file-name-handlers #[0 "\301\302\303B\"\210\304\303\305\306#\207" [tramp-autoload-file-name-regexp add-to-list file-name-handler-alist tramp-autoload-file-name-handler put safe-magic t] 4 (#$ . 93200)])
#@142 Change Tramp autoload objects to use absolute file names.
This avoids problems during autoload, when `load-path' contains
remote file names.
(defalias 'tramp-use-absolute-autoload-file-names #[0 "\300\301\302\303!!!\304\305\306\307\310\311\312\313#\"\314\"\"\315\316\317\320\321\322\"\323\"\324\325%!\207" [expand-file-name file-name-directory locate-library "tramp" format "^%s$" regexp-opt mapcar file-name-sans-extension directory-files nil "^tramp.+\\.elc?$" paren mapatoms make-byte-code 257 "\302!\2051\211K\211\242\303=\262\2051\304\301KA@\"\2051\3051/\211K\211A\306KA@\300\"\240\2620\207\210\307\207" vconcat vector [functionp autoload string-match (error) expand-file-name nil] 6 "\n\n(fn ATOM)"] 10 (#$ . 93521)])
(byte-code "\300\301\302 \"\207" [eval-after-load tramp tramp-use-absolute-autoload-file-names] 3)
#@60 Add Tramp file name handlers to `file-name-handler-alist'.
(defalias 'tramp-register-file-name-handlers #[0 "\304\211\203\211@\305\"\306\"\210A\266\202\202\210\307\300	\310B\"\210\311\310\312\313#\210\307\300\n\314B\"\210\311\314\312\313#\210\311\314\315\316\317\"#\210\320\211\205Z\211@\321\"\211\203R\211\322\"B\210A\266\202\202=\207" [file-name-handler-alist tramp-file-name-regexp tramp-completion-file-name-regexp tramp-completion-file-name-handler-alist (tramp-file-name-handler tramp-completion-file-name-handler tramp-autoload-file-name-handler) rassq delq add-to-list tramp-file-name-handler put safe-magic t tramp-completion-file-name-handler operations mapcar car (epa-file-handler jka-compr-handler) rassoc delete] 7 (#$ . 94365)])
(byte-code "\300\301\302 \"\207" [eval-after-load tramp tramp-register-file-name-handlers] 3)
#@251 Register (FUNC . HANDLER) in `tramp-foreign-file-name-handler-alist'.
FUNC is the function, which determines whether HANDLER is to be called.
Add operations defined in `HANDLER-alist' to `tramp-file-name-handler'.

(fn FUNC HANDLER &optional APPEND)
(defalias 'tramp-register-foreign-file-name-handler #[770 "\300\301B#\210\302\303\304\305\306\303\304N\307\310\311\312!\313P!J\"\"!#\207" [add-to-list tramp-foreign-file-name-handler-alist put tramp-file-name-handler operations delete-dups append mapcar car intern symbol-name "-alist"] 14 (#$ . 95230)])
#@79 Check, whether OPERATION runs a file name handler.

(fn OPERATION &rest ARGS)
(defalias 'tramp-exists-file-name-handler #[385 "\3031(\304\211\n\304\305\306\307\310\311\"\312\"\313\314%BC\315\"\232+\266\2020\207\210\316\207" [buffer-file-name default-directory file-name-handler-alist (error) "/" make-byte-code 385 "\301\232\203\207\300\303\")\207" vconcat vector [file-name-handler-alist apply] 5 "Returns OPERATION if it is the one to be checked.\n\n(fn OPERATION &rest ARGS)" apply nil] 13 (#$ . 95796)])
#@65 Unload Tramp file name handlers from `file-name-handler-alist'.
(defalias 'tramp-unload-file-name-handlers #[0 "\301\211\205\211@\302\"\303\"\210A\266\202\202\207" [file-name-handler-alist (tramp-file-name-handler tramp-completion-file-name-handler tramp-autoload-file-name-handler) rassq delq] 6 (#$ . 96329)])
(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers)
#@77 If non-nil, external packages signal that they are in file name completion.
(defvar tramp-completion-mode nil (#$ . 96720))
(make-obsolete-variable 'tramp-completion-mode 'non-essential "26.1")
#@69 Check, whether method / user name / host name completion is active.
(defalias 'tramp-completion-mode-p #[0 "\206	\207" [non-essential tramp-completion-mode] 1 (#$ . 96920)])
#@190 Check, whether it is possible to connect the remote host w/o side-effects.
This is true, if either the remote host is already connected, or if we are
not in completion mode.

(fn FILENAME)
(defalias 'tramp-connectable-p #[257 "\301\302!\205\303 ?\206\304\305\306!!!)\207" [tramp-verbose nil tramp-tramp-file-p tramp-completion-mode-p process-live-p tramp-get-connection-process tramp-dissect-file-name] 5 (#$ . 97104)])
#@84 Like `file-name-all-completions' for partial Tramp files.

(fn FILENAME DIRECTORY)
(defalias 'tramp-completion-handle-file-name-all-completions #[514 "\306\307\"!\310\211\211\311\312\211	\n\313\314\260\"\203(\315\316\"\262\317\320\310\211\316%\262\321!\211\203\323\211@\211\242>\204?\322\323\324D\"\210\211A@\242>\204P\322\323\324D\"\210\3258\242>\204a\322\323\324D\"\210\3268\242>\204s\322\323\324D\"\210\3278\330#\310C\204\311\204\213\203\300\331\332\333\334\335\336!\337\"\327\340%\341!\"\210\342\n\343\332\333\344\335\336


#\345\"\346\340%\347\310\242\"\"\"\262\n\202\311\342\n\350!\"\262\n)\266A\266\202\202+\210\211\203\211@\211\203\373\311\"\210\317
P\310\211$\262\211\306!G\310OB\262A\266\202\202\325\210\342\3511\352\353		D\"0\202\210\310\"\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp cl-struct-tramp-file-name-tags tramp-current-user tramp-prefix-format tramp-drop-volume-letter expand-file-name nil string-match "\\(" "\\)+" "\\)" match-string 1 replace-match "" tramp-completion-dissect-file-name signal wrong-type-argument tramp-file-name 2 4 6 tramp-find-method mapc make-byte-code 257 "\300\301\300\242@A@!\"\240\207" vconcat vector [append] "\n\n(fn X)" tramp-get-completion-function append mapcar "\303\300\301\302@A@%\207" [tramp-get-completion-user-host] 7 delq tramp-get-completion-methods (error) tramp-run-real-handler file-name-all-completions] 25 (#$ . 97537)])
#@91 Like `file-name-completion' for Tramp files.

(fn FILENAME DIRECTORY &optional PREDICATE)
(defalias 'tramp-completion-handle-file-name-completion #[770 "\300\301\302\303\"\"\205)\304\305\"!\205)\306\307\310\311\312		\"\313\"\314\315%#\207" [try-completion mapcar list file-name-all-completions tramp-connectable-p expand-file-name make-byte-code 257 "\301\302@\300\"!\207" vconcat vector [expand-file-name] 5 "\n\n(fn X)"] 13 (#$ . 99057)])
#@121 Returns a list of `tramp-file-name' structures.
They are collected by `tramp-completion-dissect-file-name1'.

(fn NAME)
(defalias 'tramp-completion-dissect-file-name #[257 "\306\307\310G\311U\203	\202\"\n\312\313\260\314\315\211\211\257\n\312\316\f\312
	\313\260	\314\317\315\211\257\n\312\316\f\312\n\313\260	\314\315\317\315\257\n\312\316\f\312\n\f\313\260\n\314\315\317\315\257\n\312\316\f\312
\316\312\313\260
\314\317\320\315\257\n\312\316\f\312
\316\312\313\260\314\317\320\315\257\321\315\322\323\324\325\326\327!\330\"\331\332%						\257\"\"\207" [tramp-postfix-ipv6-format tramp-postfix-host-format tramp-prefix-regexp tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp "\\|\\(\\)" format "[^%s]*" 0 "\\(" "\\)$" 1 nil "\\)" 2 3 delq mapcar make-byte-code 257 "\301\300\"\207" vconcat vector [tramp-completion-dissect-file-name1] 4 "\n\n(fn STRUCTURE)" tramp-host-regexp tramp-prefix-ipv6-regexp tramp-postfix-user-regexp] 22 (#$ . 99520)])
#@187 Returns a `tramp-file-name' structure matching STRUCTURE.
The structure consists of remote method, remote user,
remote host and localname (filename on remote host).

(fn STRUCTURE NAME)
(defalias 'tramp-completion-dissect-file-name1 #[514 "\300 \301\302\303\304\305!\306\"\307$\216\310@\"\205F\311\312A@\205$\313A@\"\314\3158\2054\313\3158\"\316\307	8\205D\313\307\n8	\"&)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match make-tramp-file-name :method match-string :user 2 :host] 12 (#$ . 100545)])
#@73 Returns all method completions for PARTIAL-METHOD.

(fn PARTIAL-METHOD)
(defalias 'tramp-get-completion-methods #[257 "\301\302\303\304\305\306!\307\"\310\311%\301\312\"\"\207" [tramp-methods mapcar make-byte-code 257 "\211\205\301\302\303\300!P\"\205\304\305\211\211$\207" vconcat vector [string-match "^" regexp-quote tramp-completion-make-tramp-file-name nil] 6 "\n\n(fn METHOD)" car] 8 (#$ . 101132)])
#@178 Returns the most expanded string for user and host name completion.
PARTIAL-USER must match USER, PARTIAL-HOST must match HOST.

(fn METHOD PARTIAL-USER PARTIAL-HOST USER HOST)
(defalias 'tramp-get-completion-user-host #[1285 "\2030\2030\211\203'\300\301\302!P\"\203'\206\230\203'\262\202o\303\262\303\262\202o\203M\303\262\203G\300\301\302!P\"\204o\303\262\202o\203i\303\262\211\203c\300\301\302!P\"\204o\303\262\202o\303\262\303\262GG\\\304U?\205\200\305\303$\207" [string-match "^" regexp-quote nil 0 tramp-completion-make-tramp-file-name] 10 (#$ . 101554)])
#@213 Return a list of (user host) tuples allowed to access for METHOD.
This function is added always in `tramp-get-completion-function'
for all methods.  Resulting data are derived from default settings.

(fn METHOD)
(defalias 'tramp-parse-default-user-host #[257 "\300\301\211#\302\301\211#DC\207" [tramp-find-user nil tramp-find-host] 6 (#$ . 102171)])
#@104 Return a (user host) tuple allowed to access.
User is always nil.

(fn REGEXP MATCH-LEVEL SKIP-REGEXP)
(defalias 'tramp-parse-group #[771 "\300\301\302 \303#\203\300\304!D\262\300w\305V\204\306y\210\211\207" [nil re-search-forward point-at-eol t match-string 0 1] 8 (#$ . 102530)])
#@100 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME FUNCTION)
(defalias 'tramp-parse-file #[514 "\301\302\303N@!\304!\205<\305\306!r\211q\210\307\310\311\312\313!\314\"\315$\216\316!\210eb\210\317m\2045 B\262\202(\211\237\262*\262)\207" [default-directory eval temporary-file-directory standard-value file-readable-p generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents nil] 9 (#$ . 102827)])
#@103 Return a list of (user host) tuples allowed to access.
Either user or host may be nil.

(fn FILENAME)
(defalias 'tramp-parse-rhosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-rhosts-group] 4 (#$ . 103365)])
#@79 Return a (user host) tuple allowed to access.
Either user or host may be nil.
(defalias 'tramp-parse-rhosts-group #[0 "\302\303\304\305\306	\304\307\260\310\311 \312#\203\313\314\315!\314\316!D!\262\316y\210\207" [tramp-host-regexp tramp-user-regexp nil "^\\(" "\\)" "\\([ 	]+" "\\(" "\\)?" re-search-forward point-at-eol t append match-string 3 1] 9 (#$ . 103589)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-shosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-shosts-group] 4 (#$ . 103969)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-shosts-group #[0 "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "^\\(" "\\)" 1 ","] 4 (#$ . 104181)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-sconfig #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-sconfig-group] 4 (#$ . 104398)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-sconfig-group #[0 "\301\302\303\304R\305\306#\207" [tramp-host-regexp tramp-parse-group "^[ 	]*Host[ 	]+" "\\(" "\\)" 1 ","] 5 (#$ . 104612)])
#@97 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME REGEXP)
(defalias 'tramp-parse-shostkeys-sknownhosts #[514 "\301\302\303N@!\304!\205\305!\211\306\211:\203;@\262\307\310\"\2044\307\"\2034\306\311\312\"DB\262A\262\202\211\237\266\203)\207" [default-directory eval temporary-file-directory standard-value file-directory-p directory-files nil string-match "^\\.\\.?$" match-string 1] 10 (#$ . 104851)])
#@90 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME)
(defalias 'tramp-parse-shostkeys #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^key_[0-9]+_\\(" "\\)\\.pub$"] 6 (#$ . 105317)])
#@90 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn DIRNAME)
(defalias 'tramp-parse-sknownhosts #[257 "\301\302\303Q\"\207" [tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^\\(" "\\)\\.ssh-\\(dss\\|rsa\\)\\.pub$"] 6 (#$ . 105578)])
#@91 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn FILENAME)
(defalias 'tramp-parse-hosts #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-hosts-group] 4 (#$ . 105852)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-hosts-group #[0 "\302\303\304	\305\260\306\307#\207" [tramp-ipv6-regexp tramp-host-regexp tramp-parse-group "^\\(" "\\|" "\\)" 1 " 	"] 6 (#$ . 106062)])
#@99 Return a list of (user host) tuples allowed to access.
Host is always "localhost".

(fn FILENAME)
(defalias 'tramp-parse-passwd #[257 "\300\301\302\303#\211\303=\203Y\304\305!\203M\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\317\301\305\301\320\301\321&\311U\205Geb\210\301m\204C\322 B\262\2026\211\237\262*\262\202Q\323\324\"\262\325\301\302#\210\211\207" [tramp-get-connection-property nil "parse-passwd" undef executable-find "getent" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process t "passwd" tramp-parse-etc-group-group tramp-parse-file tramp-parse-passwd-group tramp-set-connection-property] 10 (#$ . 106312)])
#@75 Return a (user host) tuple allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-passwd-group #[0 "\301\302\303Q\304\305 \306#\203\307\310!\311D\262\310y\210\207" [tramp-user-regexp nil "^\\(" "\\):" re-search-forward point-at-eol t match-string 1 "localhost"] 6 (#$ . 107053)])
#@100 Return a list of (group host) tuples allowed to access.
Host is always "localhost".

(fn FILENAME)
(defalias 'tramp-parse-etc-group #[257 "\300\301\302\303#\211\303=\203Y\304\305!\203M\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\317\301\305\301\320\301\321&\311U\205Geb\210\301m\204C\322 B\262\2026\211\237\262*\262\202Q\323\322\"\262\324\301\302#\210\211\207" [tramp-get-connection-property nil "parse-group" undef executable-find "getent" generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process t "group" tramp-parse-etc-group-group tramp-parse-file tramp-set-connection-property] 10 (#$ . 107361)])
#@76 Return a (group host) tuple allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-etc-group-group #[0 "\300\301`\302 {\303\"\304 \301\3058\306\307#\235\203\211@\310D\262\311y\210\207" [nil split-string point-at-eol ":" user-login-name 3 "," omit "localhost" 1] 7 (#$ . 108079)])
#@88 Return a list of (user host) tuples allowed to access.
User may be nil.

(fn FILENAME)
(defalias 'tramp-parse-netrc #[257 "\300\301\"\207" [tramp-parse-file tramp-parse-netrc-group] 4 (#$ . 108385)])
#@64 Return a (user host) tuple allowed to access.
User may be nil.
(defalias 'tramp-parse-netrc-group #[0 "\302\303\304\305\306\304	\305\307\260	\310\311 \312#\203\313\314!\313\315!D\262\315y\210\207" [tramp-host-regexp tramp-user-regexp nil "^[ 	]*machine[ 	]+" "\\(" "\\)" "\\([ 	]+login[ 	]+" "\\)?" re-search-forward point-at-eol t match-string 3 1] 10 (#$ . 108592)])
#@102 Return a list of (user host) tuples allowed to access.
User is always nil.

(fn REGISTRY-OR-DIRNAME)
(defalias 'tramp-parse-putty #[257 "\302>\203W\303\304\305\306#\211\306=\203U\307\310!r\211q\210\311\312\313\314\315!\316\"\317$\216\320\304\321\304\322\304\323	&\312U\205Jeb\210\304m\204F\324!B\262\2028\211\237\262*\262\262\325\304\305#\210\211\207\326\327	\330Q\"\207" [system-type tramp-host-regexp (windows-nt) tramp-get-connection-property nil "parse-putty" undef generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 tramp-call-process "reg" t "query" tramp-parse-putty-group tramp-set-connection-property tramp-parse-shostkeys-sknownhosts "^\\(" "\\)$"] 11 (#$ . 108974)])
#@82 Return a (user host) tuple allowed to access.
User is always nil.

(fn REGISTRY)
(defalias 'tramp-parse-putty-group #[257 "\300\301!\302P\303\304 \305#\203\300\306\307!D\262\307y\210\207" [nil regexp-quote "\\\\\\(.+\\)" re-search-forward point-at-eol t match-string 1] 7 (#$ . 109745)])
#@71 Normal hook to be run at the end of `tramp-*-handle-file-local-copy'.
(defvar tramp-handle-file-local-copy-hook nil (#$ . 110045))
#@68 Normal hook to be run at the end of `tramp-*-handle-write-region'.
(defvar tramp-handle-write-region-hook nil (#$ . 110182))
#@96 Like `add-name-to-file' for Tramp files.

(fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)
(defalias 'tramp-handle-add-name-to-file #[770 "\306\307!\203\202\f!\211\242>\204\310\311\312D\"\210\211A@\242>\204,\310\311\312D\"\210\3138\242>\204=\310\311\312D\"\210\3148\242>\204O\310\311\312D\"\210\3158\242>\204a\310\311\312D\"\210\3168\242>\204s\310\311\312D\"\210\3178\242>\204\207\310\311\312	D\"\210\3208\321\"\204[\322\323\324C\325\211\203Y\211\326\327\330\331\332!!\333\216\n\334 \210)r\nq\210\335 +C\3361RX\205L\337 \340\341\342\343\344!\345\"\314$\216	\203\314X\203\346\347\341U\203\350\350\202\375\351U\203\362\350\202\375\313U\203\374\352\202\375\353P#\210\315Y\205I\354!\203\341\355\356\325#\262)\351U\2034\341r\357!q\210\327P\262\360\335 C\"\262*\242>\205I\346\361\362\363\"P$)\2620\266\205\202\217\210\325\266\205\202\217\326Y\205\215\fr\330\364!q\210p\365 \210\325\211@\366\211A\366BC\367 \210\370\371!\210+\211\334 \372!\210)\266\202\262\210\211\204\233C\262\373\262\203O\351\373\374\211\375N\346\376		#E!C\3361JX\205D\337 \340\341\342\343\344!\345\"\314$\216	\203\372\314X\203\372\346\347\341U\203\340\350\202\365\351U\203\352\350\202\365\313U\203\364\352\202\365\353P#\210\315Y\205A\354!\203\341\355\356\325#\262)\351U\203,\341r\357!q\210\327P\262\360\335 C\"\262*\242>\205A\346\361\362\363\"P$)\2620\266\204\202N\210\325\266\204\210\310\346\376#C\")\266\377\n!\203M\203z\247\203F\201D\362\201E\"!\204F\201F\325\211\211\203A\211\326\327\330\331\332!!\333\216\n\334 \210)r\nq\210\335 +C\3361:X\2054\337 \340\341\342\343\344!\345\"\314$\216	\203\352\314X\203\352\346\347\341U\203\320\350\202\345\351U\203\332\350\202\345\313U\203\344\352\202\345\353P#\210\315Y\2051\354!\203\341\355\356\325#\262)\351U\203\341r\357!q\210\327P\262\360\335 C\"\262*\242>\2051\346\361\362\363\"P$)\2620\266\205\202w\210\325\266\205\202w\326Y\205u\fr\330\364!q\210p\365 \210\325\211@\366\211A\366BC\367 \210\370\371!\210+\211\334 \372!\210)\266\202\262\210\211\204\203C\262\373\262\2037\351\373\374\211\375N\346\376		#E!C\33612X\205,\337 \340\341\342\343\344!\345\"\314$\216	\203\342\314X\203\342\346\347\341U\203\310\350\202\335\351U\203\322\350\202\335\313U\203\334\352\202\335\353P#\210\315Y\205)\354!\203\370\341\355\356\325#\262)\351U\203\341r\357!q\210\327P\262\360\335 C\"\262*\242>\205)\346\361\362\363\"P$)\2620\266\204\2026\210\325\266\204\210\310\346\376#C\")\266\202M\201G\n!\210\201H\201I!\"\210\201H\"\210\201J\201K\201L\201M\201N&\207" [cl-struct-tramp-file-name-tags tramp-message-show-message standard-output tramp-verbose default-directory buffer-read-only tramp-dissect-file-name tramp-tramp-file-p signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-equal-remote file-error "add-name-to-file: %s" "only implemented for same method, same user, same host" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message file-exists-p buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only yes-or-no-p "File %s already exists; make it a link anyway? " file-already-exists delete-file tramp-flush-file-property file-name-directory copy-file ok-if-already-exists keep-time preserve-uid-gid preserve-permissions] 27 (#$ . 110313)])
#@61 Like `directory-file-name' for Tramp files.

(fn DIRECTORY)
(defalias 'tramp-handle-directory-file-name #[257 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304	D\"\210\3128G\313U?\205\227\211GSH\314=\205\227\315\230?\266\210\203\245\211\313\316O\262\202\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 0 47 "/" -1] 12 (#$ . 114365)])
#@85 Like `directory-files' for Tramp files.

(fn DIRECTORY &optional FULL MATCH NOSORT)
(defalias 'tramp-handle-directory-files #[1025 "\300!\205N\301\302!!\262\303\304\"\237\305\211\203@\306\211A\262\242!\262\203-\307\"\203\2038P\2029\211B\262\202\203H\202L\310\311\"\266\203\207" [file-directory-p file-name-as-directory expand-file-name file-name-all-completions "" nil directory-file-name string-match sort string<] 10 (#$ . 115011)])
#@110 Like `directory-files-and-attributes' for Tramp files.

(fn DIRECTORY &optional FULL MATCH NOSORT ID-FORMAT)
(defalias 'tramp-handle-directory-files-and-attributes #[1281 "\300\301\302\303\304\305\n\n#\306\"\307\310%\311$\"\207" [mapcar make-byte-code 257 "\211\303\301\203\n\202\304\300\"\302\"B\207" vconcat vector [file-attributes expand-file-name] 6 "\n\n(fn X)" directory-files] 14 (#$ . 115484)])
#@49 Like `dired-uncache' for Tramp files.

(fn DIR)
(defalias 'tramp-handle-dired-uncache #[257 "\301\302!\203\202\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204.\304\305\306D\"\210\3078\242>\204?\304\305\306D\"\210\3108\242>\204Q\304\305\306D\"\210\3118\242>\204c\304\305\306D\"\210\3128\242>\204u\304\305\306D\"\210\3138\242>\204\211\304\305\306	D\"\210\3148\315\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name file-directory-p file-name-directory signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-directory-property] 12 (#$ . 115910)])
#@68 Like `file-accessible-directory-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-accessible-directory-p #[257 "\300!\205	\301!\207" [file-directory-p file-readable-p] 3 (#$ . 116539)])
#@65 Like `file-equalp-p' for Tramp files.

(fn FILENAME1 FILENAME2)
(defalias 'tramp-handle-file-equal-p #[514 "\300\301!!\300\301!!\230\205\302\303D\"\207" [file-remote-p expand-file-name tramp-run-real-handler file-equal-p] 6 (#$ . 116748)])
#@54 Like `file-exists-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-exists-p #[257 "\300!??\207" [file-attributes] 3 (#$ . 117000)])
#@70 Like `file-in-directory-p' for Tramp files.

(fn FILENAME DIRECTORY)
(defalias 'tramp-handle-file-in-directory-p #[514 "\300\301!!\300\301!!\230\205\302\303D\"\207" [file-remote-p expand-file-name tramp-run-real-handler file-in-directory-p] 6 (#$ . 117154)])
#@51 Like `file-modes' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-modes #[257 "\300!\206\211\301!\205\302\303!\3048\262!\207" [file-truename file-exists-p tramp-mode-string-to-int file-attributes 8] 6 (#$ . 117425)])
#@68 Like `file-name-as-directory' but aware of Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-as-directory #[257 "\301\302\"\303\242>\204\304\305\306D\"\210A@\242>\204$\304\305\306D\"\210\3078\242>\2046\304\305\306D\"\210\3108\242>\204H\304\305\306D\"\210\3118\242>\204Z\304\305\306D\"\210\3128\242>\204n\304\305\306	D\"\210\3138G\314U\203\203\315!\204\203\316\202\237\317\320\242>\204\225\304\305\306D\"\210\313	8\206\235\316C\"\242>\204\257\304\305\306\nD\"\210\3218&\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 0 tramp-connectable-p "" tramp-run-real-handler file-name-as-directory 7] 14 (#$ . 117670)])
#@69 Like `file-name-case-insensitive-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-name-case-insensitive-p #[257 "\304!\262\305!\211\242>\204\306\307\310D\"\210\211A@\242>\204'\306\307\310D\"\210\3118\242>\2048\306\307\310D\"\210\3128\242>\204J\306\307\310D\"\210\3138\242>\204\\\306\307\310D\"\210\3148\242>\204n\306\307\310D\"\210\3158\242>\204\202\306\307\310	D\"\210\3168\317\320\"\2062\321	\322\323#\2052\324\325\326#\211\326=\203/\3271\"\314\330\331C\3321E	X\205?\333 \334\335\336\337\340!\341\"\312$\216\n\203\365\312X\203\365\342\343\335U\203\333\344\202\360\345U\203\345\344\202\360\311U\203\357\346\202\360\347P#\210	\313Y\205<\350!\203\335\324\351\322#\262)\345U\203'\335r\352!q\210\353P\262\354\355 C\"\262*\242>\205<\342\356\357\360\"P$)\2620\266\204\202I\210\322\266\204\210\361C\n\205i\314	\312^X\205i\362\331\322\211#\211\205g\363\312\364\365$\262\334\335\366\337\340#\367\"\370$\216\371\f!\372!\211\373\374\372!\"\262\203\236\211G\311U\203\230\375\202\234\211\311\322O\262\321!P\266\202\322C\376\377\321\201@\"\"\203\307\201A!\204\307\371\201B!!\262\202\247\376\377\321\201@\"\"\204\363\211\201B!\201C\201D!\205\354\201D\201E!)\240\210\211\242\262\334\335\201F\337\340!\201G\"\311$\216\201A\321!\321\201@\"\226P!)\266\202\201H\240\210)\266\2020\202$\210\322\262\201I	\325#\210\211\262\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message default-directory expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-get-method-parameter tramp-case-insensitive file-remote-p nil connected tramp-get-connection-property "case-insensitive" undef (error) "%s..." #1="Checking case-insensitive" #2=(error) match-data make-byte-code 0 #3="\301\300\302\"\207" vconcat vector #4=[set-match-data evaporate] apply message #5="" 1 #6="Warning: " #7="Tramp: " processp #8="vector" tramp-get-connection-buffer #9="\n%s" append buffer-string tramp-debug-message format #10="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\302\203\306\302!\210\300\307\310\311\301\242D\3121\243X\205\241\313 \314\315\316\317\320!\321\"\322$\216\f\203W\322X\203W\323\324\315U\203=\325\202R\326U\203G\325\202R\327U\203Q\330\202R\331P#\210\332Y\205\236\333!\203m\315\334\335\336#\262)\326U\203\211\315r\337!q\210\340P\262\341\342 C\"\262*\242
>\205\236\323\343\344\345\"P$)\2620\207\210\336\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags cancel-timer 5 "%s...%s" #1# #2# match-data make-byte-code 0 #3# vconcat vector #4# 3 apply message #5# 1 2 #6# #7# 4 processp tramp-get-connection-property #8# nil tramp-get-connection-buffer #9# append buffer-string tramp-debug-message format #10#] 11 directory-file-name file-local-name string-prefix-p "/:" "/" string-match "[a-z]" localname file-exists-p file-name-directory functionp make-nearby-temp-file "tramp." "\300\242\205	\301\300\242!\207" [delete-file] "done" tramp-set-connection-property] 21 (#$ . 118448)])
#@91 Like `file-name-completion' for Tramp files.

(fn FILENAME DIRECTORY &optional PREDICATE)
(defalias 'tramp-handle-file-name-completion #[770 "\300!\204\301\302\"\210\303C\304\305\"\306\307\310\311\312\n\n\n#\313\"\314\315%#\206/\304\242\"\207" [tramp-tramp-file-p error "tramp-handle-file-name-completion invoked on non-tramp directory `%s'" nil try-completion file-name-all-completions make-byte-code 257 "\301\206\304\305\300\"!\205$\205#\306\307\310\"\311P\"\205#\302\302\242B\240?\207" vconcat vector [completion-ignored-extensions identity expand-file-name string-match regexp-opt paren "$"] 5 "\n\n(fn X)"] 15 (#$ . 121658)])
#@65 Like `file-name-directory' but aware of Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-directory #[257 "\301\302\"\303\242>\204\304\305\306D\"\210A@\242>\204$\304\305\306D\"\210\3078\242>\2046\304\305\306D\"\210\3108\242>\204H\304\305\306D\"\210\3118\242>\204Z\304\305\306D\"\210\3128\313\314\242>\204p\304\305\306D\"\210\315	8\206x\316C\"\242>\204\212\304\305\306\nD\"\210\3178&\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name t tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 tramp-run-real-handler file-name-directory 6 "" 7] 14 (#$ . 122321)])
#@68 Like `file-name-nondirectory' but aware of Tramp files.

(fn FILE)
(defalias 'tramp-handle-file-name-nondirectory #[257 "\301!\211\242>\204\302\303\304D\"\210\211A@\242>\204\"\302\303\304D\"\210\3058\242>\2043\302\303\304D\"\210\3068\242>\204E\302\303\304D\"\210\3078\242>\204W\302\303\304D\"\210\3108\242>\204i\302\303\304D\"\210\3118\242>\204}\302\303\304	D\"\210\3128\313\314C\"\207" [cl-struct-tramp-file-name-tags tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-run-real-handler file-name-nondirectory] 12 (#$ . 122976)])
#@66 Like `file-newer-than-file-p' for Tramp files.

(fn FILE1 FILE2)
(defalias 'tramp-handle-file-newer-than-file-p #[514 "\300!\204\301\207\300!\204\302\207\303\304!\3058\262\304!\3058\262\"\207" [file-exists-p nil t time-less-p file-attributes 5] 7 (#$ . 123588)])
#@55 Like `file-regular-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-regular-p #[257 "\300!\205\301!\3028\262\303H\304=\207" [file-exists-p file-attributes 8 0 45] 4 (#$ . 123869)])
#@89 Like `file-remote-p' for Tramp files.

(fn FILENAME &optional IDENTIFICATION CONNECTED)
(defalias 'tramp-handle-file-remote-p #[769 "\302^\303!\205\350\304!\305!\306!\205\307\310\311#\304\203'\312!\202)!\211\242	>\2048\313\314\315D\"\210\211A@\242	>\204I\313\314\315D\"\210\3168\242	>\204Z\313\314\315D\"\210\3028\242	>\204l\313\314\315D\"\210\3178\242	>\204~\313\314\315D\"\210\3208\242	>\204\220\313\314\315D\"\210\3218\242	>\204\244\313\314\315	D\"\210\3228\203\262\205\344\f\323\267\202\324\202\344\324!\202\344\325!\202\344\202\344\211\202\344\326\327&\266\210\266\203)\207" [tramp-verbose cl-struct-tramp-file-name-tags 3 tramp-tramp-file-p tramp-dissect-file-name tramp-get-connection-process process-live-p tramp-get-connection-property "connected" nil expand-file-name signal wrong-type-argument tramp-file-name 2 4 5 6 7 #s(hash-table size 5 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (method 185 user 190 host 197 localname 204 hop 208)) tramp-file-name-user-domain tramp-file-name-host-port tramp-make-tramp-file-name ""] 22 (#$ . 124077)])
#@61 Like `file-selinux-context' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-selinux-context #[257 "\300\207" [(nil nil nil nil)] 2 (#$ . 125239)])
#@55 Like `file-symlink-p' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-symlink-p #[257 "\300!\211@\262\211;\205
\211\207" [file-attributes] 3 (#$ . 125405)])
#@54 Like `file-truename' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-file-truename #[257 "\306!\307\310\311\312\313\314!\211\242>\204\315\316\317D\"\210\211A@\242>\204+\315\316\317D\"\210\3208\242>\204<\315\316\317D\"\210\3218\242>\204N\315\316\317D\"\210\3228\242>\204`\315\316\317D\"\210\3238\242>\204r\315\316\317D\"\210\3248\242>\204\206\315\316\317	D\"\210\3258\326!\203\240\327\330\331$\211\331=\203\232\332!\211\262
\203\210

W\203\210
T\262\314\306!!\211\242>\204\310\315\316\317D\"\210\211A@\242>\204\331\315\316\317D\"\210\3208\242>\204\352\315\316\317D\"\210\3218\242>\204\374\315\316\317D\"\210\3228\242>\204\315\316\317D\"\210\3238\242>\204 \315\316\317D\"\210\3248\242>\2044\315\316\317	D\"\210\3258\333\334\335\336!\"\262\203T\337\202U\340;\203\213\341!\203\200\311\211\334\335\336!\"\262\204|\341!\335\336!Q\262)\202\215\306\342!\"\202\215!&\266\210\262

Y\203\235\343\344C\311\211\203d\211\345\346\347\350\351!!\352\216\353 \210)rq\210\354 +C\3551]\fX\205W\356 \357\307\360\361\362!\363\"\321$\216\n\203\321X\203\364\365\307U\203\361\366\202\367U\203\373\366\202\320U\203\370\202\371P#\210\f\322Y\205T\372!\203!\307\373\374\311#\262)\367U\203=\307r\375!q\210\346P\262\376\354 C\"\262*\242>\205T\364\377\312\201E\"P$)\2620\266\205\202\253\210\311\266\205\202\253\f\345Y\205\251
r\347\201F!q\210p\201G \210\311\211@A\201H\211B\201HCD\201I \210\201J\201K!\210+\211\353 \201L!\210)\266\202\262\210\211\204\271C\262\201M\262\203w\367\201M\201N\211\201ON\364\201P		#E!C\3551r\fX\205l\356 \357\307\360\361\362!\363\"\321$\216\n\203 \321X\203 \364\365\307U\203\366\202\367U\203\366\202\320U\203\370\202\371P#\210\f\322Y\205i\372!\2036\307\373\374\311#\262)\367U\203R\307r\375!q\210\346P\262\376\354 C\"\262*\242>\205i\364\377\312\201E\"P$)\2620\266\204\202v\210\311\266\204\210\315\364\201P#C\")\266\202\235\201Q!\262\201R	\330$\210\211\262\202\221\332!\211\262\f\203\213\f\fW\203\213\fT\262
\314\306!!\211\242>\204\313\315\316\317D\"\210\211A@\242>\204\334\315\316\317D\"\210\3208\242>\204\355\315\316\317D\"\210\3218\242>\204\377\315\316\317D\"\210\3228\242>\204\315\316\317D\"\210\3238\242>\204#\315\316\317D\"\210\3248\242>\2047\315\316\317	D\"\210\3258\333\334\335\336!\"\262\203W\337\202X\340;\203\216\341!\203\203\311\211\334\335\336!\"\262\204\341!\335\336!Q\262)\202\220\306\342!\"\202\220!&\266\210\262\f\fY\203\240\343\344C\311\211\203g\211\345\346\347\350\351!!\352\216\353 \210)rq\210\354 +C\3551`\fX\205Z\356 \357\307\360\361\362!\363\"\321$\216\n\203\321X\203\364\365\307U\203\364\366\202	\367U\203\376\366\202	\320U\203\370\202	\371P#\210\f\322Y\205W\372!\203$\307\373\374\311#\262)\367U\203@\307r\375!q\210\346P\262\376\354 C\"\262*\242>\205W\364\377\312\201E\"P$)\2620\266\205\202\256\210\311\266\205\202\256\f\345Y\205\254
r\347\201F!q\210p\201G \210\311\211@A\201H\211B\201HCD\201I \210\201J\201K!\210+\211\353 \201L!\210)\266\202\262\210\211\204\274C\262\201M\262\203z\367\201M\201N\211\201ON\364\201P		#E!C\3551u\fX\205o\356 \357\307\360\361\362!\363\"\321$\216\n\203#\321X\203#\364\365\307U\203	\366\202\367U\203\366\202\320U\203\370\202\371P#\210\f\322Y\205l\372!\2039\307\373\374\311#\262)\367U\203U\307r\375!q\210\346P\262\376\354 C\"\262*\242>\205l\364\377\312\201E\"P$)\2620\266\204\202y\210\311\266\204\210\315\364\201P#C\")\266\202\240\201Q!\266\210\201S!\366\230\203\244\201T\202\245\366#\207" [cl-struct-tramp-file-name-tags file-name-handler-alist tramp-message-show-message standard-output tramp-verbose default-directory expand-file-name 0 20 nil format "%s%s" tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-name-absolute-p tramp-get-file-property "file-truename" undef file-symlink-p tramp-make-tramp-file-name string-prefix-p "/:" file-local-name tramp-compat-file-name-quote identity file-remote-p file-name-directory file-error "Maximum number (%d) of symlinks exceeded" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message directory-file-name tramp-set-file-property file-name-nondirectory "/"] 37 (#$ . 125584)])
#@62 Like `find-backup-file-name' for Tramp files.

(fn FILENAME)
(defalias 'tramp-handle-find-backup-file-name #[257 "\303!\211\242>\204\304\305\306D\"\210\211A@\242>\204\"\304\305\306D\"\210\3078\242>\2043\304\305\306D\"\210\3108\242>\204E\304\305\306D\"\210\3118\242>\204W\304\305\306D\"\210\3128\242>\204i\304\305\306D\"\210\3138\242>\204}\304\305\306	D\"\210\3148	\203\243\315\316\317\320\321\322\f\f\f\f\f&\323\"\324\325%	\"\202\244\n\326\327\nC\")\207" [cl-struct-tramp-file-name-tags tramp-backup-directory-alist backup-directory-alist tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 mapcar make-byte-code 257 "\211@A;\203%\306A!\203%\307A!\204%\310\300\301\302\303\304A\305&\202'AB\207" vconcat vector [file-name-absolute-p tramp-tramp-file-p tramp-make-tramp-file-name] 10 "\n\n(fn X)" tramp-run-real-handler find-backup-file-name] 21 (#$ . 130777)])
#@102 Like `insert-directory' for Tramp files.

(fn FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P)
(defalias 'tramp-handle-insert-directory #[1026 "\204\304\262\305!G\306U\203\211\204\307P\262\310\311!!\211\242>\204,\312\313\314D\"\210\211A@\242>\204=\312\313\314D\"\210\3158\242>\204N\312\313\314D\"\210\3168\242>\204`\312\313\314D\"\210\3178\242>\204r\312\313\314D\"\210\3208\242>\204\204\312\313\314D\"\210\3218\242>\204\230\312\313\314	D\"\210\3228\306\323\324\325\"C\3261>	X\2058\327 \330\306\331\332\333!\334\"\316$\216\n\203\356\316X\203\356\335\336\306U\203\324\304\202\351\337U\203\336\304\202\351\315U\203\350\340\202\351\341P#\210	\317Y\2055\342!\203\306\343\344\345#\262)\337U\203 \306r\346!q\210\347P\262\350\351 C\"\262*\242>\2055\335\352\324\353\"P$)\2620\266\204\202B\210\345\266\204\210\354C\n\205f\306	\316^X\205f\355\324\325\"\345\211#\211\205d\356\316\357\360$\262\330\306\361\332\333$\362\"\363$\216\364\365!\210\345\211\366\367F\"\210\370\371\"?\205\320\212eb\210\372`\373 \374\375$\211\262\205\317\211\376\373 \374\375$\206\265\373 |\210\377 \373 U\203\311`\345y\210`|\210\202\233\345y\210\202\233))\266\202\201@\240\210)\266\202\207" [cl-struct-tramp-file-name-tags tramp-verbose tramp-message-show-message ls-lisp-use-insert-directory-program #5="" file-name-nondirectory 0 "F" tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 "%s..." format #1="Opening directory %s" #2=(error) match-data make-byte-code #3="\301\300\302\"\207" vconcat vector #4=[set-match-data evaporate] apply message 1 #6="Warning: " #7="Tramp: " processp tramp-get-connection-property #8="vector" nil tramp-get-connection-buffer #9="\n%s" append buffer-string tramp-debug-message #10="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\303\203\306\303!\210\301\307\310\311\312\300\"\302\242D\3131\247\fX\205\245\314 \315\307\316\317\320!\321\"\322$\216
\203Z\322X\203Z\323\324\307U\203@\325\202U\326U\203J\325\202U\327U\203T\330\202U\331P#\210\f\332Y\205\242\333!\203p\307\334\335\336#\262)\326U\203\214\307r\337!q\210\340P\262\341\342 C\"\262*\242%>\205\242\323\343\311\344\"P$)\2620\207\210\336\207" [tramp-verbose tramp-message-show-message cancel-timer 0 "%s...%s" format #1# #2# match-data make-byte-code #3# vconcat vector #4# 3 apply message #5# 1 2 #6# #7# 4 processp tramp-get-connection-property #8# nil tramp-get-connection-buffer #9# append buffer-string tramp-debug-message #10# cl-struct-tramp-file-name-tags] 11 require ls-lisp tramp-run-real-handler insert-directory string-match "l" text-property-not-all point-at-eol dired-filename t text-property-any point-at-bol "done"] 23 (#$ . 131735)])
#@93 Like `insert-file-contents' for Tramp files.

(fn FILENAME &optional VISIT BEG END REPLACE)
(defalias 'tramp-handle-insert-file-contents #[1281 "C\306 \210\211\307\242!\240\210\310\211C\310C\311\242!\211\242>\204#\312\313\314D\"\210\211A@\242>\2044\312\313\314D\"\210\3158\242>\204E\312\313\314D\"\210\3168\242>\204W\312\313\314D\"\210\3178\242>\204i\312\313\314D\"\210\3208\242>\204{\312\313\314D\"\210\3218\242>\204\217\312\313\314	D\"\210\3228\323\324\325\326\327&	\330\"\331$\216\332\f\242!\204\212	\333\242C\310\211\203\200\211\334\335\336\337\340!!\341\216\342 \210)rq\210\343 +C\3441y\fX\205s\345 \323\324\346\326\327!\347\"\316$\216\n\203)\316X\203)\350\351\324U\203\352\202$\353U\203\352\202$\315U\203#\354\202$\355P#\210\f\317Y\205p\356!\203?\324\357\360\310#\262)\353U\203[\324r\361!q\210\335P\262\362\343 C\"\262*\242>\205p\350\363\364\365\"P$)\2620\266\205\202\267\210\310\266\205\202\267\f\334Y\205\265
r\336\366!q\210p\367 \210\310\211@A\370\211B\370CD\371 \210\372\373!\210+\211\342 \374!\210)\266\202\262\210\211\204\303C\262\375\262\203y\353\375\376\211\377N\350\201I		#E!C\3441t\fX\205n\345 \323\324\346\326\327!\347\"\316$\216\n\203$\316X\203$\350\351\324U\203\n\352\202\353U\203\352\202\315U\203\354\202\355P#\210\f\317Y\205k\356!\203:\324\357\360\310#\262)\353U\203V\324r\361!q\210\335P\262\362\343 C\"\262*\242>\205k\350\363\364\365\"P$)\2620\266\204\202x\210\310\266\204\210\312\350\201I#C\")\266\202\f\316\201J\201I\201K\242\"C\34413\fX\205-\345 \323\324\346\326\327!\347\"\316$\216\n\203\343\316X\203\343\350\351\324U\203\311\352\202\336\353U\203\323\352\202\336\315U\203\335\354\202\336\355P#\210\f\317Y\205*\356!\203\371\324\357\360\310#\262)\353U\203\324r\361!q\210\335P\262\362\343 C\"\262*\242>\205*\350\363\364\365\"P$)\2620\266\204\2027\210\310\266\204\210\201LC\n\205j\316\f\316^X\205j\201M\201I\201K\242\"\310\211#\211\205h\201N\316\201O\201P$\262\323\324\201Q\326\327$\201R\"\201S$\216\201T1\333\201U\n!\203\266\310E\201V!)\203\266\201W\201X\257\"\211\262\202\327\204\300\203?\201Y\n\201Z\"\203?\n\201[!\240\210\201\\\201]!\2036\201]\n\203\203\364\201^\201_	!Z\242%\2024\203\364\201`\201_	!\242$\2024\2054\364\201a\201_	!\242$\"\210\310\211F\262\310\262G\201X=\205M\201bG\242;\203o\201b\201c\242&!\202\216F;\203\207\201d\242F\201e#\210F\202\216\201b\242!)\240\210\201f\f\242\201g\201h\331\"\"\210\n\242\204\270\201Y\n\201i\"\203\270\242F\201j\242
\242\"H\201X\f\242%\211\262)0\202\201k\201l\201m\310\312\201n@D\201nADEE\310\370$\210\312@A\"\262\210\201o\240\210)\266)\307\f\242!A@D\266\210\266\203\207" [cl-struct-tramp-file-name-tags tramp-file-missing tramp-message-show-message standard-output tramp-verbose default-directory barf-if-buffer-read-only expand-file-name nil tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 make-byte-code 0 "\301\203\300\242\311\300\242!?\312 \210\313\314!\210\302\242;\203+\303\242\204&\204+\315\302\242!\210\303\242;\205=\315\316\304\305\306\307\310\303\242&!\207" vconcat vector [file-writable-p set-visited-file-modtime set-buffer-modified-p nil delete-file tramp-make-tramp-file-name buffer-file-name buffer-read-only tramp-temp-buffer-file-name] 8 file-exists-p "File `%s' not found on remote host" 10 #9="\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #2=(error) match-data #3="\301\300\302\"\207" #4=[set-match-data evaporate] apply message #5="" 1 #6="Warning: " #7="Tramp: " processp tramp-get-connection-property #8="vector" tramp-get-connection-buffer append tramp-debug-message format #10="(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only file-name-handler-alist tramp-temp-buffer-file-name inhibit-file-name-operation file-coding-system-alist format-message "%s..." #1="Inserting `%s'" "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\250\fX\205\246\314 \315\316\317\320\321!\322\"\307$\216
\203[\307X\203[\323\324\316U\203A\325\202V\326U\203K\325\202V\327U\203U\330\202V\331P#\210\f\332Y\205\243\333!\203q\316\334\335\336#\262)\326U\203\215\316r\337!q\210\340P\262\341\342 C\"\262*\242&>\205\243\323\343\344\345\"P$)\2620\207\210\336\207" [tramp-verbose tramp-message-show-message cancel-timer 3 "%s...%s" format-message #1# #2# match-data make-byte-code 0 #3# vconcat vector #4# apply message #5# 1 2 #6# #7# 4 processp tramp-get-connection-property #8# nil tramp-get-connection-buffer #9# append buffer-string tramp-debug-message format #10# cl-struct-tramp-file-name-tags] 11 (error) tramp-local-host-p file-readable-p tramp-run-real-handler insert-file-contents tramp-get-method-parameter tramp-login-program tramp-make-tramp-temp-file functionp tramp-send-command "dd bs=1 skip=%d if=%s count=%d of=%s" tramp-shell-quote-argument "dd bs=1 skip=%d if=%s of=%s" "dd bs=1 count=%d if=%s of=%s" file-local-copy tramp-make-tramp-file-name copy-file ok set-file-modes string-to-number "0600" tramp-copy-keep-tmpfile tramp-find-file-name-coding-system-alist add-hook find-file-not-found-functions lambda quote "done"] 34 (#$ . 134618)])
#@90 Like `load' for Tramp files.

(fn FILE &optional NOERROR NOMESSAGE NOSUFFIX MUST-SUFFIX)
(defalias 'tramp-handle-load #[1281 "C\306\307\242!!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\n\204\262\321	\242\322P!\203\240\211\242\322P\240\210\202\262\321	\242\323P!\203\262\211\242\323P\240\210	\203\231\324	\242!\204\231\325\326\n\242\"\204\231\327\330\242C\331\211\203\217\211\332\333\334\335\336!!\337\216\n\340 \210)r\nq\210\341 +C\3421\210X\205\202\343 \344\345\346\347\350!\351\"\314$\216	\2038\314X\2038\352\353\345U\203\354\2023\355U\203(\354\2023\313U\2032\356\2023\357P#\210\315Y\205\360!\203N\345\361\362\331#\262)\355U\203j\345r\363!q\210\333P\262\364\341 C\"\262*\242>\205\352\365\366\367\"P$)\2620\266\205\202\305\210\331\266\205\202\305\332Y\205\303\fr\334\370!q\210p\371 \210\331\211@\372\211A\372BC\373 \210\374\375!\210+\211\340 \376!\210)\266\202\262\210\211\204\321C\262\377\262\203\213\355\377\201E\211\201FN\352\201G		#E!C\3421\206X\205\200\343 \344\345\346\347\350!\351\"\314$\216	\2036\314X\2036\352\353\345U\203\354\2021\355U\203&\354\2021\313U\2030\356\2021\357P#\210\315Y\205}\360!\203L\345\361\362\331#\262)\355U\203h\345r\363!q\210\333P\262\364\341 C\"\262*\242>\205}\352\365\366\367\"P$)\2620\266\204\202\212\210\331\266\204\210\310\352\201G#C\")\266\f\204z\321	\242!\204zD\201H\242C\331\211\203p\211\332\333\334\335\336!!\337\216\n\340 \210)r\nq\210\341 +C\3421iX\205c\343 \344\345\346\347\350!\351\"\314$\216	\203\314X\203\352\353\345U\203\377\354\202\355U\203	\354\202\313U\203\356\202\357P#\210\315Y\205`\360!\203/\345\361\362\331#\262)\355U\203K\345r\363!q\210\333P\262\364\341 C\"\262*\242>\205`\352\365\366\367\"P$)\2620\266\205\202\246\210\331\266\205\202\246\332Y\205\244\fr\334\370!q\210p\371 \210\331\211@\372\211A\372BC\373 \210\374\375!\210+\211\340 \376!\210)\266\202\262\210\211\204\262C\262\377\262\203l\355\377\201E\211\201FN\352\201G		#E!C\3421gX\205a\343 \344\345\346\347\350!\351\"\314$\216	\203\314X\203\352\353\345U\203\375\354\202\355U\203\354\202\313U\203\356\202\357P#\210\315Y\205^\360!\203-\345\361\362\331#\262)\355U\203I\345r\363!q\210\333P\262\364\341 C\"\262*\242>\205^\352\365\366\367\"P$)\2620\266\204\202k\210\331\266\204\210\310\352\201G#C\")\266\321	\242!\205\254?\345\201I\366\201J
\242\"C\3421-X\205'\343 \344\345\346\347\350!\351\"\314$\216	\203\335\314X\203\335\352\353\345U\203\303\354\202\330\355U\203\315\354\202\330\313U\203\327\356\202\330\357P#\210\315Y\205$\360!\203\363\345\361\362\331#\262)\355U\203\345r\363!q\210\333P\262\364\341 C\"\262*\242>\205$\352\365\366\367\"P$)\2620\266\204\2021\210\331\266\204\210\201KC	\205b\345\314^X\205b\201L\366\201J\f\242\"\331\211#\211\205`\201M\314\201N\201O$\262\344\345\201P\347\350$\201Q\"\201R$\216\201S\242!\344\345\201T\347\350!\201U\"\313$\216\201V\372%\210)\210\201W\240\210)\266)\372\266\210\207" [cl-struct-tramp-file-name-tags tramp-message-show-message standard-output tramp-verbose default-directory buffer-read-only tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p ".elc" ".el" file-name-directory string-match "\\.elc?\\'" file-error "File `%s' does not include a `.el' or `.elc' suffix" nil 10 #9="\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #2=(error) match-data make-byte-code 0 #3="\301\300\302\"\207" vconcat vector #4=[set-match-data evaporate] apply message #5="" 1 #6="Warning: " #7="Tramp: " processp tramp-get-connection-property #8="vector" tramp-get-connection-buffer append tramp-debug-message format #10="(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only tramp-file-missing error-message-string error-message format-message "Cannot load nonexistent file `%s'" "%s..." #1="Loading %s" "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\303\203\306\303!\210\301\307\310\311\312\300\242\"\302\242D\3131\250\fX\205\246\314 \315\307\316\317\320!\321\"\322$\216
\203[\322X\203[\323\324\307U\203A\325\202V\326U\203K\325\202V\327U\203U\330\202V\331P#\210\f\332Y\205\243\333!\203q\307\334\335\336#\262)\326U\203\215\307r\337!q\210\340P\262\341\342 C\"\262*\242%>\205\243\323\343\311\344\"P$)\2620\207\210\336\207" [tramp-verbose tramp-message-show-message cancel-timer 0 "%s...%s" format #1# #2# match-data make-byte-code #3# vconcat vector #4# 3 apply message #5# 1 2 #6# #7# 4 processp tramp-get-connection-property #8# nil tramp-get-connection-buffer #9# append buffer-string tramp-debug-message #10# cl-struct-tramp-file-name-tags] 11 file-local-copy "\301\300!\207" [delete-file] load "done"] 30 (#$ . 140491)])
#@183 Like `make-symbolic-link' for Tramp files.
This is the fallback implementation for backends which do not
support symbolic links.

(fn TARGET LINKNAME &optional OK-IF-ALREADY-EXISTS)
(defalias 'tramp-handle-make-symbolic-link #[770 "\306\307!!\203\320\310\307!!\311\312\313\211\211\203\317\211\314\315\316\317\320!!\321\216	\322 \210)r	q\210\323 +C\3241\310\nX\205\302\325 \326\327\330\331\332!\333\"\334$\216\203x\334X\203x\335\336\327U\203^\337\202s\340U\203h\337\202s\341U\203r\342\202s\343P#\210\n\344Y\205\277\345!\203\216\327\346\347\313#\262)\340U\203\252\327r\350!q\210\315P\262\351\323 C\"\262*\242>\205\277\335\352\353\354\"P$)\2620\266\205\202\210\313\266\205\202\n\314Y\205\fr\316\355!q\210p\356 \210\313\211;\357\211<\357=>\360 \210\361\362!\210+\211\322 \363!\210)\266\202\262\210\211\204C\262\364\262\203\305\340\364\365\211\366N\335\367		#E!C\3241\300\nX\205\272\325 \326\327\330\331\332!\333\"\334$\216\203p\334X\203p\335\336\327U\203V\337\202k\340U\203`\337\202k\341U\203j\342\202k\343P#\210\n\344Y\205\267\345!\203\206\327\346\347\313#\262)\340U\203\242\327r\350!q\210\315P\262\351\323 C\"\262*\242>\205\267\335\352\353\354\"P$)\2620\266\204\202\304\210\313\266\204\210\370\335\367#C\")\207\371\372E\"\207" [tramp-message-show-message standard-output tramp-verbose cl-struct-tramp-file-name-tags default-directory buffer-read-only tramp-tramp-file-p expand-file-name tramp-dissect-file-name file-error "make-symbolic-link not supported" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal tramp-run-real-handler make-symbolic-link buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 19 (#$ . 145996)])
#@90 Like `shell-command' for Tramp files.

(fn COMMAND &optional OUTPUT-BUFFER ERROR-BUFFER)
(defalias 'tramp-handle-shell-command #[769 "\304\305\"\306\307\310!\311\"\307\310!\312\"B\313OC\"\314\315!\203#\202D;\203.\316!\202D\2039\317\262p\202D\316\203B\320\202C\321!\315!\203N\202V;\205V\316!\204\353\211\203\353\310!\211\242	>\204o\322\323\324D\"\210\211A@\242	>\204\200\322\323\324D\"\210\3258\242	>\204\221\322\323\324D\"\210\3268\242	>\204\243\322\323\324D\"\210\3278\242	>\204\265\322\323\324D\"\210\3308\242	>\204\307\322\323\324D\"\210\3318\242	>\204\333\322\323\324	D\"\210\3328	\333	!D\266\210\202\354\334!\211\203\"\335\336!\203\f\3371\340!0\202\210\202\"\210\202\"\211\341\314\342\343\344\345!\203\345\202\346%\266\2031\347 \210\350\314\317\"\210\202;rq\210\314\351 \210)\204k\250\203k\342\352\353	$\211\262rq\210\354\355\"\210\356\357 \210\360\361\"\210\362\363\"\210)\202\257\342\364@\314\314A&<\203\216rq\210\365A@!\210)\366A@!\210\203\240\367\317!\370 `p\223\210b\210\202\257rq\210deV)\203\257\371!\210\207" [default-directory cl-struct-tramp-file-name-tags buffer-read-only mode-line-process string-match "[ 	]*&[ 	]*\\'" append tramp-get-method-parameter tramp-dissect-file-name tramp-remote-shell tramp-remote-shell-args 0 nil bufferp get-buffer-create t "*Async Shell Command*" "*Shell Command Output*" signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-make-tramp-temp-file get-buffer-process yes-or-no-p "A command is running.  Kill it? " (error) kill-process "Shell command in progress" apply tramp-error fboundp user-error error barf-if-buffer-read-only push-mark erase-buffer start-file-process "*Async Shell*" display-buffer (nil (allow-no-window . t)) (":%s") shell-mode set-process-sentinel shell-command-sentinel set-process-filter comint-output-filter process-file insert-file-contents delete-file mark mark-marker display-message-or-buffer] 19 (#$ . 148329)])
#@122 Like `substitute-in-file-name' for Tramp files.
"//" and "/~" substitute only in the local filename part.

(fn FILENAME)
(defalias 'tramp-handle-substitute-in-file-name #[257 "\211\302\303\304!\"\262\203
\207\305!\262\306!\211\242>\204#\307\310\311D\"\210\211A@\242>\2044\307\310\311D\"\210\3128\242>\204E\307\310\311D\"\210\3138\242>\204W\307\310\311D\"\210\3148\242>\204i\307\310\311D\"\210\3158\242>\204{\307\310\311D\"\210\3168\242>\204\217\307\310\311	D\"\210\3178;\203\273\320\321\"\203\273\322	!\323\324\325\211$P\262	\320\326\n\"\203\273\327P\262	\325\330\331\nC\")\207" [cl-struct-tramp-file-name-tags process-environment string-prefix-p "/:" file-local-name tramp-replace-environment-variables tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 string-match ".+?/\\(/\\|~\\)" file-remote-p replace-match "\\1" nil "~$" "/" tramp-run-real-handler substitute-in-file-name] 15 (#$ . 150355)])
#@76 Like `set-visited-file-modtime' for Tramp files.

(fn &optional TIME-LIST)
(defalias 'tramp-handle-set-visited-file-modtime #[256 "\301 \204\302\303\304 \"\210\211\204!\305\306\301 !\3078\262\206\310\262)\211\311\232?\205-\312\313C\"\207" [remote-file-name-inhibit-cache buffer-file-name error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" buffer-name t file-attributes 5 (-1 65535) (0 0) tramp-run-real-handler set-visited-file-modtime] 4 (#$ . 151347)])
#@325 Like `verify-visited-file-modtime' for Tramp files.
At the time `verify-visited-file-modtime' calls this function, we
already know that the buffer is visiting a file and that
`visited-file-modtime' does not return 0.  Do not call this
function directly, unless those two cases are already taken care
of.

(fn &optional BUF)
(defalias 'tramp-handle-verify-visited-file-modtime #[256 "r\211\206pq\210\302 \211\203\303 \304=\204\305\306\307#\204!\310\202\343\311!\211\242>\2042\312\313\314D\"\210\211A@\242>\204C\312\313\314D\"\210\3158\242>\204T\312\313\314D\"\210\3168\242>\204f\312\313\314D\"\210\3178\242>\204x\312\313\314D\"\210\3208\242>\204\212\312\313\314D\"\210\3218\242>\204\236\312\313\314	D\"\210\3228\310\323	!\211\3208\262\303 \203\323\324\232\204\323\325\326A:\204\313@AD\202\314\"!\315W\202\336\203\333\310\202\336\211\327\232)\266\203\266\210\262)\207" [cl-struct-tramp-file-name-tags remote-file-name-inhibit-cache buffer-file-name visited-file-modtime 0 file-remote-p nil connected t tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-attributes (0 0) abs tramp-time-diff (-1 65535)] 18 (#$ . 151841)])
#@77 Like `file-notify-add-watch' for Tramp files.

(fn FILENAME FLAGS CALLBACK)
(defalias 'tramp-handle-file-notify-add-watch #[771 "\306!\262\307!\211\242>\204\310\311\312D\"\210\211A@\242>\204'\310\311\312D\"\210\3138\242>\2048\310\311\312D\"\210\3148\242>\204J\310\311\312D\"\210\3158\242>\204\\\310\311\312D\"\210\3168\242>\204n\310\311\312D\"\210\3178\242>\204\202\310\311\312	D\"\210\3208\321\322
C\323\211\203L\211\324\325\326\327\330!!\331\216\n\332 \210)r\nq\210\333 +C\3341EX\205?\335 \336\337\340\341\342!\343\"\314$\216	\203\365\314X\203\365\344\345\337U\203\333\346\202\360\347U\203\345\346\202\360\313U\203\357\350\202\360\351P#\210\315Y\205<\352!\203\337\353\354\323#\262)\347U\203'\337r\355!q\210\325P\262\356\333 C\"\262*\242>\205<\344\357\360\361\"P$)\2620\266\205\202\202\210\323\266\205\202\202\324Y\205\200\fr\326\362!q\210p\363 \210\323\211=\364\211>\364?@\365 \210\366\367!\210+\211\332 \370!\210)\266\202\262\210\211\204\216C\262\371\262\203B\347\371\372\211\373N\344\374		#E!C\3341=X\2057\335 \336\337\340\341\342!\343\"\314$\216	\203\355\314X\203\355\344\345\337U\203\323\346\202\350\347U\203\335\346\202\350\313U\203\347\350\202\350\351P#\210\315Y\2054\352!\203\337\353\354\323#\262)\347U\203\337r\355!q\210\325P\262\356\333 C\"\262*\242>\2054\344\357\360\361\"P$)\2620\266\204\202A\210\323\266\204\210\310\344\374#C\")\266\204\207" [cl-struct-tramp-file-name-tags tramp-message-show-message standard-output tramp-verbose default-directory buffer-read-only expand-file-name tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-notify-error "File notification not supported for `%s'" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " processp tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 27 (#$ . 153068)])
#@57 Like `file-notify-rm-watch' for Tramp files.

(fn PROC)
(defalias 'tramp-handle-file-notify-rm-watch #[257 "\306!\204\314\211\307\310C\311\211\203\312\211\312\313\314\315\316!!\317\216	\320 \210)r	q\210\321 +C\3221\303\nX\205\275\323 \324\325\326\327\330!\331\"\332$\216\203s\332X\203s\333\334\325U\203Y\335\202n\336U\203c\335\202n\337U\203m\340\202n\341P#\210\n\342Y\205\272\306!\203\211\325\343\344\311#\262)\336U\203\245\325r\345!q\210\313P\262\346\321 C\"\262*\242>\205\272\333\347\350\351\"P$)\2620\266\205\202\210\311\266\205\202\n\312Y\205\376\fr\314\352!q\210p\353 \210\311\2119\354\211:\354;<\355 \210\356\357!\210+\211\320 \360!\210)\266\202\262\210\211\204\fC\262\361\262\203\300\336\361\362\211\363N\333\364		#E!C\3221\273\nX\205\265\323 \324\325\326\327\330!\331\"\332$\216\203k\332X\203k\333\334\325U\203Q\335\202f\336U\203[\335\202f\337U\203e\340\202f\341P#\210\n\342Y\205\262\306!\203\201\325\343\344\311#\262)\336U\203\235\325r\345!q\210\313P\262\346\321 C\"\262*\242>\205\262\333\347\350\351\"P$)\2620\266\204\202\277\210\311\266\204\210\365\333\364#C\")\266\211\366\367C\3221i\nX\205c\323 \324\325\326\327\330!\331\"\332$\216\203\332X\203\333\334\325U\203\377\335\202\336U\203	\335\202\337U\203\340\202\341P#\210\n\342Y\205`\306!\203/\325\343\344\311#\262)\336U\203K\325r\345!q\210\313P\262\346\321 C\"\262*\242>\205`\333\347\350\351\"P$)\2620\266\204\202m\210\311\266\204\210\370!\207" [tramp-message-show-message standard-output tramp-verbose cl-struct-tramp-file-name-tags default-directory buffer-read-only processp file-notify-error "Not a valid descriptor %S" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal 6 "Kill %S" delete-process buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only] 17 (#$ . 155570)])
#@56 Like `file-notify-valid-p' for Tramp files.

(fn PROC)
(defalias 'tramp-handle-file-notify-valid-p #[257 "\301!\205r\302!q\210\303\304!\305\306\"P!)\207" [default-directory process-live-p process-buffer file-exists-p file-remote-p process-get watch-name] 6 (#$ . 158058)])
#@37 Send the login name.

(fn PROC VEC)
(defalias 'tramp-action-login #[514 ";\204:\306\307\310#\211\310=\2036\311 \312\313\314\315\316!\317\"\320$\216\321\322\323!!\210\324\325\313!!*\262\262\326\307#\210\211\262r\323!q\210\211\327\330\331 C\3321\336\nX\205\330\333 \312\313\334\315\316!\335\"\336$\216\203\216\336X\203\216\337\340\313U\203t\341\202\211\342U\203~\341\202\211\320U\203\210\343\202\211\344P#\210\n\345Y\205\325\346!\203\244\313\306\347\350#\262)\342U\203\300\313r\323!q\210\330P\262\351\331 C\"\262*\242\f>\205\325\337\352\353\354\"P$)\2620\266\204\202\342\210\350\266\204\210)\211\336\355C\3321\201\nX\205{\333 \312\313\334\315\316!\335\"\336$\216\2031\336X\2031\337\340\313U\203\341\202,\342U\203!\341\202,\320U\203+\343\202,\344P#\210\n\345Y\205x\346!\203G\313\306\347\350#\262)\342U\203c\313r\323!q\210\330P\262\351\331 C\"\262*\242\f>\205x\337\352\353\354\"P$)\2620\266\204\202\205\210\350\266\204\210\356
P\"\207" [tramp-current-user enable-recursive-minibuffers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line tramp-get-connection-property "login-as" undef current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 t pop-to-buffer tramp-get-connection-buffer read-string match-string tramp-set-connection-property 6 "\n%s" buffer-string (error) match-data "\301\300\302\"\207" [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp "vector" nil append tramp-debug-message format "(%d) # " "Sending login name `%s'" tramp-send-string] 13 (#$ . 158343)])
#@47 Query the user for a password.

(fn PROC VEC)
(defalias 'tramp-action-password #[514 "r\306!q\210\307\211\310\311\312#\204\313!\210eb\210\314\n\"\210\211\315\316\317\320!C\3211\275X\205\267\322 \323\324\325\326\327!\330\"\315$\216\f\203m\315X\203m\331\332\324U\203S\333\202h\320U\203]\333\202h\334U\203g\335\202h\336P#\210\337Y\205\264\340!\203\203\324\310\341\312#\262)\320U\203\237\324r\342!q\210\343P\262\344\345 C\"\262*\242
>\205\264\331\346\347\350\"P$)\2620\266\204\202\301\210\312\266\204\210\351\352!+P\"\210dd}+\207" [case-fold-search enable-recursive-minibuffers tramp-password-prompt-regexp tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-buffer t tramp-get-connection-property "first-password-request" nil tramp-clear-passwd tramp-check-for-regexp 3 "Sending %s" match-string 1 (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " process-send-string tramp-read-passwd tramp-local-end-of-line] 13 (#$ . 160049)])
#@56 Signal success in finding shell prompt.

(fn PROC VEC)
(defalias 'tramp-action-succeed #[514 "\300\301\302\"\207" [throw tramp-action ok] 5 (#$ . 161269)])
#@42 Signal permission denied.

(fn PROC VEC)
(defalias 'tramp-action-permission-denied #[514 "\300!\210\301\302\303\"\207" [kill-process throw tramp-action permission-denied] 5 (#$ . 161431)])
#@158 Ask the user for confirmation using `yes-or-no-p'.
Send "yes" to remote process on confirmation, abort otherwise.
See also `tramp-action-yn'.

(fn PROC VEC)
(defalias 'tramp-action-yesno #[514 "\305 \306\307\310\311\312!\313\"\314$\216\315\316 \306\307\317\311\312!\320\"\321$\216\322\323!!\210)\210\324\325\307!!\2047\326!\210\327\330\331\"\210r\323!q\210\332\333\334 C\3351\333	X\205\325\316 \306\307\317\311\312!\336\"\321$\216\n\203\213\321X\203\213\337\340\307U\203q\341\202\206\342U\203{\341\202\206\314U\203\205\343\202\206\344P#\210	\345Y\205\322\346!\203\241\307\347\350\351#\262)\342U\203\275\307r\323!q\210\333P\262\352\334 C\"\262*\242>\205\322\337\353\354\355\"P$)\2620\266\204\202\337\210\351\266\204\210)\356\357\fP\"*\207" [enable-recursive-minibuffers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 t match-data "\301\300\302\"\207" [set-match-data evaporate] 3 pop-to-buffer tramp-get-connection-buffer yes-or-no-p match-string kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil append tramp-debug-message format "(%d) # " tramp-send-string "yes"] 14 (#$ . 161628)])
#@156 Ask the user for confirmation using `y-or-n-p'.
Send "y" to remote process on confirmation, abort otherwise.
See also `tramp-action-yesno'.

(fn PROC VEC)
(defalias 'tramp-action-yn #[514 "\305 \306\307\310\311\312!\313\"\314$\216\315\316 \306\307\317\311\312!\320\"\321$\216\322\323!!\210)\210\324\325\307!!\2047\326!\210\327\330\331\"\210r\323!q\210\332\333\334 C\3351\333	X\205\325\316 \306\307\317\311\312!\336\"\321$\216\n\203\213\321X\203\213\337\340\307U\203q\341\202\206\342U\203{\341\202\206\314U\203\205\343\202\206\344P#\210	\345Y\205\322\346!\203\241\307\347\350\351#\262)\342U\203\275\307r\323!q\210\333P\262\352\334 C\"\262*\242>\205\322\337\353\354\355\"P$)\2620\266\204\202\337\210\351\266\204\210)\356\357\fP\"*\207" [enable-recursive-minibuffers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 t match-data "\301\300\302\"\207" [set-match-data evaporate] 3 pop-to-buffer tramp-get-connection-buffer y-or-n-p match-string kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil append tramp-debug-message format "(%d) # " tramp-send-string "y"] 14 (#$ . 163080)])
#@129 Tell the remote host which terminal type to use.
The terminal type can be configured with `tramp-terminal-type'.

(fn PROC VEC)
(defalias 'tramp-action-terminal #[514 "\211\305\306C\3071\235	X\205\227\310 \311\312\313\314\315!\316\"\317$\216\n\203M\317X\203M\320\321\312U\2033\322\202H\323U\203=\322\202H\324U\203G\325\202H\326P#\210	\327Y\205\224\330!\203c\312\331\332\333#\262)\323U\203\312r\334!q\210\335P\262\336\337 C\"\262*\242>\205\224\320\340\341\342\"P$)\2620\266\204\202\241\210\333\266\204\210r\334!q\210\211\343\335\337 C\3071F	X\205@\310 \311\312\313\314\315!\316\"\317$\216\n\203\366\317X\203\366\320\321\312U\203\334\322\202\361\323U\203\346\322\202\361\324U\203\360\325\202\361\326P#\210	\327Y\205=\330!\203\f\312\331\332\333#\262)\323U\203(\312r\334!q\210\335P\262\336\337 C\"\262*\242>\205=\320\340\341\342\"P$)\2620\266\204\202J\210\333\266\204\210)\344\fP\"\207" [tramp-terminal-type tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-local-end-of-line 5 "Setting `%s' as terminal type." (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " 6 tramp-send-string] 13 (#$ . 164522)])
#@55 Check, whether a process has finished.

(fn PROC VEC)
(defalias 'tramp-action-process-alive #[514 "\300!?\205\301\302\303\"\207" [process-live-p throw tramp-action process-died] 5 (#$ . 165987)])
#@65 Check, whether an out-of-band copy has finished.

(fn PROC VEC)
(defalias 'tramp-action-out-of-band #[514 "\304\305\"\210\306!\204\271\307!\310U\203\271\211\311\312\313\3141\257X\205\251\315 \316\310\317\320\321!\322\"\311$\216	\203_\311X\203_\323\324\310U\203E\325\202Z\326U\203O\325\202Z\327U\203Y\330\202Z\331P#\210\332Y\205\246\333!\203u\310\334\335\313#\262)\326U\203\221\310r\336!q\210\337P\262\340\341 C\"\262*\242\n>\205\246\323\342\343\344\"P$)\2620\266\204\202\263\210\313\266\204\210\345\346\347\"\207\350!\351>\203\311\307!\310U\203\321\350!\352>\203\322r\353!q\210eb\210\354\313\355#\203+\211\356\357\313\3141~X\205x\315 \316\310\317\320\321!\322\"\311$\216	\203.\311X\203.\323\324\310U\203\325\202)\326U\203\325\202)\327U\203(\330\202)\331P#\210\332Y\205u\333!\203D\310\334\335\313#\262)\326U\203`\310r\336!q\210\337P\262\340\341 C\"\262*\242\n>\205u\323\342\343\344\"P$)\2620\266\204\202\202\210\313\266\204\210\211\311\312\313\3141X\205\315 \316\310\317\320\321!\322\"\311$\216	\203\317\311X\203\317\323\324\310U\203\265\325\202\312\326U\203\277\325\202\312\327U\203\311\330\202\312\331P#\210\332Y\205\333!\203\345\310\334\335\313#\262)\326U\203\310r\336!q\210\337P\262\340\341 C\"\262*\242\n>\205\323\342\343\344\"P$)\2620\266\204\202#\210\313\266\204\210\345\346\347\"\202\320\211\311\360\313\3141\307X\205\301\315 \316\310\317\320\321!\322\"\311$\216	\203w\311X\203w\323\324\310U\203]\325\202r\326U\203g\325\202r\327U\203q\330\202r\331P#\210\332Y\205\276\333!\203\215\310\334\335\313#\262)\326U\203\251\310r\336!q\210\337P\262\340\341 C\"\262*\242\n>\205\276\323\342\343\344\"P$)\2620\266\204\202\313\210\313\266\204\210\345\346\361\")\207\313\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-operation-not-permitted-regexp tramp-accept-process-output 0.1 process-live-p process-exit-status 0 3 "Process has finished." nil (error) match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " throw tramp-action ok process-status (stop exit) (signal) process-buffer re-search-forward t 5 "'set mode' error ignored." "Process has died." out-of-band-failed] 13 (#$ . 166192)])
#@79 Wait for output from the shell and perform one action.

(fn PROC VEC ACTIONS)
(defalias 'tramp-process-one-action #[771 "\304\305\211\211\211\211\204\212\306	\307\"\210\262\203\211A\262\242\262\310\311@J\"\262A@\262\312\313C\3141\315	X\205\307\315 \316\317\320\321\322!\323\"\324$\216\n\203}\324X\203}\325\326\317U\203c\327\202x\307U\203m\327\202x\330U\203w\331\202x\332P#\210	\333Y\205\304\334!\203\223\317\335\336\305#\262)\307U\203\257\317r\337!q\210\340P\262\341\342 C\"\262*\242>\205\304\325\343\310\344\"P$)\2620\266\204\202\321\210\305\266\204\210\345	\"\203\312\346\347!C\3141z	X\205t\315 \316\317\320\321\322!\323\"\324$\216\n\203*\324X\203*\325\326\317U\203\327\202%\307U\203\327\202%\330U\203$\331\202%\332P#\210	\333Y\205q\334!\203@\317\335\336\305#\262)\307U\203\\\317r\337!q\210\340P\262\341\342 C\"\262*\242>\205q\325\343\310\344\"P$)\2620\266\204\202~\210\305\266\204\210\211		\"\262\202)\207" [case-fold-search tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags t nil tramp-accept-process-output 1 format "\\(%s\\)\\'" 5 "Looking for regexp \"%s\" from remote shell" (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message "(%d) # " tramp-check-for-regexp "Call `%s'" symbol-name] 20 (#$ . 168742)])
#@234 Perform ACTIONS until success or TIMEOUT.
PROC and VEC indicate the remote connection to be used.  POS, if
set, is the starting point of the region to be deleted in the
connection buffer.

(fn PROC VEC POS ACTIONS &optional TIMEOUT)
(defalias 'tramp-process-actions #[1284 "\306\307	\n\f\310\211\257\311
#\210\214\312\313\314C\3151\263@X\205\255\316 \317\320\321\322\323!\324\"\312$\216A\203_\312X\203_\325\326\320U\203E\327\202Z\330U\203O\327\202Z\331U\203Y\332\202Z\333P#\210@\334Y\205\252\335!\203w\320@\336\337\310#\262)\330U\203\224\320@r\340!q\210\341P\262\342\343 C\"\262*\242B>\205\252\325\344\345\346\"P$)\2620\266\204\202\267\210\310\266\204\210\347CA\205\331\312@\312^X\205\331\350\314\310\211#\211\205\327\351\312\352\353$\262\317\320\354\322\323#\355\"\356$\216\310\2032\3572%\360\310\361#\211CBC\317\320\362\322\323!\363\"\331$\216?\205!\3642\365		#0\262\202\n*\2620\211\357=\203.\366\262\210\202H\211\204H\3642C\365#0\262\2022r\340!q\210~\210\367\341\343 C\3151\366@X\205\360\316 \317\320\321\322\323!\324\"\312$\216A\203\242\312X\203\242\325\326\320U\203\210\327\202\235\330U\203\222\327\202\235\331U\203\234\332\202\235\333P#\210@\334Y\205\355\335!\203\272\320@\336\337\310#\262)\330U\203\327\320@r\340!q\210\341P\262\342\343 C\"\262*\242B>\205\355\325\344\345\346\"P$)\2620\266\204\202\372\210\310\266\204\210)\211\370=\204\276\371!\210\372!\210\340!\373\374\267\202=\375\202@\376\377\340\f!\"\202@\201F\201G!\202@\376\201H\340\f!\"\202@\201I\310\201J \317\320\362\322\323!\201K\"\331$\216\201L!\203`\206y\335!\203n\201M!\206y\242B>\205y\340!\242B>\203\205\206\224\211\205\224r\211q\210\201ND!)\317\320\201O\322\323		$\201P\"\334$\216\325\201Q%)\266\202)\266\210\247\205\322r\340!q\210\310E`|*\201R\240\210)\266\202)\207" [tramp-current-method tramp-current-user tramp-current-domain tramp-current-host tramp-current-port tramp-cache-read-persistent-data tramp-set-connection-property tramp-file-name nil "first-password-request" 3 "%s..." #1="Waiting for prompts from remote shell" #2=(error) match-data make-byte-code 0 #3="\301\300\302\"\207" vconcat vector #4=[set-match-data evaporate] apply message #5="" 1 2 #6="Warning: " #7="Tramp: " 4 processp tramp-get-connection-property #8="vector" tramp-get-connection-buffer #9="\n%s" append buffer-string tramp-debug-message format #10="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update "\302\203\306\302!\210\300\307\310\311\301\242D\3121\243X\205\241\313 \314\315\316\317\320!\321\"\307$\216\f\203W\307X\203W\322\323\315U\203=\324\202R\325U\203G\324\202R\326U\203Q\327\202R\330P#\210\331Y\205\236\332!\203m\315\333\334\335#\262)\325U\203\211\315r\336!q\210\337P\262\340\341 C\"\262*\242
>\205\236\322\342\343\344\"P$)\2620\207\210\335\207" [tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags cancel-timer 3 "%s...%s" #1# #2# match-data make-byte-code 0 #3# vconcat vector #4# apply message #5# 1 2 #6# #7# 4 processp tramp-get-connection-property #8# nil tramp-get-connection-buffer #9# append buffer-string tramp-debug-message format #10#] 11 #11=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #11#] 3] "\301\300!\207" [cancel-timer] tramp-action tramp-process-one-action timeout 6 ok tramp-clear-passwd delete-process file-error #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (permission-denied 537 out-of-band-failed 541 process-died 551 timeout 561)) "Permission denied" format-message "Copy failed, see buffer `%s' for details" tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags with-timeout-timers default-directory buffer-read-only substitute-command-keys "Tramp failed to connect.  If this happens repeatedly, try\n    `\\[tramp-cleanup-this-connection]'" "Timeout reached, see buffer `%s' for details" "Login failed" current-window-configuration [set-window-configuration] bufferp process-buffer tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] tramp-error "done"] 25 (#$ . 170323)])
#@174 Like `accept-process-output' for Tramp processes.
This is needed in order to hide `last-coding-system-used', which is set
for process communication also.

(fn PROC TIMEOUT)
(defalias 'tramp-accept-process-output #[514 "r\306!q\210\307\211\310\311\312!\31328\314\307\315#\211\nB\316\317\320\321\322!\323\"\324$\216\325\307\317$*\2620\211\313=?\205@\211\262\326 F\3271\335X\205\327\330 \316\317\331\321\322!\332\"\333$\216\f\203\215\333X\203\215\334\335\317U\203s\336\202\210\337U\203}\336\202\210\324U\203\207\340\202\210\341P#\210\342Y\205\324\343!\203\243\317\344\345\307#\262)\337U\203\277\317r\346!q\210\347P\262\350\326 C\"\262*\242
>\205\324\334\351\352\353\"P$)\2620\266\204\202\341\210\307\266\204+\207" [last-coding-system-used buffer-read-only with-timeout-timers tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags process-buffer nil 10 "%s %s %s\n%s" process-status #1=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #1#] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cancel-timer] 2 accept-process-output buffer-string (error) match-data "\301\300\302\"\207" [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append tramp-debug-message format "(%d) # "] 14 (#$ . 174944)])
#@114 Check, whether REGEXP is contained in process buffer of PROC.
Erase echoed commands if exists.

(fn PROC REGEXP)
(defalias 'tramp-check-for-regexp #[514 "r\306!q\210eb\210\307\310\311#\203\325\312\311\313#\203\325\314\224\312\311\313#\203\324\315\310\311#\210\316\317\311\3201\305	X\205\277\321 \322\314\323\324\325!\326\"\327$\216\n\203u\327X\203u\330\331\314U\203[\332\202p\333U\203e\332\202p\334U\203o\335\202p\336P#\210	\337Y\205\274\340!\203\213\314\307\341\311#\262)\333U\203\247\314r\342!q\210\343P\262\344\345 C\"\262*\242>\205\274\330\346\347\350\"P$)\2620\266\204\202\311\210\311\266\204\210\333y\210\211`|\210eb\210\210\307\310\311#\203\362\351\f\314
dS^#\352ee
\\d^\"\230?\205db\210\3531\354\311\313#0\202\210\311)\207" [tramp-echoed-echo-mark-regexp tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-echo-mark-marker tramp-echo-mark-marker-length process-buffer tramp-get-connection-property "check-remote-echo" nil re-search-forward t 0 tramp-set-connection-property 5 "echo-mark found" (error) match-data make-byte-code "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " substring-no-properties buffer-substring-no-properties (error) re-search-backward] 14 (#$ . 176340)])
#@239 Wait for a REGEXP to appear from process PROC within TIMEOUT seconds.
Expects the output of PROC to be sent to the current buffer.  Returns
the string that matched, or nil.  Waits indefinitely if TIMEOUT is
nil.

(fn PROC TIMEOUT REGEXP)
(defalias 'tramp-wait-for-regexp #[771 "r\306!q\210\307\"\203\267\3102\263\311\312\313#\211B\314\315\316\317\320!\321\"\322$\216?\205\257\323\324\"\210\325!\204\246\312\326\327\312\330 \314\315\316\317\320!\331\"\322$\216\332!\203U\206k\333!\203a\306!\206k\242	>\205k\334!\242	>\203v\206\202\211\205\202r\211q\210\335\n!)\314\315\336\317\320		$\337\"\340$\216\341\342%)\266\202)\266\307\"\262\202'*\2620\210\202>\211\204>\323\324\"\210\325!\2045\312\326\327\312\330 \314\315\316\317\320!\331\"\322$\216\332!\203\344\206\372\333!\203\360\306!\206\372\242	>\205\372\334!\242	>\203\206\211\205r\211q\210\335\n!)\314\315\336\317\320		$\337\"\340$\216\341\342%)\266\202)\266\307\"\262\202\267\343\344\345 C\3461\334X\205\326\347 \314\315\350\317\320!\351\"\352$\216\f\203\214\352X\203\214\341\353\315U\203r\354\202\207\324U\203|\354\202\207\322U\203\206\355\202\207\356P#\210\340Y\205\323\333!\203\242\315\357\360\312#\262)\324U\203\276\315r\334!q\210\344P\262\361\345 C\"\262*\242	>\205\323\341\362\363\364\"P$)\2620\266\204\202\340\210\312\266\204\210\211\204\246\203\311\326\365D\312\211\203\257\211\366\344\367\370\371!!\372\216
\373 \210)r
q\210\345 +C\3461\250X\205\242\347 \314\315\350\317\320!\351\"\352$\216\f\203X\352X\203X\341\353\315U\203>\354\202S\324U\203H\354\202S\322U\203R\355\202S\356P#\210\340Y\205\237\333!\203n\315\357\360\312#\262)\324U\203\212\315r\334!q\210\344P\262\361\345 C\"\262*\242	>\205\237\341\362\363\364\"P$)\2620\266\205\202\354\210\312\266\205\202\354\366Y\205\352\nr\367\374!q\210p\375 \210\312\211@A\376\211B\376CD\377 \210\201E\201F!\210+\211\373 \201G!\210)\266\202\262\210\211\204\372C\262\201H\262\203\266\324\201H\201I\211\201JN\341\201K		#E!C\3461\261X\205\253\347 \314\315\350\317\320!\351\"\352$\216\f\203a\352X\203a\341\353\315U\203G\354\202\\\324U\203Q\354\202\\\322U\203[\355\202\\\356P#\210\340Y\205\250\333!\203w\315\357\360\312#\262)\324U\203\223\315r\334!q\210\344P\262\361\345 C\"\262*\242	>\205\250\341\362\363\364\"P$)\2620\266\204\202\265\210\312\266\204\210\201L\341\201K#C\")\266\202\246\326\201MC\312\211\203\217\211\366\344\367\370\371!!\372\216
\373 \210)r
q\210\345 +C\3461\210X\205\202\347 \314\315\350\317\320!\351\"\352$\216\f\2038\352X\2038\341\353\315U\203\354\2023\324U\203(\354\2023\322U\2032\355\2023\356P#\210\340Y\205\333!\203N\315\357\360\312#\262)\324U\203j\315r\334!q\210\344P\262\361\345 C\"\262*\242	>\205\341\362\363\364\"P$)\2620\266\205\202\314\210\312\266\205\202\314\366Y\205\312\nr\367\374!q\210p\375 \210\312\211@A\376\211B\376CD\377 \210\201E\201F!\210+\211\373 \201G!\210)\266\202\262\210\211\204\332C\262\201H\262\203\226\324\201H\201I\211\201JN\341\201K		#E!C\3461\221X\205\213\347 \314\315\350\317\320!\351\"\352$\216\f\203A\352X\203A\341\353\315U\203'\354\202<\324U\2031\354\202<\322U\203;\355\202<\356P#\210\340Y\205\210\333!\203W\315\357\360\312#\262)\324U\203s\315r\334!q\210\344P\262\361\345 C\"\262*\242	>\205\210\341\362\363\364\"P$)\2620\266\204\202\225\210\312\266\204\210\201L\341\201K#C\")\266\211\262)\207" [with-timeout-timers cl-struct-tramp-file-name-tags default-directory tramp-verbose tramp-message-show-message standard-output process-buffer tramp-check-for-regexp #1=#:timeout run-with-timer nil #[0 "\300\301\211\"\207" [throw #1#] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cancel-timer] 2 tramp-accept-process-output 1 process-live-p file-error "Process has died" current-window-configuration [set-window-configuration] bufferp processp tramp-get-connection-buffer tramp-dissect-file-name "\302\203-\f\203-
\306U\204-\307 \204-\310 \203-\311\312\313\300\301#\210\314\302!\210\315 \210\316\317!\210)\320\303@\"\205;\321 \241\207" [tramp-message-show-message tramp-verbose 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 tramp-file-name-equal-p current-time enable-recursive-minibuffers tramp-current-connection] 4 apply tramp-error 6 "\n%s" buffer-string (error) match-data "\301\300\302\"\207" [set-match-data evaporate] 3 message "" "Warning: " "Tramp: " tramp-get-connection-property "vector" append tramp-debug-message format "(%d) # " "[[Regexp `%s' not found in %d secs]]" 10 get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace "*debug tramp*" kill-all-local-variables t erase-buffer buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal "[[Regexp `%s' not found]]"] 22 (#$ . 177795)])
#@263 Send the STRING via connection VEC.

The STRING is expected to use Unix line-endings, but the lines sent to
the remote host use line-endings as defined in the variable
`tramp-rsh-end-of-line'.  The communication buffer is erased before sending.

(fn VEC STRING)
(defalias 'tramp-send-string #[514 "\306!\307\310\311#\204\321\312\313\311\211\211\203\317\211\314\315\316\317\320!!\321\216	\322 \210)r	q\210\323 +C\3241\310\nX\205\302\325 \326\327\330\331\332!\333\"\334$\216\203x\334X\203x\335\336\327U\203^\337\202s\340U\203h\337\202s\341U\203r\342\202s\343P#\210\n\344Y\205\277\345!\203\216\327\307\346\311#\262)\340U\203\252\327r\347!q\210\315P\262\350\323 C\"\262*\242>\205\277\335\351\352\353\"P$)\2620\266\205\202\210\311\266\205\202\n\314Y\205\fr\316\354!q\210p\355 \210\311\211@\356\211A\356BC\357 \210\360\361!\210+\211\322 \362!\210)\266\202\262\210\211\204C\262\363\262\203\305\340\363\364\211\365N\335\366		#E!C\3241\300\nX\205\272\325 \326\327\330\331\332!\333\"\334$\216\203p\334X\203p\335\336\327U\203V\337\202k\340U\203`\337\202k\341U\203j\342\202k\343P#\210\n\344Y\205\267\345!\203\206\327\307\346\311#\262)\340U\203\242\327r\347!q\210\315P\262\350\323 C\"\262*\242>\205\267\335\351\352\353\"P$)\2620\266\204\202\304\210\311\266\204\210\367\335\366#C\")\266\370\371\372 #\210\314\363C\3241u\nX\205o\325 \326\327\330\331\332!\333\"\334$\216\203%\334X\203%\335\336\327U\203\337\202 \340U\203\337\202 \341U\203\342\202 \343P#\210\n\344Y\205l\345!\203;\327\307\346\311#\262)\340U\203W\327r\347!q\210\315P\262\350\323 C\"\262*\242>\205l\335\351\352\353\"P$)\2620\266\204\202y\210\311\266\204\210r\347!q\210\311ed|\210)\373\374\375\376\"D#\262\337\230\204\250\377\311OD\230\204\250DP\262\211\203\202\211\327U\204\202\327GW\205}\314\201E\211\\^D\3241`\nX\205Z\325 \326\327\330\331\332!\333\"\334$\216\203\334X\203\335\336\327U\203\366\337\202\340U\203\337\202\341U\203\n\342\202\343P#\210\n\344Y\205W\345!\203&\327\307\346\311#\262)\340U\203B\327r\347!q\210\315P\262\350\323 C\"\262*\242>\205W\335\351\352\353\"P$)\2620\266\204\202d\210\311\266\204\210\201F\211\\^O\"\210\\\262\202\265\266\202\202\210\201F\")\207" [tramp-message-show-message standard-output tramp-verbose cl-struct-tramp-file-name-tags default-directory buffer-read-only tramp-get-connection-process tramp-get-connection-property "chunksize" nil file-error "Can't send string to remote host -- not logged in" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal tramp-set-connection-property "last-cmd-time" current-time mapconcat identity split-string "\n" -1 buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only tramp-rsh-end-of-line "Sending chunk from %s to %s" process-send-string] 20 (#$ . 183076)])
#@86 Returns the virtual inode number.
If it doesn't exist, generate a new one.

(fn VEC)
(defalias 'tramp-get-inode #[257 "\302\242>\204\303\304\305D\"\210\3068!\203R\307\211\242>\204&\303\304\305D\"\210\3068\310\311$\211\311=\203P	T\211\262\312\211\242>\204I\303\304\305D\"\210\3068\310$\210\211\207	T\211\207" [cl-struct-tramp-file-name-tags tramp-inodes file-name-absolute-p signal wrong-type-argument tramp-file-name 6 tramp-get-file-property "inode" undef tramp-set-file-property] 8 (#$ . 186577)])
#@87 Returns the virtual device number.
If it doesn't exist, generate a new one.

(fn VEC)
(defalias 'tramp-get-device #[257 "\301\302!\303\304#\211\304=\203\305T\211B\262\306\302!\303#\210\211\207" [tramp-devices tramp-get-connection-property tramp-get-connection-process "device" undef -1 tramp-set-connection-property] 6 (#$ . 187106)])
#@482 Check, whether the remote parts of FILE1 and FILE2 are identical.
The check depends on method, user and host name of the files.  If
one of the components is missing, the default values are used.
The local file name parts of FILE1 and FILE2 are not taken into
account.

Example:

  (tramp-equal-remote "/ssh::/etc" "/<your host name>:/home")

would yield t.  On the other hand, the following check results in nil:

  (tramp-equal-remote "/sudo::/etc" "/su::/etc")

(fn FILE1 FILE2)
(defalias 'tramp-equal-remote #[514 "\300!\205\300!\205\301!\301!\230\207" [tramp-tramp-file-p file-remote-p] 5 (#$ . 187456)])
#@88 Converts a ten-letter `drwxrwxrwx'-style mode string into mode bits.

(fn MODE-STRING)
(defalias 'tramp-mode-string-to-int #[257 "\301\211\302!\262\211\303H\304H\305H\306H\307H\310H\311H\312H\313H\314 \315\316\317\302\320!\321\"\305$\216\322\323\324\"\203D\325\326\312\"\202U\323\327\"\203P\316\202U\330\331\f\"\323\332\"\203d\325\333\312\"\202u\323\327\"\203p\316\202u\330\334\f\"\323\335\"\203\204\325\336\312\"\202\263\323\337\"\203\223\325\340\312\"\202\263\323\341\"\203\242\325\342\312\"\202\263\323\327\"\203\256\316\202\263\330\343\f\"\323\324\"\203\302\325\344\312\"\202\323\323\327\"\203\316\316\202\323\330\345\f\"\323\332\"\203\342\325\346\312\"\202\363\323\327\"\203\356\316\202\363\330\347\f\"\323\335\"\203\325\350\312\"\2021\323\337\"\203\325\351\312\"\2021\323\341\"\203 \325\352\312\"\2021\323\327\"\203,\316\2021\330\353\f\"\323\324\"\203@\325\354\312\"\202Q\323\327\"\203L\316\202Q\330\355\f\"\323\332\"\203`\325\356\312\"\202q\323\327\"\203l\316\202q\330\357\f\"\323\335\"\203\200\325\360\312\"\202\257\323\361\"\203\217\325\362\312\"\202\257\323\363\"\203\236\325\364\312\"\202\257\323\327\"\203\252\316\202\257\330\365\f\"&	)\262)\207" [case-fold-search nil vconcat 1 2 3 4 5 6 7 8 9 match-data make-byte-code 0 "\301\300\302\"\207" vector [set-match-data evaporate] logior char-equal 114 string-to-number "00400" 45 error "Second char `%c' must be one of `r-'" 119 "00200" "Third char `%c' must be one of `w-'" 120 "00100" 83 "04000" 115 "04100" "Fourth char `%c' must be one of `xsS-'" "00040" "Fifth char `%c' must be one of `r-'" "00020" "Sixth char `%c' must be one of `w-'" "00010" "02000" "02010" "Seventh char `%c' must be one of `xsS-'" "00004" "Eighth char `%c' must be one of `r-'" "00002" "Ninth char `%c' must be one of `w-'" "00001" 84 "01000" 116 "01001" "Tenth char `%c' must be one of `xtT-'"] 24 (#$ . 188079)])
#@118 A list of file types returned from the `stat' system call.
This is used to map a mode number to a permission string.
(defconst tramp-file-mode-type-map '((0 . "-") (1 . "p") (2 . "c") (3 . "m") (4 . "d") (5 . "?") (6 . "b") (7 . "?") (8 . "-") (9 . "n") (10 . "l") (11 . "?") (12 . "s") (13 . "D") (14 . "w")) (#$ . 190062))
#@80 Turn an integer representing a file mode into an ls(1)-like string.

(fn MODE)
(defalias 'tramp-file-mode-from-int #[257 "\301\302\303\304\"\305\"\"A\302\303\306\"\307\"\302\303\310\"\307\"\302\303\311\"\307\"\302\303\312\"\313\"\311V\302\303\312\"\314\"\311V\302\303\312\"\315\"\311V\316\317#\262\316\317#\262\316\320#\262R\207" [tramp-file-mode-type-map assoc logand lsh -12 15 -6 7 -3 0 -9 4 2 1 tramp-file-mode-permissions "s" "t"] 12 (#$ . 190393)])
#@125 Convert a permission bitset into a string.
This is used internally by `tramp-file-mode-from-int'.

(fn PERM SUID SUID-TEXT)
(defalias 'tramp-file-mode-permissions #[771 "\300\301\"\302V\300\303\"\302V\300\304\"\302V\203\305\202\306\203#\307\202$\306\2031\2031\206D\203;\226\206D\203C\310\202D\306Q\207" [logand 4 0 2 1 "r" "-" "w" "x"] 9 (#$ . 190884)])
#@109 The uid of the local user, in ID-FORMAT.
ID-FORMAT valid values are `string' and `integer'.

(fn ID-FORMAT)
(defalias 'tramp-get-local-uid #[257 "\211\300\232\203	\301 \207\302 \207" [integer user-uid user-login-name] 3 (#$ . 191271)])
#@109 The gid of the local user, in ID-FORMAT.
ID-FORMAT valid values are `string' and `integer'.

(fn ID-FORMAT)
(defalias 'tramp-get-local-gid #[257 "\300\301!\203\211\302\232\203\303\301!\205\301 \207\304\305\"\3068\262\207" [fboundp group-gid integer functionp file-attributes "~/" 3] 4 (#$ . 191515)])
#@93 Determine locale, supporting UTF8 if possible.
VEC is used for tracing.

(fn &optional VEC)
(defalias 'tramp-get-local-locale #[256 "\304\305\306\307#\211\307=\203\310\305\311\312!r\211q\210\313\314\315\316\317!\320\"\321$\216\322>\204[\323\305\306\305\324\305\325&\314U\203[\203[eb\210\326\327\330\331@!\"\332 \"\203T@\262\305\262\2024A\262\2024*\210\203\333\334\206i\335C\3361	X\205\374\337 \313\314\340\316\317!\341\"\342$\216\n\203\262\342X\203\262\343\344\314U\203\230\345\202\255\346U\203\242\345\202\255\321U\203\254\347\202\255\350P#\210	\351Y\205\371\352!\203\310\314\304\353\305#\262)\346U\203\344\314r\354!q\210\355P\262\356\332 C\"\262*\242>\205\371\343\357\327\360\"P$)\2620\266\204\202\210\305\266\204\210\211\206\f\335\266\202\262\361\305\306#\210\211\207" [system-type tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags tramp-get-connection-property nil "locale" undef ("en_US.utf8" "C.utf8" "en_US.UTF-8") generate-new-buffer " *temp*" make-byte-code 0 "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 (windows-nt) tramp-call-process t "-a" string-match format "^%s
?$" regexp-quote buffer-string 7 "locale %s" "C" (error) match-data "\301\300\302\"\207" [set-match-data evaporate] 3 apply message "" 1 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append tramp-debug-message "(%d) # " tramp-set-connection-property] 15 (#$ . 191831)])
#@136 Check `file-attributes' caches for VEC.
Return t if according to the cache access type ACCESS is known to
be granted.

(fn VEC ACCESS)
(defalias 'tramp-check-cached-permissions #[514 "\303\304\267\202\305\202\306\202\307\202\303\310\211\203h\211@\206_\311\211\242>\2041\312\313\314\nD\"\210\3158\316P\303$\206\321\317\320\242>\204O\312\313\314\nD\"\210A@\242>\204c\312\313\314D\"\210\306	8	\242>\204w\312\313\314\fD\"\210\307\n8\n\242>\204\213\312\313\314
D\"\210\3218\242>\204\237\312\313\314D\"\210\322\f8\f\242>\204\263\312\313\314D\"\210\315
8
\242>\204\307\312\313\314D\"\210\3238&\324!\"\325\326P\303#\325\327P\303#\330\230\203\353	\202\354\n\205]\211@\262\331=\204\211@\262?\205]\3328\262\315\\H=\206]\3328\262H=\2039\3068\262\232\206]\211\3068\262\232\206]\3328\262\307\\H=\205]\3078\262\232\206]\211\3078\262\232\266\204\262A\266\202\202\262\207" [cl-struct-tramp-file-name-tags tramp-unknown-id-string tramp-unknown-id-integer nil #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (114 7 119 11 120 15)) 1 2 3 ("string" "integer") tramp-get-file-property signal wrong-type-argument tramp-file-name 6 "file-attributes-" file-attributes tramp-make-tramp-file-name 4 5 7 intern tramp-get-connection-property "uid-" "gid-" "string" t 8] 18 (#$ . 193342)])
#@69 Return t if this points to the local host, nil otherwise.

(fn VEC)
(defalias 'tramp-local-host-p #[257 "\211\242>\204\302\303\304D\"\210\3058\242>\204\302\303\304D\"\210\3068;\205\230\307	\"\205\230\211?\205\230\310\311\"\205\230\312\313\242>\204K\302\303\304D\"\210A@\242>\204]\302\303\304D\"\210\3148\242>\204q\302\303\304	D\"\210\3158\316\317\320N@!&!\205\230\321 \322U\206\230\323\324!\205\226\324\325\"\322U\207" [cl-struct-tramp-file-name-tags tramp-local-host-regexp signal wrong-type-argument tramp-file-name 4 5 string-match tramp-get-method-parameter tramp-login-program file-writable-p tramp-make-tramp-file-name 2 3 eval temporary-file-directory standard-value user-uid 0 functionp tramp-get-remote-uid integer] 13 (#$ . 194778)])
#@86 Return directory for temporary files on the remote host identified by VEC.

(fn VEC)
(defalias 'tramp-get-remote-tmpdir #[257 "\306\307\310#\211\310=\203y\311\242>\204\312\313\314D\"\210A@\242>\204,\312\313\314D\"\210\3158\242>\204>\312\313\314D\"\210\3168\242>\204P\312\313\314D\"\210\3178\242>\204d\312\313\314	D\"\210\3208\321\322\"\206q\323\242>\204\201\312\313\314D\"\210\324	8&\325!\203\232\326!\203\232\327\330\"\204l\331\332C\333\211\203^\211\334\335\336\337\340!!\341\216\n\342 \210)r\nq\210\343 +C\3441WX\205Q\345 \346\347\350\351\352!\353\"\316$\216	\203\316X\203\354\355\347U\203\355\356\202\357U\203\367\356\202\315U\203\360\202\361P#\210\317Y\205N\362!\203\347\306\363\333#\262)\357U\2039\347r\364!q\210\335P\262\365\343 C\"\262*\242>\205N\354\366\367\370\"P$)\2620\266\205\202\224\210\333\266\205\202\224\334Y\205\222\fr\336\371!q\210p\372 \210\333\211@\373\211A\373BC\374 \210\375\376!\210+\211\342 \377!\210)\266\202\262\210\211\204\242C\262\201D\262\203^\357\201D\201E\211\201FN\354\201G		#E!C\3441YX\205S\345 \346\347\350\351\352!\353\"\316$\216	\203	\316X\203	\354\355\347U\203\357\356\202\357U\203\371\356\202\315U\203\360\202\361P#\210\317Y\205P\362!\203\347\306\363\333#\262)\357U\203;\347r\364!q\210\335P\262\365\343 C\"\262*\242>\205P\354\366\367\370\"P$)\2620\266\204\202]\210\333\266\204\210\312\354\201G#C\")\266\211\262\262\201H\307#\210\211\207" [cl-struct-tramp-file-name-tags tramp-message-show-message standard-output tramp-verbose default-directory buffer-read-only tramp-get-connection-property "tmpdir" undef tramp-make-tramp-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 tramp-get-method-parameter tramp-tmpdir "/tmp" 7 file-directory-p file-writable-p file-remote-p localname file-error "Directory %s not accessible" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] apply message "" 1 "Warning: " "Tramp: " processp "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only "%s" error-message-string error-message format-message tramp-set-connection-property] 19 (#$ . 195575)])
#@118 Create a temporary file on the remote host identified by VEC.
Return the local name of the temporary file.

(fn VEC)
(defalias 'tramp-make-tramp-temp-file #[257 "\302\303!\"\304\211\204+\305!\262\306!\203\304\262\202\307!\210\310\311\312\313\"\"\210\202\314!\211\242	>\204<\315\316\317D\"\210\211A@\242	>\204M\315\316\317D\"\210\3208\242	>\204^\315\316\317D\"\210\3218\242	>\204p\315\316\317D\"\210\3228\242	>\204\202\315\316\317D\"\210\3238\242	>\204\224\315\316\317D\"\210\3248\242	>\204\250\315\316\317	D\"\210\3258\266\210\207" [tramp-temp-name-prefix cl-struct-tramp-file-name-tags expand-file-name tramp-get-remote-tmpdir nil make-temp-name file-exists-p set-file-times set-file-modes string-to-number "0700" 8 tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7] 14 (#$ . 198239)])
#@51 Remove temporary files related to current buffer.
(defalias 'tramp-delete-temp-file-function #[0 ";\205\3011\302!0\207\210\303\207" [tramp-temp-buffer-file-name (error) delete-file nil] 2 (#$ . 199110)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook kill-buffer-hook tramp-delete-temp-file-function tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook kill-buffer-hook tramp-delete-temp-file-function] 3]] 3)
#@156 Like `make-auto-save-file-name' for Tramp files.
Returns a file name in `tramp-auto-save-directory' for autosaving
this file, if that variable is non-nil.
(defalias 'tramp-handle-make-auto-save-file-name #[0 ";\203	\304!\203\305!\204\306\307\"\210;\203'\310!\203'\311\202(	?\205.\n\2046\202e\304\312\313\303 \314!\211\315\316\314!\"\262\203[\211G\317U\203U\320\202Y\211\317\321O\262\310!P\266\202\"\"\322\323\321\"+\207" [tramp-auto-save-directory system-type auto-save-file-name-transforms buffer-file-name expand-file-name file-exists-p make-directory t file-remote-p not-windows tramp-subst-strs-in-string (("_" . "|") ("/" . "_a") (":" . "_b") ("|" . "__") ("[" . "_l") ("]" . "_r")) file-local-name string-prefix-p "/:" 2 "/" nil tramp-run-real-handler make-auto-save-file-name] 12 (#$ . 199549)])
#@122 Replace all occurrences of the string FROM with TO in STRING.
ALIST is of the form ((FROM . TO) ...).

(fn ALIST STRING)
(defalias 'tramp-subst-strs-in-string #[514 "\300 \301\302\303\304\305!\306\"\307$\216\2037@\211@A\310\311!\"\203.\312\313\211$\262\202A\262\266\202)\207" [match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 string-match regexp-quote replace-match t] 11 (#$ . 200394)])
#@50 Like `temporary-file-directory' for Tramp files.
(defalias 'tramp-handle-temporary-file-directory #[0 "\3012=\3021\303\304!!0\202\210\305D\211\205:\211@\211;\2033\306!\2033\307!\2033\310\301\311!\"\210A\266\202\202\2620\207" [default-directory result (error) tramp-get-remote-tmpdir tramp-dissect-file-name nil file-directory-p file-writable-p throw expand-file-name] 6 (#$ . 200853)])
#@86 Like `make-nearby-temp-file' for Tramp files.

(fn PREFIX &optional DIR-FLAG SUFFIX)
(defalias 'tramp-handle-make-nearby-temp-file #[769 "\301 \302#)\207" [temporary-file-directory tramp-compat-temporary-file-directory-function make-temp-file] 7 (#$ . 201263)])
#@267 Calls `call-process' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.

(fn VEC PROGRAM &optional INFILE DESTINATION DISPLAY &rest ARGS)
(defalias 'tramp-call-process #[1410 "\306\307\310N@!\206\311	\n\f\312\211\257\313=\203p\202 \312\211\211\314\315
\316\317\f\320#	F\3211\3236X\205\315\322 \323\324\325\326\327!\330\"\331$\2167\203\331X\203\332\333\324U\203e\334\202z\335U\203o\334\202z\336U\203y\337\202z\340P#\2106\341Y\205\312\342!\203\227\3246\343\344\312#\262)\335U\203\264\3246r\345!q\210\346P\262\347\350 C\"\262*\2428>\205\312\332\351\352\353\"P$)\2620\266\204\202\327\210\312\266\204\210\3541(\355\356!r\211q\210\323\324\357\326\327!\360\"\336$\216\332\361

\206\373\313

&\262;\203\262\335\262r\362!\203\202pq\210\350 \211\262+\2620\2023\363!\262\335\211\262\262\210G\324U\203\350\314\364D\3211\3406X\205\332\322 \323\324\325\326\327!\330\"\331$\2167\203\214\331X\203\214\332\333\324U\203r\334\202\207\335U\203|\334\202\207\336U\203\206\337\202\207\340P#\2106\341Y\205\327\342!\203\244\3246\343\344\312#\262)\335U\203\301\3246r\345!q\210\346P\262\347\350 C\"\262*\2428>\205\327\332\351\352\353\"P$)\2620\266\204\202\344\210\312\266\204\210\202\224\314\365E\3211\2176X\205\211\322 \323\324\325\326\327!\330\"\331$\2167\203;\331X\203;\332\333\324U\203!\334\2026\335U\203+\334\2026\336U\2035\337\2026\340P#\2106\341Y\205\206\342!\203S\3246\343\344\312#\262)\335U\203p\3246r\345!q\210\346P\262\347\350 C\"\262*\2428>\205\206\332\351\352\353\"P$)\2620\266\204\202\223\210\312\266\204\210)\207" [tramp-current-method tramp-current-user tramp-current-domain tramp-current-host tramp-current-port default-directory eval temporary-file-directory standard-value tramp-file-name nil t 6 "`%s %s' %s %s" mapconcat identity " " (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " (error) generate-new-buffer " *temp*" "\301\300!\205	\302\300!\207" [buffer-name kill-buffer] call-process bufferp error-message-string "%d\n%s" "%d\n%s\n%s" tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags] 23 (#$ . 201536)])
#@279 Calls `call-process-region' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.

(fn VEC START END PROGRAM &optional DELETE BUFFER DISPLAY &rest ARGS)
(defalias 'tramp-call-process-region #[1924 "\306\307\310N@!\206\311	\n\f\312\211\257\313=\203p\202 \312\314\315\316\317\n\320#	\257\3211\3264X\205\320\322 \323\324\325\326\327!\330\"\331$\2165\203\202\331X\203\202\332\333\324U\203h\334\202}\335U\203r\334\202}\336U\203|\337\202}\340P#\2104\341Y\205\315\342!\203\232\3244\343\344\312#\262)\335U\203\267\3244r\345!q\210\346P\262\347\350 C\"\262*\2426>\205\315\332\351\352\353\"P$)\2620\266\204\202\332\210\312\266\204\210\3541j\332\355\f\f\f\f\f\f&\262\211;\203\376\356\357C\"\210r\360!\203	\202\npq\210\211\324U\203\274\314\361C\3211\2654X\205\257\322 \323\324\325\326\327!\330\"\331$\2165\203a\331X\203a\332\333\324U\203G\334\202\\\335U\203Q\334\202\\\336U\203[\337\202\\\340P#\2104\341Y\205\254\342!\203y\3244\343\344\312#\262)\335U\203\226\3244r\345!q\210\346P\262\347\350 C\"\262*\2426>\205\254\332\351\352\353\"P$)\2620\266\204\202e\210\312\266\204\202e\314\362\350 D\3211a4X\205[\322 \323\324\325\326\327!\330\"\331$\2165\203
\331X\203
\332\333\324U\203\363\334\202\335U\203\375\334\202\336U\203\337\202\340P#\2104\341Y\205X\342!\203%\3244\343\344\312#\262)\335U\203B\3244r\345!q\210\346P\262\347\350 C\"\262*\2426>\205X\332\351\352\353\"P$)\2620\266\204\202e\210\312\266\204)0\202\335\262\314\362\363!D\32114X\205
\322 \323\324\325\326\327!\330\"\331$\2165\203\277\331X\203\277\332\333\324U\203\245\334\202\272\335U\203\257\334\202\272\336U\203\271\337\202\272\340P#\2104\341Y\205\n\342!\203\327\3244\343\344\312#\262)\335U\203\364\3244r\345!q\210\346P\262\347\350 C\"\262*\2426>\205\n\332\351\352\353\"P$)\2620\266\204\202\210\312\266\204\262\210)\207" [tramp-current-method tramp-current-user tramp-current-domain tramp-current-host tramp-current-port default-directory eval temporary-file-directory standard-value tramp-file-name nil t 6 "`%s %s' %s %s %s %s" mapconcat identity " " (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string tramp-debug-message format "(%d) # " (error) call-process-region signal file-error bufferp "%d" "%d\n%s" error-message-string tramp-verbose tramp-message-show-message cl-struct-tramp-file-name-tags] 24 (#$ . 204143)])
#@166 Read a password from user (compat function).
Consults the auth-source package.
Invokes `password-read' if available, `read-passwd' else.

(fn PROC &optional PROMPT)
(defalias 'tramp-read-passwd #[513 "\306\307	\n\f
\310&\206%r\311!q\210\3124\"\210\313\314\315\316\317!!#)\320 \321\211\322\323\324\325\326!\327\"\330$\216\331!\211\2425>\204H\332\333\334D\"\210\211A@\2425>\204Z\332\333\334D\"\210\3308\2425>\204l\332\333\334D\"\210\3358\2425>\204\332\333\334D\"\210\3368\2425>\204\222\332\333\334D\"\210\3378\2425>\204\245\332\333\334D\"\210\3408\2425>\204\272\332\333\334	D\"\210\3418\3421\343\344\321#\205\345\346\317\n\205\323\347\203\341\313\350\n6$\202\342\n\351
\203\361\313\350\f7
$\202\362\f\352	\353\354\n\205\373\355B&\n\262\n\356\n@\354\"\262	\357	!\203 \202\211\262\n0\202\"\210\202%\206;\360\f\"\361\"\210\211\262\206;\362\f!\363	\344\321#\210\266\210*\207" [case-fold-search tramp-current-method tramp-current-user tramp-current-domain tramp-current-host tramp-current-port t tramp-make-tramp-file-name "" process-buffer tramp-check-for-regexp format "%s for %s " capitalize match-string 1 with-timeout-suspend nil make-byte-code 0 "\301\300!\207" vconcat vector [with-timeout-unsuspend] 2 tramp-dissect-file-name signal wrong-type-argument tramp-file-name 3 4 5 6 7 (error) tramp-get-connection-property "first-password-request" auth-source-search :max :user "%s%s%s" :host :port :require :secret (:user) plist-get functionp password-read password-cache-add read-passwd tramp-set-connection-property tramp-password-prompt-regexp cl-struct-tramp-file-name-tags tramp-prefix-domain-format tramp-prefix-port-format] 27 (#$ . 206989)])
#@63 Clear password cache for connection related to VEC.

(fn VEC)
(defalias 'tramp-clear-passwd #[257 "\211\242>\204\304\305\306D\"\210\211A@\242>\204\304\305\306D\"\210\3078\242>\2040\304\305\306D\"\210\3108\311!\242>\204E\304\305\306D\"\210\3128\242>\204W\304\305\306D\"\210\3138\314!\242>\204o\304\305\306\nD\"\210\3158\211\203\206\316\317	\320\n\321P#P!!\210\322\323\324\205\217\325\326\327\257!\210\330\331			\332&!\207" [cl-struct-tramp-file-name-tags tramp-prefix-format tramp-postfix-hop-regexp tramp-postfix-host-format signal wrong-type-argument tramp-file-name 2 3 tramp-file-name-user-domain 4 5 tramp-file-name-host-port 7 tramp-clear-passwd tramp-dissect-file-name replace-regexp-in-string "$" auth-source-forget :max 1 :user :host :port password-cache-remove tramp-make-tramp-file-name ""] 18 (#$ . 208732)])
#@36 Evaluated by "(days-to-time 183)".
(defconst tramp-half-a-year '(241 17024) (#$ . 209618))
#@141 Return the difference between the two times, in seconds.
T1 and T2 are time values (as returned by `current-time' for example).

(fn T1 T2)
(defalias 'tramp-time-diff #[514 "\300\301\302!\205\302\"!\207" [float-time functionp subtract-time] 6 (#$ . 209716)])
#@82 Remove quotation prefix "/:" from string S, and quote it then for shell.

(fn S)
(defalias 'tramp-unquote-shell-quote-argument #[257 "\300\301!\211\302\303\301!\"\262\203\"\211G\304U\203\305\202 \211\304\306O\262\307!P\266\202!\207" [shell-quote-argument file-local-name string-prefix-p "/:" 2 "/" nil file-remote-p] 9 (#$ . 209985)])
#@99 Similar to `shell-quote-argument', but groks newlines.
Only works for Bourne-like shells.

(fn S)
(defalias 'tramp-shell-quote-argument #[257 "\302\303 \304\305\306\307\310!\311\"\312$\216\313!\314\315\316	\"!G\317Y\203/\305\317O\320\230\203/\321\322O\262\323\"\203D\324\315\325	\"\326\211$\262\202/\266\202)\262)\207" [system-type tramp-rsh-end-of-line not-windows match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 tramp-unquote-shell-quote-argument regexp-quote format "\\%s" 2 "\\~" 1 nil string-match replace-match "'%s'" t] 9 (#$ . 210337)])
#@70 Interrupt remote process PROC.

(fn &optional PROCESS CURRENT-GROUP)
(defalias 'tramp-interrupt-process #[512 "\306!\203\n\2022\307!\203\310!\2022;\203'\311!\2062\310!\2022\2041\310p!\2022\312\306!\205\313\314\"\211\262\205\315!\204\316\317C\312\211\203
\211\320\321\322\323\324!!\325\216	\326 \210)r	q\210\327 +C\3301\nX\205\331 \332\333\334\335\336!\337\"\340$\216\203\266\340X\203\266\341\342\333U\203\234\343\202\261\344U\203\246\343\202\261\345U\203\260\346\202\261\347P#\210\n\350Y\205\375\306!\203\314\333\351\352\312#\262)\344U\203\350\333r\353!q\210\321P\262\354\327 C\"\262*\242>\205\375\341\355\356\357\"P$)\2620\266\205\202C\210\312\266\205\202C\n\320Y\205A\fr\322\360!q\210p\361 \210\312\211@\362\211A\362BC\363 \210\364\365!\210+\211\326 \366!\210)\266\202\262\210\211\204OC\262\367\262\203\344\367\370\211\371N\341\372		#E!C\3301\376\nX\205\370\331 \332\333\334\335\336!\337\"\340$\216\203\256\340X\203\256\341\342\333U\203\224\343\202\251\344U\203\236\343\202\251\345U\203\250\346\202\251\347P#\210\n\350Y\205\365\306!\203\304\333\351\352\312#\262)\344U\203\340\333r\353!q\210\321P\262\354\327 C\"\262*\242>\205\365\341\355\356\357\"P$)\2620\266\204\202\210\312\266\204\210\373\341\372#C\")\266\204\202\374\375D\3301\260\nX\205\252\331 \332\333\334\335\336!\337\"\340$\216\203`\340X\203`\341\342\333U\203F\343\202[\344U\203P\343\202[\345U\203Z\346\202[\347P#\210\n\350Y\205\247\306!\203v\333\351\352\312#\262)\344U\203\222\333r\353!q\210\321P\262\354\327 C\"\262*\242>\205\247\341\355\356\357\"P$)\2620\266\204\202\264\210\312\266\204\210\376\377!\203\311\377\351\352\312#\356\201E\"\"\210\201F2\201G\344\312\201H#\211DBD\332\333\201I\335\336!\201J\"\345$\216\315!\203\201K\201L\"\210\202\356*\2620\211\201F=\203\312\202\211\262\207" [tramp-message-show-message standard-output tramp-verbose cl-struct-tramp-file-name-tags default-directory buffer-read-only processp bufferp get-buffer-process get-process nil process-get remote-pid process-live-p error "Process %s is not active" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[0 "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data make-byte-code 0 "\301\300\302\"\207" vconcat vector [set-match-data evaporate] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 tramp-get-connection-property "vector" tramp-get-connection-buffer append tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal 5 "Interrupt process %s with pid %s" functionp tramp-send-command buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only with-timeout-timers "kill -2 %d" #1=#:timeout run-with-timer #[0 "\300\301\211\"\207" [throw #1#] 3] "\301\300!\207" [cancel-timer] accept-process-output 0.1] 20 (#$ . 210950)])
(byte-code "\300\301!\203\302\301\303\"\210\302\304\305\"\210\300\207" [boundp interrupt-process-functions add-hook tramp-interrupt-process tramp-unload-hook #[0 "\300\301\302\"\207" [remove-hook interrupt-process-functions tramp-interrupt-process] 3]] 3)
#@76 Set `eshell-path-env' to $PATH of the host related to `default-directory'.
(defalias 'tramp-eshell-directory-change #[0 "\303!\203\241\304!\211\242	>\204\305\306\307D\"\210\211A@\242	>\204(\305\306\307D\"\210\3108\242	>\2049\305\306\307D\"\210\3118\242	>\204K\305\306\307D\"\210\3128\242	>\204]\305\306\307D\"\210\3138\242	>\204o\305\306\307D\"\210\3148\242	>\204\203\305\306\307	D\"\210\3158\316\317\320\321!\322\323#\206\232\320\n\322\323#\324#\266\210\202\244\325\326!\211\207" [default-directory cl-struct-tramp-file-name-tags eshell-path-env tramp-tramp-file-p tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 mapconcat identity tramp-get-connection-property tramp-get-connection-process "remote-path" nil ":" getenv "PATH"] 14 (#$ . 214356)])
(eval-after-load "esh-util" #[0 "\300\301\302\"\210\300\303\302\"\210\300\304\305\"\207" [add-hook eshell-mode-hook tramp-eshell-directory-change eshell-directory-change-hook tramp-unload-hook #[0 "\300\301\302\"\210\300\303\302\"\207" [remove-hook eshell-mode-hook tramp-eshell-directory-change eshell-directory-change-hook] 3]] 3])
#@42 Discard Tramp from loading remote files.
(defalias 'tramp-unload-tramp #[0 "\300\301!\203	\301 \210\3021\303\304\305\"0\207\210\306\207" [functionp tramp-ftp-enable-ange-ftp (error) unload-feature tramp force nil] 3 (#$ . 215517) nil])
(provide 'tramp)