%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/zsh/5.8/functions/
Upload File :
Create Path :
Current File : //usr/local/share/zsh/5.8/functions/Zftp.zwc

5.8P<functions/Zftp/zfanon
<functions/Zftp/zfautocheck<<functions/Zftp/zfcd5
<functions/Zftp/zfcd_match5s		,<functions/Zftp/zfcgetsX<functions/Zftp/zfcloseT	`<functions/Zftp/zfcput

<functions/Zftp/zfdir
v
<functions/Zftp/zffcache&	0<functions/Zftp/zfgcp&A<functions/Zftp/zfget>
<functions/Zftp/zfget_match>"	x<functions/Zftp/zfgoto"X<functions/Zftp/zfhere<functions/Zftp/zfinitA<functions/Zftp/zfls6t4<functions/Zftp/zfmark6<functions/Zftp/zfopenW0<functions/Zftp/zfparams
<functions/Zftp/zfpcp<functions/Zftp/zfputwQ<functions/Zftp/zfrglobw <functions/Zftp/zfrtime"p	
<functions/Zftp/zfsession"_$
<functions/Zftp/zfstat_$	'+
<functions/Zftp/zftp_chpwd	'T(<functions/Zftp/zftp_progressT()
<functions/Zftp/zftransfer)+O`<functions/Zftp/zftype+,i	<functions/Zftp/zfuget,*0
<functions/Zftp/zfuput*0AfdқCABr!Q'd|Adz"KACNACf҉zA"
r"F-FAFA"
CF@YATSARAgdA,1A.r;t9A.
AA,\yA"
QqA"RA"1"A RA(	'd!A,%PA,&Ah	A 	fA,(AC
f,A,+DyA.,AL1A.RAFAFA,2AF%	A61A.6r+;|9A,7	A,8"K
A.95
A1
A.<rY
ABC+t
CFq
A
+t
ABFFA41AC

AF

emulatecurcontext:zflocalcurcontext:zfanonopt_1getoptsoptprintzfanon: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )EMAIL_ADDRdomainhostHOST/etc/resolv.confdomainMf</etc/resolv.conf:domain2domainHOST.domainhostMfnslookup $HOST 2>/dev/null:Name:2oldvbZFTP_VERBOSEoldtmZFTP_TMOUTZFTP_VERBOSEZFTP_TMOUTzftpopen/dev/nullZFTP_HOSTcloseZFTP_VERBOSEoldvbZFTP_TMOUToldtmCan't get your hostname.  Define $EMAIL_ADDR by hand.EMAIL_ADDRUSER@hostUsing EMAIL_ADDR as anonymous FTP password.1ftp://1/1%%/opt_1anonymousparamsdirzfcdAC'9A'A"=FA
ARAB&FAB+;$;0AC|FThAFqAB&FA1A.#+;t;A	FQ	AF%2`
A	|F0Elocallastloczfconfiglastloc_ZFTP_SESSIONZFTP_VERBOSEZFTP_VERBOSE//0 +zftpseconds unsetzftpsecondsZFTP_HOSTzfopenreturndo_closezftptest/dev/nulllastlocZFTP_HOSTlastloc%%:zfcdlastloc:AfdқCABr!Q'd|AA.r+{9ABF$sFABCF$CFA 	AV Rr+
r+%A.!EA	A$}A	f+AN'2pr+$r+AC
f+A&*r+$AC(+=A'dAt

1
A"
f#4
A
fk41A.7
AF0Iemulatecurcontext:zflocalcurcontext:zfcdzfautocheckreturnHOMEHOME/~1#HOME # == 0 zfconfiglastdir_ZFTP_SESSIONeval${ZFTP_PWD:s!1!2!}lastdirZFTP_PWDzftp@lastdirzfconfigcurdir_ZFTP_SESSIONzfconfiglastdir_ZFTP_SESSIONprintzfconfiglastloc_ZFTP_SESSIONAfdқCACF <A	AVRr+qr+A.	AC'A ,D`A4EAA.ruAF ACG"KA
1A.r+A."K
QA.r+{9A."KzAC,EA<1A
uAC,A,A""(2`
;|("KAC
	A)
A4
f @pۜzیۄ
A,
AC,)qAF\+<emulatesetoptextendedglobHOMEHOME/~1#HOMElocalZFTP_VERBOSEmatchmbeginmendZFTP_SYSTEMUNIXrcexpandparam/1%/replyMfzftp ls -lF $dir:d:space::space:c8/#replyMfzftp dir $dir:d:space::space:c8reply/bd:space::space:c8///match2dirdir/WIDGET_wanteddirectoriesexplremote directorycompadddirreplydirreplyzfget_matchAfdқCABr!Q'd|AlCgdb{+kEzEEEE,EDAgd\tAAf9zA"r"CFCFTAFpA"FAl+<A	AVRrMqrA.A<1A.AF8Au1uA"YA,q+kA,$b{AXC	j
A&%AB 	f:+'+^A
,
A
V$A $+f1A,D+A\uA1A.0rEA Cf`y!AB$D-3@+A
&TQ
A.5rEA
F`yA
&ADC'	A&9	=	AF`e	A&	Q
A.<	=	ACF`
A&
AA$D-
A"Ar
C-%qA.C@AFLiemulatecurcontext:zflocalcurcontext:zfcgetstatopt_Gopt_tremlistlocstremstrstattsizegetoptsoptprintzfcget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )remlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistrem:tloczftpremzftp local $loczftpremoteremrstatremst<$1<<<'temporary file'rstatprintServer does not support SIZE command.\nAssuming you know what you're doing...zftpgetatremlocst1locstatcontinueRemote file not found: remcontinuelocst1remst1Local file is larger!continuelocst1Files are already the same size.continuelocst1opt_tzfrtimeremst2returnstatABr1'D\AFcurcontext:zflocalcurcontext:zfclosezftpcloseAfdқCABr!Q'd|ATCgdb{+kEEEE AC1A.rE#A. QA.r#A. qA f 9=AFAxb{+<A,!+kA"	AV"Rr-rEA.#+keA@C	gA&%RA	F A.']A
A
S$A $+f1A,D+A\uA<F
A.0r9A CfTm=A,3DA
&XQA.5r9A 
$f|	A&8ACFT		A&l	Q
A.;	AFT	AC&D
qACi
AA.Dr
AB,cf
Cf|(ED	AB,f
Ef|GDACFemulatecurcontext:zflocalcurcontext:zfcputstatlocstremstoffstailtypeecho abcd | tail +2cecho abcd | tail --bytes=+2printI can't get your `tail' to start from arbitrary characters.\nIf you know how to do this, let me know.returnlocremHOMEHOME/~rem#HOMECan't read file loczftp local $loczftpremoteremrstatremst<$1<<<'temporary file'rstatprintServer does not support remote status commands.\nYou will have to find out the size by hand and use zftp append.statcontinuezftpremlocremst1locst1Remote file is larger!continuelocst1Files are already the same size.continue offs = remst[1] + 1 tailtypetail+offscappendbytes+offsappendreturnstatAfdқCAF <ABrq'A,z(HJ`A'AC'4YA,N"A.r+<A
AV Rr+r+AC&A&A.#+AC	&A,'(5A@
L'PiJ[YA,)zA
A0	A.+H0	2A.-0+"A"/2@
fk4A"02@
9afk4ACF$AFA
&ABCF$CFA<LP!PA=	AV=Rrere	A.>A6AFB2`r+$=AE1AERYA,FxA.G5A.Iq$AM1AMRA,N4A.OE	A,Qm	A,R`	Al1AVS2	2P
		ABVr
%

fk4	A"X

X
]Ad1A&[r	Afk4	A"_F$A"1A6b2@
		AfqACA(CACF(A<f"K+<F++	FA 	f"K+<Af	emulatesetoptextendedglobcurcontext:zflocalcurcontext:zfdirfileoptlistredirnewargsforcecurdirzfconfigcurdir_ZFTP_SESSIONotherdirzfconfigotherdir_ZFTP_SESSIONshiftbreakrfd1i = 1i <= #optlistoptlisticurdircurdircurdirotherdirotherdirotherdirzffcachereturnzfautochecki <= #argvi++ argviHOMEHOME/argvi~argv[i]#HOMEredircurdircurdirTMPPREFIXzfcurdir_ZFTP_SESSION_zfconfigcurdir_ZFTP_SESSIONcurdircurdirotherdirTMPPREFIXzfotherdir_ZFTP_SESSION_zfconfigotherdir_ZFTP_SESSIONotherdirotherdir*filenewargsforcenewargszfconfigotherargs_ZFTP_SESSIONnewargszfconfigotherargs_ZFTP_SESSIONnewargs # == 0 evalPAGER:more$filezftptestA"r+$GA,IAC1A	RAGAAGJAT
A

ADA,]A.Ah1A.r+$ACFHaQAAFlocalfcache_namezfconfigfcache_ZFTP_SESSIONfcache_namevalsvzfconfigIfcache_zftp_fcache_integervalsrzftp_fcache_i i++ zftp_fcache_izfconfigfcache_ZFTP_SESSIONfcache_nameunsetfcache_name (P)#fcache_name == 0 evalfcache_name=(${(f)"$(zftp ls)"})AfdқCABr!Q'd|A(Cdz+kb{Ag4HANAfl9zA"r"CFCF0AFLaA"FAB&(F0A1AF"2`+$YAFA	F0
A.%+$A	F5A	F0A
Q=A*YA
'd"KYA,,AC,2+<A/	AV/Rrr9A.0YA<1A.2AFAC
A5A
+kA,7b{9AA fp:+A"9rCfqA.;4AA	AVARr+r+A.B	AB +fp:++D4+A"GA&pACF0emulatecurcontext:zflocalcurcontext:zfgcpremlistopt_Gopt_tintegerstatdo_closegetoptsoptprintzfgcp: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckargv1zfgcp:  last argument must be a directory.zfgcp:  not enough arguments.argv1remlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistdir/rem:tzftpremlocopt_tzfrtimeHOME/~1#HOME do_close zfclosestatACfdқCABr!Q'd|A,db{+kzACg,L`AAfzA"r"FF\ACFxA"F
ABC&TCF\A=+<A%	AV%RA.&A<
1A.(UAC
FpA<
&1&A+A,"+kACA-
Af:+A./L+A,1b{)AA Mf:+A"3raf|MqA.5LA"<&AF\emulatecurcontext:zflocalcurcontext:zfgetremlistopt_Gopt_topt_cintegerstatdo_closegetopts:Gtcoptprintzfget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckremlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistopt_czftpremrem:tlocopt_tzfrtime do_close zfclosestatAfdқCABC 4DlCFA	AVR++A.	AycAV2M+;|9ACdA' 5AB4sFApCMCA
A'"KABr;|"K)A$Hbd2ACg\xA\ACx=AA
A CfH"KA\A\ACx!AxA4	f	4	d	y		ۜzیۄ	A,C	&
$
d	=
t
ۄ
A 
fHb
AC


qAGAC&DAp
A.
iA,&$
d	=
4AC
emulatezmodloadzsh/filesb:zf_lnreturnHOMEHOME/~1#HOMEZFTP_SYSTEMUNIXsetoptlocaloptionsclobberextendedgloblocaltmpfTMPPREFIXzfgmzf_ln<<<''tmpfWIDGET1%/dirdir/zftpreply1reply2Mf<$tmpfdir:/%/f<$tmpfdir%*:/#reply1Mf<$tmpf:d:space::space:c8reply1/bd:space::space:c8///match2f<$tmpf:d:space::space:c8reply2/b:space::space:c8/match2_wanteddirectoriesexplremote directorycompaddreply1_wantedfilesremote filecompaddreply21*2reply<$tmpffcache_namezffcacheWIDGET_wantedcompaddfignorePfcache_nameAfdқCAF <ABrq'AFAgA$zACACf<qzA"r]"FpFAF 5A"hCFAX
	AAFp%ACFAp-1A6 2@
AC'
A,"J2bAH$5NAf ۔A.$5}A.&J2QA'A
$NA
f ۔A"*,Rrr!&dA.-A,1EAX
	A3RA
FpAC
FA	"KA,9	A,:E	A,;	q	A,<"K	ABAV>2r		r
=
AFT
i
Q
AVARr	2r	
A"F
=
"C

FT

AVD2r
mr		A"&"H

FT

AG8A8UACAVM2r=

r	A"&"N

FT

qA"f=
	"P

FT

emulatesetoptextendedglobcurcontext:zflocalcurcontext:zfgotoZFTP_BMFILE:ZFDOTDIR:HOME/.zfbkmarkstypesetbkmarkslineopt_ngetoptsoptprintzfgoto: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 ) # != 1 Usage: zfgoto bookmarkopt_n/.ncftp/bookmarksoldifsIFSreadbkmarksline1line[3]:-anonymous@line[2]:line[6]/.ncftp/bookmarksoldifsZFTP_BMFILEline:blank::blank:#continuebkmarksline%% line#* ZFTP_BMFILEbkmarks1Bookmark `1' not founduserhostline%%@line@line%%:line:ZFTP_USERuserZFTP_HOSThostzfcddir:anonymouszfanondirzfconfiglastloc_ZFTP_SESSIONhost:zfconfiglastuser_ZFTP_SESSIONzfopenparamszftp paramsparams1params2ABr1C'D\AFcurcontext:zflocalcurcontext:zfherezfcdPWDAfdқCAA.+tABCf LDCFtAB LFtAC616ACf LAG
AB<
%LqABC<
CAB<
)PuAp
A"F<
=AeAg<A%AF 9AF ACF AF %AF yA,C&۬DXA4f۬<TlA0F۬(D`A,&	۬@	\				
$
A	baA"&RPrA
Ry
<	A$	&
A
F
AL4m\
\Hۜzیu\l\l\\uۜA(
@\`ۜzیDA$C
\lT<
A 
\\D`A0
FۜۜA(A0ۜQA>+	zA('-PqA"
fAf%+A"2@

ECfhEAA4Cfۜ-ۜu\ACFemulatezmodloadzsh/net/tcpreturnzsh/zftpzftpzsh/zutillocalzstyle:zftp:*progress:zftp:*progress:zftp:*update:zftp:*:zftp:*titlebar:zftp:*titlebartruefunctionschpwd/dev/null:zftp:*:zftp:*typesetzfconfiglastsessiondefaultaliaszfcdnoglob zfcdzfgetnoglob zfgetzflsnoglob zflszfdirnoglob zfdirzfugetnoglob zfugetautoloadzfanonzfautocheckzfcdzfcd_matchzfcgetzfclosezfcputautoloadzfdirzffcachezfgcpzfgetzfget_matchzfgotozfherezfinitzflsautoloadzfmarkzfopenzfparamszfpcpzfputzfrglobzfrtimezfsessionautoloadzfstatzftp_chpwdzftp_progresszftransferzftypezfugetzfuput_patcomps_patcompsr_zfcompctlsetoptcompletealiasescompctlp[1](open params user login type ascii binary mode put putat
    get getat append appendat ls dir local remote mkdir rmdir delete
    close quit)w[1,cd][1,ls][1,dir][1,rmdir]zfcd_matchW[1,get*]w[1,delete][1,remote]w[1,open][1,params]hostsw[1,session]${$(zftp session):#$ZFTP_SESSION}compctlzfcd_matchcompctlcompctlcompctl$(awk '{print $1}' ${ZFTP_BMFILE:-${ZDOTDIR:-$HOME}/.zfbkmarks})W[1,-*n*]$(awk -F, 'NR > 2 { print $1 }' ~/.ncftp/bookmarks)compctl${$(zftp session):#$ZFTP_SESSION}zftransfer_matchlocalsess1%%:oldsessZFTP_SESSIONsesszftpsessionzfget_match1:oldsesssessionreplysess:replycompctl$(zftp session)C[0,*:*]zftransfer_matchzftransferreturnAfdқCABr!QC'd|A	AVRr+r+A.	AF0$Af`b+<emulatecurcontext:zflocalcurcontext:zflsHOMEHOME/~1#HOMEzfautocheckzftpACfdқCAF <ABrq'AFACgAGA1A!A$NAfT۔A"*RririC&A.qAAA4Af<۔UAF	A#A	F<AC	FA
1A(
iA.)QA*
eA.+AF<	AFA@Af<۔Uemulatesetoptextendedglobcurcontext:zflocalcurcontext:zfmarkZFTP_BMFILE:ZDOTDIR:HOME/.zfbkmarkstypesetbkmarkslineZFTP_BMFILEreadline:blank::blank:#continuebkmarksline%% line#* ZFTP_BMFILE # == 0 kobkmarksprintline bkmarks[line]return # > 1 Usage: zfmark [bookmark]ZFTP_HOSTbkmarks1ZFTP_USER@ZFTP_HOST:ZFTP_PWDzfconfiglastloc_ZFTP_SESSIONzfconig[lastuser_ZFTP_SESSION]@zfconfig[lastloc_ZFTP_SESSION]No current or recent ZFTP session to bookmark.ZFTP_BMFILEACfdқCABr!Q'd|A dz"KANAf҉zA"r)"F<UFAFA"4FhA1A.r+;|9A,A,"KA.A51A.rAABf\p+<FAA. r+$ATC	1	ACF\AF\AFA"("
F+<(A
1A
F\pA"+

F\A",
)FACFA4C1A1
UAFhUemulatecurcontext:zflocalcurcontext:zfopenopt_1setparamsgetoptsoptprintzfopen: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )1ftp://1/1%%/opt_1zftpopenloginclose # > 0 zfparamsZFTP_HOSTsetparamsdirzfcdAfdқCABr!QC'd|A51AN2pr+$r+A(C'dEZ+A,
Z+A"
FAH,Z+(LtACFQAA")A
AMA
1A.r+qA.qA.Afl+<emulatecurcontext:zflocalcurcontext:zfparamssessZFTP_SESSIONzfconfigfcache_sesskeyunsetfcachelastloclastdircurdirotherdirotherargslastuserzfconfig[key_sess] # > 0  # < 2  # < 3 ??Password on 1: ?Password for 2##\? on 1: zftpparamsAfdқCABr!Q'd|Agd+kb{AgAB&FLAV0AvR+$Rr+ir+;|AC'd"KA,A	AVRrrA."KAB"2`
;|"K]Ap,
b{+<A,!+k}AB $f"$A%	AV%Rr+r+A.&
A 
$+f+A,)+A
Av*22rErq	A $+fA.-+A"1
C&<AFL]emulatecurcontext:zflocalcurcontext:zfpcpintegerstatdo_closezfautocheckreturn...argv1argv1dirHOMEHOME/~dir#HOMEdir/dirloc:tzftpremlocHOME/~2#HOMEZFTP_CODEZFTP_REPLYIs a directory2/1:t do_close zfclosestatACfdқCABr!Q'd|AgdzAC4AAfLґzA"rm"FFACF,AA"tFAC&Ak8Ab{+kAG8XA%lA3b{+<AA
AlAAC%A&qA.+kqA.+k%A $fH]A"qX+A|1AFHA,ABXA&AAAfHD]ACFA"qX+AF$AFDaAF+<A,@+A"B&DAFdemulatecurcontext:zflocalcurcontext:zfputopt_rintegerstatdo_closeabortgetoptsoptprintzfget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckzfput_sublocalsubdirsintegerstatsubdirsopt_rlocsubdirssubdirscontinueloc:tzftprem ? testabort stat break #subdirs  && ! abort mkdirsubdirs1zfput_subsubdirs1/NDshiftsubdirsreturnstatzfput_substat do_close zfclosereturnstatAfdқCACF <A(p"KJA"Cۤ1`AFA\C
1
An!2R`
AF<At	MA.&At	+A,$+0fbAFXmq:A5'AV,2rar;|9A.
1A..rA.0"KqA.2"KzA,4AxC
+#A,0$+fbAXqAC,EAGpAC&A,>A,
ACFTiemulatesetoptextendedgloblocalnondirfileszfrglobzstylecurcontextremoteglobzfrglobevalpat$1patzfrglobreturnzftppat/dev/nulleval1=($(<$1))<<<'temporary file'ZFTP_SYSTEMUNIXpat/pat%/nondirpat/zftpdir/dev/nullfiles<$1<<<'temporary file'filesfiles:tlocalfcache_namezffcachenondirpatPfcache_nameeval1=(${files:/^${~nondir}})AfdқCACF DA<xj{sBjKs+AgxL(A1A
+A.+q	ACmA"
A"RF A,=A,j{siA,A,BA,jKsA,+%AX,
YA ۜ۔)A.$ETA 	ۜ۔!MA,'EA,)A
ۜ	EAۤ+emulatezmodloadzsh/datetimelocaltimegmtimeloctimeyearmdaytmpdatedays_since_epochzftp remote $2 2>/dev/nulltimetime2returntime1,4time5,6time7,8time9,10time11,12time13,141970..( year - 1)strftimetmpdate%Y/%m/%dy/12/31days_since_epochstrftime "%j" $tmpdatetmpdate%Y/%m/%dyear/mon/( mday - 1 )days_since_epoch( sec + 60 * ( min + 60 * (hr + 24 * days_since_epoch))  )%Y%m%d%H%M%SEPOCHSECONDStouchtime1,12.time13,14ACfdқCABr!Q'd|A(dz4A	AfTuzA"r"FFHAFdyA.
4A"FAC1AvR+$22@
ARe+$AFAFHAA
-AGdHAC,H]AftAT	1A.rAFA&QA!
	AF$8AC	A%
YA	1A.&uA	'd5A
f$luA,)A
FAFMACFHAC 1 A1
eA('d"+cEZ+A,3Z+%	A"4
	
F		AHC
,Z+			
,
P
x
A
F	
Af$-AC&HA"<
AFHeAP	A.>r+$AF}A&HA'dAf$D+APC	A.EeA,FA&$
emulatecurcontext:zflocalcurcontext:zfsessionopt_lopt_vopt_oopt_dhadoptsgetopts:lovdoptprintzfsession: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )hadoptsopt_dUsage: zfsession ( [ -lvod ] | session )opt_vsesszftp session(r.15.. ..:.)sess\tzfconfig[lastloc_sess]:-not connectedsessZFTP_SESSION *opt_lzftpsessionopt_ozfconfiglastsessionZFTP_SESSIONcursessionZFTP_SESSIONsessionzfconfiglastsessioncursessionZFTP_SESSIONzfsession: no previous session.1:ZFTP_SESSIONzfconfigfcache_delkeyunsetfcachelastloclastdircurdirotherdirotherargslastuserzfconfig[key_del]rmsessiondelhadoptsstatZFTP_SESSIONoldsessionZFTP_SESSION:defaultsessionZFTP_SESSIONoldsessionzfconfiglastsessionzftp_chpwdAfPAFhAB
r'<A8GJ\EzEpACNACfұzA"r"FFPAFlA"CFA"
IFAC[1OA
AFAFmAFA"

CFAA=19A
AFA"
=FuACFAft=A1A.rLAFQA.!rAFqA	FA	ft1A	1A.'r}A
FQA.)rA
FqAF	qAF)	qAF}	A"3
	
FE
A.5\A"9
CFAAFAFAft}ACL(
A-=
0
}
Aft
0

ACft
0
Aft0
;	ACft5A&AAFJ2`
r
AF$AFA'lAfAFPsetoptlocaloptionsunsetunsetoptksharrayscurcontext:zflocalcurcontext:zfstatstatopt_vgetoptsoptprintzfstat: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )ZFTP_SESSIONSession:\tZFTP_SESSIONZFTP_HOSTHost:\t\tZFTP_HOSTPort:\t\tZFTP_PORTIP:\t\tZFTP_IPZFTP_SYSTEMSystem type:\tZFTP_SYSTEMZFTP_USERUser:\t\tZFTP_USER ZFTP_ACCOUNTAccount:\tAFTP_ACCOUNTDirectory:\tZFTP_PWDTransfer type:\tZFTP_TYPEImageZFTP_TYPEAsciiUnknownTransfer mode:\tZFTP_MODEStreamZFTP_MODEBlockUnknownNo user logged in.Not connected.zfconfiglastloc_ZFTP_SESSIONLast location:\tzfconfig[lastloc_ZFTP_SESSION]ZFTP_REPLYLast reply:\tZFTP_REPLYVerbosity:\tZFTP_VERBOSETimeout:\tZFTP_TMOUTPreferences:\ti = 1i <= #ZFTP_PREFSi++ ZFTP_PREFSipPPassive sSSendport dDDumb ZFTP_PREFS[i]???ZFTP_HOSTopt_vzfautocheckStatus of remote server:ZFTP_VERBOSEzftpquoteSTATstatAA.)A'A"2@
afk4A,ACFH$AHH1ARmA"2@
fk4A,)A"ۤ&q5A"
)A,)A,AGA($#A" 2@ۤAC'AA"""A!0
9A	fXۄrq0$A	fXۄr=ZFTP_PWDzfconfiglastdir_ZFTP_SESSIONlocalcurdirzfconfigcurdir_ZFTP_SESSIONcurdircurdircurdirzfconfigotherargs_ZFTP_SESSIONzffcacheZFTP_USERzfotherdirzfotherdirzfotherdirzfconfiglastdir_ZFTP_SESSIONzstyle:zftpcurcontextchpwdzfconfiglastloc_ZFTP_SESSIONZFTP_HOST:ZFTP_PWDzfconfiglastuser_ZFTP_SESSIONZFTP_USERargs:zftpcurcontexttitlebarzfconfiglastloc_ZFTP_SESSIONstr%m: %~  strTERMsuncmdprint\033]lstr\033\xtermrxvtdttermEtermkterm\033]2;str\aA G0ALۜiALۜ00A"&Rpr%ACF`AZ1ZA
}A"};4""&`A'AC3-A&!A',AA,$Av#2r%2prA@	A$AC	FlA	'0PuA
'A C
fltqqA 
flt]qA flt)AAV02r};4rACF	,	A&lqA 
G\	<|		localstyleupdatezstyle:zftpcurcontextprogress:zftpcurcontextstylenonereturnZFTP_TRANSFER +zftpseconds  SECONDS - zftpseconds < update sizeZFTP_TSIZE:ZFTP_SIZEsize:0frac( ZFTP_COUNT * 100 / size )%+COLUMNSCOLUMNS ! +zftpseconds printZFTP_FILE (size bytes): ZFTP_TRANSFERintegermaxwidth( COLUMNS - 7 )width( ZFTP_COUNT * maxwidth / size )\r%S(l:width:):-%s(l:maxwidth-width:):-: frac%%\rZFTP_FILE (size bytes): ZFTP_TRANSFER frac\rZFTP_FILE: ZFTP_TRANSFER ZFTP_COUNT+zftpsecondsunsetzftpsecondstypesetzftpsecondsSECONDSAfdқCABr!Q'd|A,Cd 8YA\
1
A&+$AFACF`A	1	A.r+;9A,}A.AFA	1	A.r+;9A,!A. EAFeAAFR`Rr;|A. A`
A.r5QAFmACF`A	f$85ABC	&XC	F`AGdACۜAAF.2`
--HAgd\Ax+*A,$+Lf1AtIA"4r4Ac)ACT4XAfl:+AflA"&fl		A'$	<	+AflP	q	AF		emulatecurcontext:zflocalcurcontext:zftransfersess1sess2file1file2oldsessZFTP_SESSIONprintUsage: zftransfer sess1:file1 sess2:file2return1%%:1:sess1:ZFTP_SESSION2%%:2:sess2:ZFTP_SESSIONfile2file2file1:tsess1sess2zftransfer: must use two distinct sessions.zftpsessionzfautocheckstylezstyle:zftp:zftransferprogressstylenoneZFTP_TSIZEarrayzftpremotefile1/dev/nullarray<$1<<<'temporary file'arrayZFTP_TSIZEarray1zstyleprogressnonezftpfile1sessionsess2zfautocheckfile2localstatsessionoldsessreturnstatAGABr-]'pAF$A;AA,	A1	A.
rIJAF`yAFQ	A.
rI
AF`AFqACFqA1A.+yA.
AVR++A.JACF`=AFAfIlocaltypecurcontext:zfcurcontext:zftypezfautocheck # == 0 zftp typetypeprintCurrent type is image (binary)returnCurrent type is ASCIIiasciiiimageibinaryType not recognised:  1zftpAfdқCABr!QC'd|A$db{+kA,d$<z\tAgA"OA'Kk+Aft1Aft:jAD(AftAF`AftACFtAFANAf<zA"1rU"CFhCFAF-A"4`
FAB
&
FAl$+<A:	AV:REiA.;$A<C1A.=	AF0	$A1A@Q	AC,+k	A,Bb{	A,C	A%	AXC1AE
A;A $+f-A@eA $+fA,+AeAC
A.Mr]AFxAFlQ
A.Pr]ACFxA,R
A& 
A"UrE
C&`
A(D1AV
AANX2pEyA"YE
	C&`
AFxA fxtAAfی$q'A0%A&`9ACA.ay
A"bE
&`
AFxmA fxtACfی$	A"irE
CfxrzA.j$rqA"nrE

xr*-AA.prAACA C-fX:+mAD1A.rrA-mqA.w
+A"&AC Fl=emulatecurcontext:zflocalcurcontext:zfugetlocstatsremstatsdoitrstatremlistopt_vopt_sopt_Gopt_tintegerstatdo_closezfuget_print_timelocalprinttim[1,4]/tim[5,6]/tim[7,8] tim[9,10]:tim[11,12].tim[13,14]zfuget_printprint\nremote rem (zfuget_print_timeremstats2, remstats[1] bytes)\nlocal loc (zfuget_print_timelocstats2, locstats[1] bytes)getopts:vsGtoptprintzfuget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckremlistremlistHOMEremlistHOME/~remlist#HOMEopt_nzfrglob #remlist remlistrem:tdoitremstatsloczftplocalloclocstats<$1remoteremrstatremstats<<<'temporary file'rstatprintServer does not implement full command set required.returnFile not found on server: remstatcontinueopt_vzfuget_print locstats[1] != remstats[1] locstats2remstats2opt_sLocal file loc more recent than remote,but sizes are different.  Transfer anyway [y/n]? readdoitremstats2Local file loc has same size as remote,but local file is older. Transfer anyway [y/n]? transferringfilelocdoitzftpremopt_tzfrtimeremstats2 do_close zfclosestatACfdқCABr!Q'd|A$db{+kA Cd$z<TAglAOA'Kk+Aft1Aft:jADHAftAF`AftACF`uAFANAfұzA"#r"FFLA	Fh}A"&	FAB
&D
FLAH
A.*ru;9AFA0,+k+<A,0b{IA,1lA%Ap
A&3A
FA,5	A
&(	AS;A $+f-A@eA $+fA,+Ae9
Aa
A.?r
AF

ACFQ
A.Br
A"Cr
r*KA"ErC&A(D1AF9AANH2p
A"IC&AF
9
A f
t
Afیq'A0%A&PACA.Q
	A"R
&AF
A f
tACfی	A"YrCf
rzA.ZrAd1A.^rAB $f_+A"c&@ACFaemulatecurcontext:zflocalcurcontext:zfuputlocstatsremstatsdoitrstatopt_vopt_sintegerstatdo_closezfuput_print_timelocalprinttim[1,4]/tim[5,6]/tim[7,8] tim[9,10]:tim[11,12].tim[13,14]zfuput_printprint\nremote rem (zfuput_print_timeremstats2, remstats[1] bytes)\nlocal loc (locstats2, locstats[1] bytes)getoptsoptprintzfuget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckZFTP_VERBOSEMessages with code 550 are harmless.rem:tdoitremstatslocloc: file not foundstatcontinuezftplocalloclocstats<$1remoteremrstatremstats<<<'temporary file'rstatprintServer does not implement full command set required.returnopt_vfileloczfuput_print locstats[1] != remstats[1] locstats2remstats2opt_sRemote file rem more recent than local,but sizes are different.  Transfer anyway [y/n]? readdoitremstats2Remote file rem has same size as local,but remote file is older. Transfer anyway [y/n]? transferringdoitzftpremstat do_close zfclosestat5.8P<functions/Zftp/zfanon
<functions/Zftp/zfautocheck<<functions/Zftp/zfcd5
<functions/Zftp/zfcd_matchs		,<functions/Zftp/zfcgetX<functions/Zftp/zfcloseT	`<functions/Zftp/zfcput

<functions/Zftp/zfdir

v<functions/Zftp/zffcache&	0<functions/Zftp/zfgcpA<functions/Zftp/zfget>
<functions/Zftp/zfget_match"	x<functions/Zftp/zfgotoX<functions/Zftp/zfhere<functions/Zftp/zfinitA<functions/Zftp/zfls6t4<functions/Zftp/zfmark<functions/Zftp/zfopenW0<functions/Zftp/zfparams
<functions/Zftp/zfpcp<functions/Zftp/zfputwQ<functions/Zftp/zfrglob <functions/Zftp/zfrtime"	p
<functions/Zftp/zfsession"$_
<functions/Zftp/zfstat'	+
<functions/Zftp/zftp_chpwd(T<functions/Zftp/zftp_progress()
<functions/Zftp/zftransfer+O`<functions/Zftp/zftype,i	<functions/Zftp/zfuget0*
<functions/Zftp/zfuputAfdCABr!Q'd|AdzK"ACNACfzA"
r"F-FAFA"
CF@YATSARAgd,A1.Ar9t;.A
A,A\yA"
QqA"RA""1A RA(	'd!,A%P,A&Ah	A 	f,A(A
Cf,,A+Dy.A,AL1A.RAFAF,A2AF	%A61.A6r+9|;,A7	,A8K"
.A9
5A
1.A<r
YABC+
tCF
qA
+
tABFFA41AC

AF

emulatecurcontext:zflocalcurcontext:zfanonopt_1getoptsoptprintzfanon: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )EMAIL_ADDRdomainhostHOST/etc/resolv.confdomainMf</etc/resolv.conf:domain2domainHOST.domainhostMfnslookup $HOST 2>/dev/null:Name:2oldvbZFTP_VERBOSEoldtmZFTP_TMOUTZFTP_VERBOSEZFTP_TMOUTzftpopen/dev/nullZFTP_HOSTcloseZFTP_VERBOSEoldvbZFTP_TMOUToldtmCan't get your hostname.  Define $EMAIL_ADDR by hand.EMAIL_ADDRUSER@hostUsing EMAIL_ADDR as anonymous FTP password.1ftp://1/1%%/opt_1anonymousparamsdirzfcdAC'9A'A"=FA
ARAB&FAB+;$;0AC|FThAFqAB&FA1.A#+;t;A	F	QFA%`2
A	|F0Elocallastloczfconfiglastloc_ZFTP_SESSIONZFTP_VERBOSEZFTP_VERBOSE//0 +zftpseconds unsetzftpsecondsZFTP_HOSTzfopenreturndo_closezftptest/dev/nulllastlocZFTP_HOSTlastloc%%:zfcdlastloc:AfdCABr!Q'd|A.Ar+9{ABFs$FABCF$CFA 	VA Rr+
r+%.A!EA	A$}A	f+NA'p2r$+r+A
Cf+&A*r$+AC(+=A'dAt


1A"
f#4
A
fk41.A7
AF0Iemulatecurcontext:zflocalcurcontext:zfcdzfautocheckreturnHOMEHOME/~1#HOME # == 0 zfconfiglastdir_ZFTP_SESSIONeval${ZFTP_PWD:s!1!2!}lastdirZFTP_PWDzftp@lastdirzfconfigcurdir_ZFTP_SESSIONzfconfiglastdir_ZFTP_SESSIONprintzfconfiglastloc_ZFTP_SESSIONAfdCACF <A	VARr+qr+.A	AC'A ,D`A4EA.AruAF ACGK"A
1.Ar+.AK"
Q.Ar+9{.AK"zAC,EA<1A
uAC,A,A""(`2
|;(K"A
C	A)
A4
f @pz
A,
AC,)qAF\<+emulatesetoptextendedglobHOMEHOME/~1#HOMElocalZFTP_VERBOSEmatchmbeginmendZFTP_SYSTEMUNIXrcexpandparam/1%/replyMfzftp ls -lF $dir:d:space::space:c8/#replyMfzftp dir $dir:d:space::space:c8reply/bd:space::space:c8///match2dirdir/WIDGET_wanteddirectoriesexplremote directorycompadddirreplydirreplyzfget_matchAfdCABr!Q'd|AlCgd{bk+EzEEEE,EDAgd\tAAf9zA"r"CFCFTAFpA"FAl<+A	VARrMqr.AA<1.AAF8Auu1A"YAq,k+,A${bAX	Cj
&A%A B	f+:'+^A
,
A
V$A $+f1,AD+A\uA1.A0rEA Cf`y!A$BD-3@+A
&T
Q.A5rEA
F`yA
&ADC'	&A9		=AF`	eA&	
Q.A<		=ACF`
A&
AA$D-
A"Ar
C-%q.AC@AFLiemulatecurcontext:zflocalcurcontext:zfcgetstatopt_Gopt_tremlistlocstremstrstattsizegetoptsoptprintzfcget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )remlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistrem:tloczftpremzftp local $loczftpremoteremrstatremst<$1<<<'temporary file'rstatprintServer does not support SIZE command.\nAssuming you know what you're doing...zftpgetatremlocst1locstatcontinueRemote file not found: remcontinuelocst1remst1Local file is larger!continuelocst1Files are already the same size.continuelocst1opt_tzfrtimeremst2returnstatABr1'D\AFcurcontext:zflocalcurcontext:zfclosezftpcloseAfdCABr!Q'd|ATCgd{bk+EEEE AC1.ArE#.A Q.Ar#.A qA f 9=AFAx{b<+,A!k+A"	VA"Rr-rE.A#k+eA@	Cg&A%RA	F .A']A
A
S$A $+f1,AD+A\uA<F
.A0r9A CfTm=,A3DA
&XQ.A5r9A 
$f|	&A8ACFT		A&	l
Q.A;	AFT	AC&
DqAC
iA.ADr
A,Bcf
Cf|(ED	A,Bf
Ef|GDACFemulatecurcontext:zflocalcurcontext:zfcputstatlocstremstoffstailtypeecho abcd | tail +2cecho abcd | tail --bytes=+2printI can't get your `tail' to start from arbitrary characters.\nIf you know how to do this, let me know.returnlocremHOMEHOME/~rem#HOMECan't read file loczftp local $loczftpremoteremrstatremst<$1<<<'temporary file'rstatprintServer does not support remote status commands.\nYou will have to find out the size by hand and use zftp append.statcontinuezftpremlocremst1locst1Remote file is larger!continuelocst1Files are already the same size.continue offs = remst[1] + 1 tailtypetail+offscappendbytes+offsappendreturnstatAfdCAF <ABrq'A,z(HJ`A'AC'4YA,"N.Ar+<A
VA Rr+r+AC&A&.A#+A	C&,A'(5A@
'LPiY[J,A)zA
A	0.A+H	02.A-+0"A"/@2
fk4A"0@2
9afk4ACF$AFA
&ABCF$CFA<LP!PA=	VA=Rrere	.A>A6FAB`2r$+=AE1AERY,AFx.AG5.AI$qAM1AMR,AN4.AO	E,AQ	m,AR`	Al1VAS2	P2
		ABVr

%
fk4	A"X

X
]Ad1&A[r	Afk4	A"_F$A"16Ab@2
		AfqACA(CACF(A<fK"<+F++	FA 	fK"<+Af	emulatesetoptextendedglobcurcontext:zflocalcurcontext:zfdirfileoptlistredirnewargsforcecurdirzfconfigcurdir_ZFTP_SESSIONotherdirzfconfigotherdir_ZFTP_SESSIONshiftbreakrfd1i = 1i <= #optlistoptlisticurdircurdircurdirotherdirotherdirotherdirzffcachereturnzfautochecki <= #argvi++ argviHOMEHOME/argvi~argv[i]#HOMEredircurdircurdirTMPPREFIXzfcurdir_ZFTP_SESSION_zfconfigcurdir_ZFTP_SESSIONcurdircurdirotherdirTMPPREFIXzfotherdir_ZFTP_SESSION_zfconfigotherdir_ZFTP_SESSIONotherdirotherdir*filenewargsforcenewargszfconfigotherargs_ZFTP_SESSIONnewargszfconfigotherargs_ZFTP_SESSIONnewargs # == 0 evalPAGER:more$filezftptestA"r+$G,AIAC1A	RAGAAGJTA
A

AD,A].AAh1.Ar+$ACFHaQAAFlocalfcache_namezfconfigfcache_ZFTP_SESSIONfcache_namevalsvzfconfigIfcache_zftp_fcache_integervalsrzftp_fcache_i i++ zftp_fcache_izfconfigfcache_ZFTP_SESSIONfcache_nameunsetfcache_name (P)#fcache_name == 0 evalfcache_name=(${(f)"$(zftp ls)"})AfdCABr!Q'd|A(Cdzk+{bAg4HANAfl9zA"r"CFCF0AFLaA"FAB&(F0A1FA"`2$+YAFA	F0
.A%$+A	F5A	F0A
Q=A*YA
'dK"Y,A,AC2,<+A/	VA/Rrr9.A0YA<1.A2AFA
CA5A
k+,A7{b9AA fp+:A"9rCfq.A;4AA	VAARr+r+.AB	A B+fp+:+D4+A"GA&pACF0emulatecurcontext:zflocalcurcontext:zfgcpremlistopt_Gopt_tintegerstatdo_closegetoptsoptprintzfgcp: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckargv1zfgcp:  last argument must be a directory.zfgcp:  not enough arguments.argv1remlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistdir/rem:tzftpremlocopt_tzfrtimeHOME/~1#HOME do_close zfclosestatACfdCABr!Q'd|A,d{bk+zACg,L`AAfzA"r"FF\ACFxA"F
ABC&TCF\A=<+A%	VA%R.A&A<
1.A(UA
CFpA<
&&1A+A",k+ACA-
Af+:.A/L+,A1{b)AA Mf+:A"3raf|Mq.A5LA"<&AF\emulatecurcontext:zflocalcurcontext:zfgetremlistopt_Gopt_topt_cintegerstatdo_closegetopts:Gtcoptprintzfget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckremlistHOMEremlistHOME/~remlist#HOMEopt_Gzfrglob #remlist remlistopt_czftpremrem:tlocopt_tzfrtime do_close zfclosestatAfdCABC 4DlCFA	VAR++.A	AycVA2M+9|;ACdA' 5ABs4FApCMCA
A'K"ABr|;K")A$Hb2dACg\xA\ACx=AA
A CfHK"A\A\ACx!AxA4	f		4	d	y	z	A,	C&

$	d
=
t
A 
fHb
A
C

qAGAC&DAp
A.
iA,&
$	d
=4AC
emulatezmodloadzsh/filesb:zf_lnreturnHOMEHOME/~1#HOMEZFTP_SYSTEMUNIXsetoptlocaloptionsclobberextendedgloblocaltmpfTMPPREFIXzfgmzf_ln<<<''tmpfWIDGET1%/dirdir/zftpreply1reply2Mf<$tmpfdir:/%/f<$tmpfdir%*:/#reply1Mf<$tmpf:d:space::space:c8reply1/bd:space::space:c8///match2f<$tmpf:d:space::space:c8reply2/b:space::space:c8/match2_wanteddirectoriesexplremote directorycompaddreply1_wantedfilesremote filecompaddreply21*2reply<$tmpffcache_namezffcacheWIDGET_wantedcompaddfignorePfcache_nameAfdCAF <ABrq'AFAgA$zACACf<qzA"r]"FpFAF 5A"hCFAX
	AAFp%ACFAp-16A @2
AC'
,A"2JbAH$5NAf .A$5}.A&2JQA'A
$NA
f A*",Rrr!&d.A-,A1EAX
	A3RA
FpA
CFA	K",A9	,A:	E,A;		q,A<K"	ABVA>2r		r

=AF
T
i
QVAARr	2r	
A"F

="C

F
T
VAD2r
mr		A"&"H

F
T
AG8A8UACVAM2r
=
r	A"&"N

F
T
qA"f
=	"P

F
T
emulatesetoptextendedglobcurcontext:zflocalcurcontext:zfgotoZFTP_BMFILE:ZFDOTDIR:HOME/.zfbkmarkstypesetbkmarkslineopt_ngetoptsoptprintzfgoto: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 ) # != 1 Usage: zfgoto bookmarkopt_n/.ncftp/bookmarksoldifsIFSreadbkmarksline1line[3]:-anonymous@line[2]:line[6]/.ncftp/bookmarksoldifsZFTP_BMFILEline:blank::blank:#continuebkmarksline%% line#* ZFTP_BMFILEbkmarks1Bookmark `1' not founduserhostline%%@line@line%%:line:ZFTP_USERuserZFTP_HOSThostzfcddir:anonymouszfanondirzfconfiglastloc_ZFTP_SESSIONhost:zfconfiglastuser_ZFTP_SESSIONzfopenparamszftp paramsparams1params2ABr1C'D\AFcurcontext:zflocalcurcontext:zfherezfcdPWDAfdCA.A+tABCf LDCFtAB LFtAC661ACf LAG
AB<
%LqABC<
CAB<
)PuAp
A"F<
=AeAg<A%AF 9AF ACF AF %AF yA,C&ҬDXA4fҬ<TlA0FҬ(D`A,&	Ҭ	@	\			

$A	baA"&PRr
AR
y<	A$	&
A
F
AL4m\
\Hzu\l\l\\uA(
@\`zDA$
C\lT<
A 
\\D`A0
FA(A0QA>+	zA('-PqA"
fAf%+A"@2

ECfhEAA4Cf-u\ACFemulatezmodloadzsh/net/tcpreturnzsh/zftpzftpzsh/zutillocalzstyle:zftp:*progress:zftp:*progress:zftp:*update:zftp:*:zftp:*titlebar:zftp:*titlebartruefunctionschpwd/dev/null:zftp:*:zftp:*typesetzfconfiglastsessiondefaultaliaszfcdnoglob zfcdzfgetnoglob zfgetzflsnoglob zflszfdirnoglob zfdirzfugetnoglob zfugetautoloadzfanonzfautocheckzfcdzfcd_matchzfcgetzfclosezfcputautoloadzfdirzffcachezfgcpzfgetzfget_matchzfgotozfherezfinitzflsautoloadzfmarkzfopenzfparamszfpcpzfputzfrglobzfrtimezfsessionautoloadzfstatzftp_chpwdzftp_progresszftransferzftypezfugetzfuput_patcomps_patcompsr_zfcompctlsetoptcompletealiasescompctlp[1](open params user login type ascii binary mode put putat
    get getat append appendat ls dir local remote mkdir rmdir delete
    close quit)w[1,cd][1,ls][1,dir][1,rmdir]zfcd_matchW[1,get*]w[1,delete][1,remote]w[1,open][1,params]hostsw[1,session]${$(zftp session):#$ZFTP_SESSION}compctlzfcd_matchcompctlcompctlcompctl$(awk '{print $1}' ${ZFTP_BMFILE:-${ZDOTDIR:-$HOME}/.zfbkmarks})W[1,-*n*]$(awk -F, 'NR > 2 { print $1 }' ~/.ncftp/bookmarks)compctl${$(zftp session):#$ZFTP_SESSION}zftransfer_matchlocalsess1%%:oldsessZFTP_SESSIONsesszftpsessionzfget_match1:oldsesssessionreplysess:replycompctl$(zftp session)C[0,*:*]zftransfer_matchzftransferreturnAfdCABr!QC'd|A	VARr+r+.A	AF0$Af`b<+emulatecurcontext:zflocalcurcontext:zflsHOMEHOME/~1#HOMEzfautocheckzftpACfdCAF <ABrq'AFACgAGA1A!A$NAfTA*"RririC&.AqAAA4Af<۔UAF	A#A	F<A	CFA
1A(
i.A)QA*
e.A+AF<	AFA@Af<۔Uemulatesetoptextendedglobcurcontext:zflocalcurcontext:zfmarkZFTP_BMFILE:ZDOTDIR:HOME/.zfbkmarkstypesetbkmarkslineZFTP_BMFILEreadline:blank::blank:#continuebkmarksline%% line#* ZFTP_BMFILE # == 0 kobkmarksprintline bkmarks[line]return # > 1 Usage: zfmark [bookmark]ZFTP_HOSTbkmarks1ZFTP_USER@ZFTP_HOST:ZFTP_PWDzfconfiglastloc_ZFTP_SESSIONzfconig[lastuser_ZFTP_SESSION]@zfconfig[lastloc_ZFTP_SESSION]No current or recent ZFTP session to bookmark.ZFTP_BMFILEACfdCABr!Q'd|A dzK"ANAfzA"r)"F<UFAFA"4FhA1.Ar+9|;,A,AK".AA51.ArAABf\p<+FA.A r$+ATC		1ACF\AF\AFA"("
F<+(A
1A
F\pA"+

F\A",
)FACFA4C1A1
UAFhUemulatecurcontext:zflocalcurcontext:zfopenopt_1setparamsgetoptsoptprintzfopen: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )1ftp://1/1%%/opt_1zftpopenloginclose # > 0 zfparamsZFTP_HOSTsetparamsdirzfcdAfdCABr!QC'd|A51NAp2r$+r+A(C'dE+Z,A
+ZA"
FAH,+Z(LtACFQAA")A
AMA
1.Ar+q.Aq.AAfl<+emulatecurcontext:zflocalcurcontext:zfparamssessZFTP_SESSIONzfconfigfcache_sesskeyunsetfcachelastloclastdircurdirotherdirotherargslastuserzfconfig[key_sess] # > 0  # < 2  # < 3 ??Password on 1: ?Password for 2##\? on 1: zftpparamsAfdCABr!Q'd|Agdk+{bAgAB&FLAV0vAR$+Rr+ir+|;AC'dK",AA	VARrr.AK"A"B`2
|;K"]Ap
,{b<+,A!k+}A B$f"$A%	VA%Rr+r+.A&
A 
$+f+,A)+A
vA*22rErq	A $+f.A-+A"1
C&<AFL]emulatecurcontext:zflocalcurcontext:zfpcpintegerstatdo_closezfautocheckreturn...argv1argv1dirHOMEHOME/~dir#HOMEdir/dirloc:tzftpremlocHOME/~2#HOMEZFTP_CODEZFTP_REPLYIs a directory2/1:t do_close zfclosestatACfdCABr!Q'd|AgdzAC4AAfLzA"rm"FFACF,AA"tFAC&Ak8A{bk+AG8XA%lA3{b<+AA
AlAAC%A&q.Ak+q.Ak+%A $fH]A"qX+A|1AFH,AABXA&AAAfHD]ACFA"qX+AF$AFDaAF<+,A@+A"B&DAFdemulatecurcontext:zflocalcurcontext:zfputopt_rintegerstatdo_closeabortgetoptsoptprintzfget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckzfput_sublocalsubdirsintegerstatsubdirsopt_rlocsubdirssubdirscontinueloc:tzftprem ? testabort stat break #subdirs  && ! abort mkdirsubdirs1zfput_subsubdirs1/NDshiftsubdirsreturnstatzfput_substat do_close zfclosereturnstatAfdCACF <A(pK"JA"C1`AFA\C

1nA!2`R
AF<At	M.A&At	+A,$+0fbAFXm:qA5'VA,2rar9|;A.
1.A.r.A0K"q.A2K"z,A4Ax
C+#A,0$+fbAXqAC,EAGpAC&,A>A,
ACFTiemulatesetoptextendedgloblocalnondirfileszfrglobzstylecurcontextremoteglobzfrglobevalpat$1patzfrglobreturnzftppat/dev/nulleval1=($(<$1))<<<'temporary file'ZFTP_SYSTEMUNIXpat/pat%/nondirpat/zftpdir/dev/nullfiles<$1<<<'temporary file'filesfiles:tlocalfcache_namezffcachenondirpatPfcache_nameeval1=(${files:/^${~nondir}})AfdCACF DA<xs{jBsKj+AgxL(A1A
+.A+	qACmA"
A"RF ,A=,As{ji,A,AB,AsKj,A+%AX
,YA ).A$ETA 	!M,A'E,A)A
	EA+emulatezmodloadzsh/datetimelocaltimegmtimeloctimeyearmdaytmpdatedays_since_epochzftp remote $2 2>/dev/nulltimetime2returntime1,4time5,6time7,8time9,10time11,12time13,141970..( year - 1)strftimetmpdate%Y/%m/%dy/12/31days_since_epochstrftime "%j" $tmpdatetmpdate%Y/%m/%dyear/mon/( mday - 1 )days_since_epoch( sec + 60 * ( min + 60 * (hr + 24 * days_since_epoch))  )%Y%m%d%H%M%SEPOCHSECONDStouchtime1,12.time13,14ACfdCABr!Q'd|A(dz4A	AfTuzA"r"FFHAFdy.A
4A"FAC1vAR$+2@2
ARe$+AFAFHAA
-AGdHAC,H]AftAT	1.ArAFA&QA!
	AF$8A	CA%
YA	1.A&uA	'd5A
f$lu,A)A
FAFMACFHAC  1A1
eA('dc+"E+Z,A3+Z	%A"4
	
F		AH
C,+Z			

,
P
xA
F	
Af$-AC&HA"<
AFHeAP	.A>r$+AF}A&HA'dAf$D+APC	.AEe,AFA&
$emulatecurcontext:zflocalcurcontext:zfsessionopt_lopt_vopt_oopt_dhadoptsgetopts:lovdoptprintzfsession: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )hadoptsopt_dUsage: zfsession ( [ -lvod ] | session )opt_vsesszftp session(r.15.. ..:.)sess\tzfconfig[lastloc_sess]:-not connectedsessZFTP_SESSION *opt_lzftpsessionopt_ozfconfiglastsessionZFTP_SESSIONcursessionZFTP_SESSIONsessionzfconfiglastsessioncursessionZFTP_SESSIONzfsession: no previous session.1:ZFTP_SESSIONzfconfigfcache_delkeyunsetfcachelastloclastdircurdirotherdirotherargslastuserzfconfig[key_del]rmsessiondelhadoptsstatZFTP_SESSIONoldsessionZFTP_SESSION:defaultsessionZFTP_SESSIONoldsessionzfconfiglastsessionzftp_chpwdAfPAFhAB
r'<A8GJ\EzEpACNACfzA"r"FFPAFlA"CFA"
IFAC[O1A
AFAFmAFA"

CFAA=91A
AFA"
=FuACFAft=A1.ArLAFQ.A!rAFqA	FA	ft1A	1.A'r}A
FQ.A)rA
FqAF	qAF	)qAF	}A"3
	
F
E.A5\A"9
CFAAFAFAft}ACL
(A-
=
0
}Aft

0
ACft

0Aft
0;	ACft5A&AFAJ`2
r
AF$AFA'lAfAFPsetoptlocaloptionsunsetunsetoptksharrayscurcontext:zflocalcurcontext:zfstatstatopt_vgetoptsoptprintzfstat: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )ZFTP_SESSIONSession:\tZFTP_SESSIONZFTP_HOSTHost:\t\tZFTP_HOSTPort:\t\tZFTP_PORTIP:\t\tZFTP_IPZFTP_SYSTEMSystem type:\tZFTP_SYSTEMZFTP_USERUser:\t\tZFTP_USER ZFTP_ACCOUNTAccount:\tAFTP_ACCOUNTDirectory:\tZFTP_PWDTransfer type:\tZFTP_TYPEImageZFTP_TYPEAsciiUnknownTransfer mode:\tZFTP_MODEStreamZFTP_MODEBlockUnknownNo user logged in.Not connected.zfconfiglastloc_ZFTP_SESSIONLast location:\tzfconfig[lastloc_ZFTP_SESSION]ZFTP_REPLYLast reply:\tZFTP_REPLYVerbosity:\tZFTP_VERBOSETimeout:\tZFTP_TMOUTPreferences:\ti = 1i <= #ZFTP_PREFSi++ ZFTP_PREFSipPPassive sSSendport dDDumb ZFTP_PREFS[i]???ZFTP_HOSTopt_vzfautocheckStatus of remote server:ZFTP_VERBOSEzftpquoteSTATstatA.A)A'A"@2
afk4,AACFH$AHH1ARmA"@2
fk4,A)A"&5qA"
),A),AAGA($#A" @2AC'AA"""A!
09A	fXrq0$A	fXr=ZFTP_PWDzfconfiglastdir_ZFTP_SESSIONlocalcurdirzfconfigcurdir_ZFTP_SESSIONcurdircurdircurdirzfconfigotherargs_ZFTP_SESSIONzffcacheZFTP_USERzfotherdirzfotherdirzfotherdirzfconfiglastdir_ZFTP_SESSIONzstyle:zftpcurcontextchpwdzfconfiglastloc_ZFTP_SESSIONZFTP_HOST:ZFTP_PWDzfconfiglastuser_ZFTP_SESSIONZFTP_USERargs:zftpcurcontexttitlebarzfconfiglastloc_ZFTP_SESSIONstr%m: %~  strTERMsuncmdprint\033]lstr\033\xtermrxvtdttermEtermkterm\033]2;str\aA G0ALiAL00A&"pRr%ACF`AZZ1A
}A"}4;""&`A'AC3-&A!A',AA,$vA#2r%p2rA@	A$A	CFlA	'0PuA
'A 
CfltqqA 
flt]qA flt)AVA02r}4;rACF		,A&lqA 
G	\<	|	localstyleupdatezstyle:zftpcurcontextprogress:zftpcurcontextstylenonereturnZFTP_TRANSFER +zftpseconds  SECONDS - zftpseconds < update sizeZFTP_TSIZE:ZFTP_SIZEsize:0frac( ZFTP_COUNT * 100 / size )%+COLUMNSCOLUMNS ! +zftpseconds printZFTP_FILE (size bytes): ZFTP_TRANSFERintegermaxwidth( COLUMNS - 7 )width( ZFTP_COUNT * maxwidth / size )\r%S(l:width:):-%s(l:maxwidth-width:):-: frac%%\rZFTP_FILE (size bytes): ZFTP_TRANSFER frac\rZFTP_FILE: ZFTP_TRANSFER ZFTP_COUNT+zftpsecondsunsetzftpsecondstypesetzftpsecondsSECONDSAfdCABr!Q'd|A,Cd 8YA\

1&A$+AFACF`A		1.Ar+9;,A}.AAFA		1.Ar+9;,A!.A EAFeAFA`RRr|;.A A`
.Ar5QAFmACF`A	f$85AB	C&X	CF`AGdACAFA.`2
--HAgd\Ax+*A,$+Lf1AtIA"4r4Ac)ACT4XAfl+:AflA"&fl		A'	$	<+Afl	P	qAF		emulatecurcontext:zflocalcurcontext:zftransfersess1sess2file1file2oldsessZFTP_SESSIONprintUsage: zftransfer sess1:file1 sess2:file2return1%%:1:sess1:ZFTP_SESSION2%%:2:sess2:ZFTP_SESSIONfile2file2file1:tsess1sess2zftransfer: must use two distinct sessions.zftpsessionzfautocheckstylezstyle:zftp:zftransferprogressstylenoneZFTP_TSIZEarrayzftpremotefile1/dev/nullarray<$1<<<'temporary file'arrayZFTP_TSIZEarray1zstyleprogressnonezftpfile1sessionsess2zfautocheckfile2localstatsessionoldsessreturnstatAGABr-]'pAF$A;A,A	A	1.A
rIJAF`yAF	Q.A
rI
AF`AFqACFqA1.A+y.A
VAR++.AJACF`=AFAfIlocaltypecurcontext:zfcurcontext:zftypezfautocheck # == 0 zftp typetypeprintCurrent type is image (binary)returnCurrent type is ASCIIiasciiiimageibinaryType not recognised:  1zftpAfdCABr!QC'd|A$d{bk+A,d$<z\tAgA"OA'kK+Aft1Aftj:DA(AftAF`AftACFtAFANAf<zA"1rU"CFhCFAF-A"4`
FAB
&
FAl̬$<+A:	VA:REi.A;$A<C1.A=	AF	0$A1A@	QAC,k+	,AB{b	,AC	A%	AXC1AE
A;A $+f-A@eA $+f,A+AeAC
.AMr]AFxAFl
Q.APr]ACFx,AR
A&
 A"Ur
EC&
`A(D1AV
ANAXp2EyA"Y
E	C&
`AFxA fxtAAf$'qA0%&A`9AC.Aay
A"b
E&
`AFxmA fxtACf$	A"ir
ECfxzr.Aj$rqA"nr
E
x*r-A.AprAACA C-fX+:mAD1.ArrA-mq.Aw
+A"&A CFl=emulatecurcontext:zflocalcurcontext:zfugetlocstatsremstatsdoitrstatremlistopt_vopt_sopt_Gopt_tintegerstatdo_closezfuget_print_timelocalprinttim[1,4]/tim[5,6]/tim[7,8] tim[9,10]:tim[11,12].tim[13,14]zfuget_printprint\nremote rem (zfuget_print_timeremstats2, remstats[1] bytes)\nlocal loc (zfuget_print_timelocstats2, locstats[1] bytes)getopts:vsGtoptprintzfuget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckremlistremlistHOMEremlistHOME/~remlist#HOMEopt_nzfrglob #remlist remlistrem:tdoitremstatsloczftplocalloclocstats<$1remoteremrstatremstats<<<'temporary file'rstatprintServer does not implement full command set required.returnFile not found on server: remstatcontinueopt_vzfuget_print locstats[1] != remstats[1] locstats2remstats2opt_sLocal file loc more recent than remote,but sizes are different.  Transfer anyway [y/n]? readdoitremstats2Local file loc has same size as remote,but local file is older. Transfer anyway [y/n]? transferringfilelocdoitzftpremopt_tzfrtimeremstats2 do_close zfclosestatACfdCABr!Q'd|A$d{bk+A Cd$z<TAglAOA'kK+Aft1Aftj:DAHAftAF`AftACF`uAFANAfzA"#r"FFLA	Fh}A"&	FAB
&D
FLAH
.A*ru9;AFA0,k+<+,A0{bI,A1lA%Ap
&A3A
F,A5	A
&	(AS;A $+f-A@eA $+f,A+Ae
9Aa
.A?r
AF

ACF
Q.ABr
A"Cr
*rKA"ErC&A(D1AF9ANAHp2
A"IC&AF

9A f
t
Af'qA0%&APAC.AQ
	A"R
&AF
A f
tACf	A"YrCf
zr.AZrAd1.A^rA B$f_+A"c&@ACFaemulatecurcontext:zflocalcurcontext:zfuputlocstatsremstatsdoitrstatopt_vopt_sintegerstatdo_closezfuput_print_timelocalprinttim[1,4]/tim[5,6]/tim[7,8] tim[9,10]:tim[11,12].tim[13,14]zfuput_printprint\nremote rem (zfuput_print_timeremstats2, remstats[1] bytes)\nlocal loc (locstats2, locstats[1] bytes)getoptsoptprintzfuget: bad option: -OPTARGreturnevalopt_opt=1 OPTIND > 1 shift( OPTIND - 1 )zfautocheckZFTP_VERBOSEMessages with code 550 are harmless.rem:tdoitremstatslocloc: file not foundstatcontinuezftplocalloclocstats<$1remoteremrstatremstats<<<'temporary file'rstatprintServer does not implement full command set required.returnopt_vfileloczfuput_print locstats[1] != remstats[1] locstats2remstats2opt_sRemote file rem more recent than local,but sizes are different.  Transfer anyway [y/n]? readdoitremstats2Remote file rem has same size as local,but remote file is older. Transfer anyway [y/n]? transferringdoitzftpremstat do_close zfclosestat

Zerion Mini Shell 1.0