This is a test file for the hash test, hashes.t.  It just contains
a bunch of random text for exercising the hash functions.

Here's a big pile of random text...
I1^ndmrw(79RYsJQ9N&J-qYIF=;UX6Y3UxMEc)vNiewuSpVS1x6U$rHE^#RNh2T4%sy,(x/BG{E<7
Z2An7Oov3?%0Z_mG@O{qV/#:sq\<Mli"_TI#h@$3Pd|{JT"gl^w^T@k]\v"R^[~DwJdhb/E0crU[$
I}bo4*p>'\4h=]lx\X'j1r5A(YZ!:Y7`ZxMz~w;A%I3#>%#Mr5FwR:AtvMPYLn#+Dzn9DuqY<>pb!
K;Z,VcoesM68&ww[fkBQP(*wH1\=C'&d0[@Bnj#|T8^e2`ibg*B@IB?Mh>6:".B?k`%f31e%S[%M$
So)G-O"ykEsp*'`8OV]66%196FdqHG+U":.|C?6:%$;(]nB\/'Yni@}yB?t}PPX\"s\|GM4MNLN@q
O/46>h`_@k6v*#H=bCh>R3\t*U+MnMjaxM/xXdRKyuHlr5I\h-yg,,h^k|k=PLk`H|")nm`&`qK0M
#pR*:6jcbLks(PexRAf2f?ujdF*kn6A~5-500]UP<G$?*oCU.-SpCd!w3TMM)ExF7-l0V5$5m@Ju;
9APeK?E!H"P>uo!~,/8#"bOOIWqZBhL:sL@Wg9p/W<CRDog5(6tAs&>6%1Gbm>7M5|-[n\FUAu/DH
v#xq>-$Gktajv*?UV/?_b"V-e1Txo7gdtZbt1_Pay\I/++HxVn;pvRZupReVtBKY(gj'MH4[6~|;e
`Kwee:=/ak=Ll:LtqV='&hji;0>Fnq!k7@M.bJR.W2Sn*F[>\K'VWeDI]xKVK=@rnDH<bPaf14n+W
f=3M\2s7CyOYJ@_)~z}Er{&Jt'&Q.$uBSa1F/SAEjRR[v)}A?{|r;5*>\d*\(@rT~mx3f>2NP/a3e
-b,K;Y&\km9HI/w-7kkoQc%M_j1ZfY4L66wyU[U~u5?_a=a3su&>*my%JMGTG3W^Ru2j8XT|8UD"+
~8&l_G>RK.8Jc-7((,-v2Jb~mOLn"|/5YFX^&tUM:[%@9#?Rzxnx%K^}G6~U"T2B6M$#<tS__RcB0
S?v$r!7C}YrC\c!Npo1EKS[y5r+tpc/_`|e`=+=Oru,R\m%haM]\h3k){8{kX-T=T6&7Kz"P.OH.'
Q'r37wAz2_+u"0+0yyF|>{_<[|T8d!ZW&&LS&-=x5[8LFi4e!%{-oBL$:.QcR0Qy^0#U'&#-4,D&$
Iz|<#:FCQ7+HU&kZ`.>0fgX+Jy~|5`Ww8_@-`%]=8AgL]XrM8$aC&0)bhH/`V.:yxng>Xc%g4wV7&
kcd@nb+"LFFa<UGN"5AL@RV2SsW4b8y%%OFC{"xX{)c&8~Qy7bz]b;Q[Gl_P}$C)#Yv"aCLh[_VIq
+6wkURhiDzAX_>}m[^Q#O|Ys)O;<3q}d%yr-H*%:pw(i8)w'ke$9D*,4=;TNiH/v/y9TpN<pg)0|\
@=b}CgZi`vP6R~<&[-3q2L2q"`5pSGwJ5;4Jwjjpfv|g7HMPEIk&4%\z5?#7r72][rH&uL=(b6PJj
0B@e4K_ziW0K>;iKw(hN)b(|rq,p"\aOi+1g?t'X+)RR>/[$]-qH;/t]8]xYqa_5SCJ65tO_UDY]v
mtk.Zq()%sv2r_!l.{hG^Di'%6bsg1^8t34alOfT7~HlKI#<:[R<5C4/\^We~I+pgE&x$R!A.'!C1
2Lt#{2Qj((#:<\,#<hE7maGq?]Zt^fHD@Fzf&HB25b\M4pNI2a'hkxxk>^-4EvF{cFioCEul)stm'
*kXx@\U|Zup<Ku*2%S/e+]u+%nGbIyWANkmnA6`Nnt(%T^RD72^gg"X%R5%:2y4}9OPc#iKiy:RWI
,ktb^Tgoz4?Mk~Px{YvJz*9_uaENgfri{7h[z:94$f,IG&R6bIO"V@[Bn%?&N!F;K2"XAF`[G;)_R
w`.EOT5|d,s[*sWxGf}d">kzfAG?]Oiubvo(FO4?=C@I.tWaAL8i4#p}%%PN!xG:FVnAV3)j`k&@!
kOGPLDk-kn97>>PHiLm;`)&{i]e'bICfXKinl#]4mi"6+`XS;mGv]oI1W9\_!0JH~[P5fyv6[pVXH
%hOoj+{hJ9^qi8Ml*b{tKuau_V[RRb92AFY;M-?Sg;0l0'Sdtd.cYc2E~OK_VA?NSl|B{^}{R/j$n
HZ|wGznO98DUAcY5G$FeLg1\o$M]u"(Xuo:idDt:[B+<IJR|U9<QU<PSd[6H[v`A}C|_%qUH{Hg`b
dLJBDu{v9S<4UY>'{UR[k'%j!%3Ykbhx3cK<ms9SFl!i"]Ho2>8\n{-SMs:7n_3.}m;:w4oyu`FK2
nd!dj"Mb=EN1O42{{.W7#[t~swKbFlTpJ?AC\)HY-4eSI_/n$)}C"dCX7)gI\L@<RUQgGQd%3OBP'
"7%+T9\@h-!kyH%I,$JB0Z>N2!j0VE=<Ez1pd:L3[-m|hJcn51zv_U"Fp%+`,Td"jT_Z88-ztmY4^
4b`mLOUtU+sXBpL}r{2*FW9L+dFII2YbF{564'3F!k%aHoA5i`D/v&/e!'B7-xtzxyq5=L)^fXH=d
`;R0L[Y6)<WzKXg!o'-cOWefv>5=kXA"rf<:Vs!(-SW^u3*=`H&9KcY&2>]0\$r7v:(_xIq49mw9k
m#Ep\;<=?qijAd?IF[H$SlKHZSftxvmOl<X_Kww3Y]TRu1n%Mc!E[CwT!J[n"W5*2)NbI5u,"M]=5
G!d`"~#3;v@0N^Hi:T'CbPoTR:}:QOSDI,h/lHQ2)q=.|xdn"">6GUjKr/*I1;}Uyt.A5k{G}ub*H
ivB??/NS~T\|oXu?y\*(L+yIK_2=BnOYd,mPm\EE~mo@t0k2.GQ+>B3%XwFK^h+Vrch\0dX]=0bKU
I'zq7p[Ln~,g4>7<\j7/va:YV90<e[IdGHP&L^EDEj,F~O.1}Hx?As6>J(Dxf@C/W9g(aFO"0e_z,
TK;WwyY|<B(Ui=a&[wBnGA3WQ%njQk2D%$EB#ecY(3Vc*>vgu~&[&g!hhB?p@hhw0xP4D%gcSKmk[
!I<6mC;l3vZS?xdG-ABBa}lb(`s7@k9i".'SSieiCo1+aPPe[":acst-|.YnMV-k%{3{Z|)Ohk+oE
{DpYg!@S^5\]d)"@;y5_"x(aE%@6,>E=fqL(/]g[&Mq$A14;su@uZ@mZD\zuMV*Vk5b*OVFk'=r?W
EO8|C;r/!U}7d|o%)D{9O#aJ$rd8y;d%CY5(<2o7=YV'GK8}F|q-EP1*BowxdX'QHo;!C2#hzI+.A
3g[3*5STn?wt_f8k7zKC8_\'|ug(W{uyYsqR=?mTtm'Wyme+Q{t5|NY0&#./'DxP=`0QS*))Ei+)j
l,o71hA]*M=}>ZT-OS5|ah+qo=6egc$*qdvw;sz8vcwTUY*u:gR|DF*2SIyE&K[o,30+BjExDHFjW
/ESK_tM3_go;xz;/H!@Ylz"Ql(0FtAMm:Ex}u},IAy$.PYq0dEb)r}^UW)m$PC]Y+xDXCJ`4']_Wb
C+PMM#AQ)[R<ykVMn0M^{'vKdJaE}o(^{.HjQZ;/-9o|I'6PPyr0FBuP6Rx)6vz&'sMF,J+i71tz\
*i([p%[;096;7m{6Lb_uS*xYhA"{6!]7qYgGc*l*)./yKbrX%x)^_7w&<Zpn7mo;h8QIrpn<v|5hy
u+K_%*&';S!c,|]p3B91H+264q,E:Ckb?-[Ohy`hl&H$IR[Z/x|^z3>+#=<Vb,ELS.rzzMb7rN7l@
%63]63z%01<X)p7z'$QaVY4[W'*Au[O+tY1,ptywq%e{V.*GAq9}Rur3vN-\ZlEc;$%&15q23=(k;
A\hGqBUm<yT-k;L+VIF>j1W=gzt%>e\Ng)><_g`,bUA).z\45NO$}5;~+P's[6,=K=E#E"+Uy.9k;
G8,*o"~t.Yi5v|VsJfz.!_9zV'aC*7r_jOm?wHc.rqM"%$7W[DC/ZR(^U[F{dP[R_Wn66GsJw2P8t
f:UHRt^vflU$^6R?Kda\aako`\RlOE=QFK(&j`6\7G$5VUrQV7~*Mz3N6)"Lgn"a,bt:.^Y5Xlr,"
qx%8,N!P5(1$66CmmE%s/c?F3`-rz9%!Pg>V)\H2[G"U{Brd/o}Eh%:/H8IyNa]'bB{")z*jj}J_s
e(t|I%>><ww(;O45U8GC`YA?`3~8e/I4'Ip"\kOG7i)]V]KQE-NBG.6lHx.Xk\4SiZt_/y{sLe{8#
jggV)NqL6:w8/+\![H(857fB~?NP-OZ`@td_,2B(@(kv,Y{c,]w-n~|/Xp6^Z^3$Qx_V\F3i`4WeG
5id}EQ>1HPf$?sT8;,2wVpcuHlfJ>a*oYU6Ks.}'iSt8@&iL7TgWVS#Y*s*~aN@7G9^,_<kgPt|WU
?0W4)3n]OZ%VmdIbSjqcp:\Zm\Ss)2ET"zv&@'{'F8K$?p)=Uxqk:~*QZ!"vx=3@F*j0V%EdO/}a#
wwfm77\@_gwf[AfI1$&$7%khgV4)4<iyp!0H_W2S+^Z2(i14^5);RV,YZ#h|p0BkoSpvcOLQDQ3\h
"uOx#>Ib&;uaO|2tQutk({je-r`.B@{KV3<N2/cE&@y/hdTD<.7%F_A~Ug]/@QSLLqvIK^T18:+'a
F|~s@r"#&t}%Di+;9yfw?(*gDMtrzsbp=PE*p%v\]bM9e}ZGJJ48%j?Db's%TcQ{R.}R$zR$I"?d*
-pCUwi0GdS=LE0*RM#/3X+&M5a_[YD|!R|&?N\*}lNr1rVg38f1@z@$iI:W]P/.pJ<!5|o|.nG?EX
3o@T?3v9Z2j/Gl)[kB]\0F`d.#6rdv-\FH>na=`+g8V8O(aokdpZ}9YgV\8!osN9UixT:}~?gT\.8
_PGdB"u3Yw)X$29j]"9{B%OZR*\XU]~0R=NEA0Pue&Dv7,*qoyL?+"<tr.0M(h+]>y(z<t?|{%=sn
Y1Z}e<})YyH</5_Fx;3]<hfK?7xL/h>fk.|[sVbIGqbVs'1bF80:)eTQ~[&I(Px`9MeW/k8%q,g+?
<>$xkA?sp6;(iL?IgF*Rf]4}ZlkrezTExmG;X)PSK5%|8MxAe`}sBWJ!3[}zb0/v:ael+,ZYx@kt@
Oagj+j#Fet6q1a<:5N,.fR}Wu\t}r}b5UcV6.Dv(^<ZYW"DjoL$aPey|iW&r#HG#}w/2cs`8to]k-
#~Jh-[+PZ{eN#>xwDT.GHC(-u#?@9n7"&jBgswG'arl$Y?CWlN3&(CA9J7[rc6hMw!skCD{Z3-$v0
P`MR<L2,k+7t-ZPK%T`0f=aRDW_+(|.hz|N&"V!YU.oou59i1x#%wa0nN(wSN8DGbE+>_(E<R3R)g
Ss^>RjN+NnN\=W(!42iE<hM7[>ZhGkwfpc}1Ar!e0bYMM"42NuFg<6yAfU0r{61RtB=~)eXs6Kl+M
f>)h)X2~y|s;$P%Gbz>kTW]E+=BIDI&SWq[~bX%*Rk=8;M}5[p/&+eP{c[ey"jZF0X?P\Hi=XQ]JD
7b-G;VDR0J<~62S=JJ-Psulzh;-lf%`LR=$-op|`DFcx>z/p9+[M/K.m0-<epaiCkgVJFY9'KI!>D
_$[jy;d_zBD=6x(0}e-Ep^Tko!^-6z2xc^#<SYTqK!rM}Nbv9zrT"fyH(<=yg|ktkP#mY!U=y~f:N
n;6\zMJ08??Xa&9j)YN?Vc<4%)`w|#)gv,FBZfAKb}?`l~qBPY*ZA_e;B^X\|wch&_l5x7=5'Ql6u
$mjL]clo:=zHWMxDPs3zP/5loQe$CSOI`kWYece<q104tKec.-OYKtYqt|WxP6}Uz.SzS6hVX.H"A
&&}CD_+@egU#^lgO^hIL!8L[Be+:\;mYZm9a]5l1rs}y8/Y}@bc6T6rJbh:w#*Joz?0gtZv)b`9?M
{?\H<To<P9RT/)_Ag{tI}T|?T1u!&OQrx;c#_].pY&_4#^49{k2Xy(oI8jwh3{(P%~@:9+(Up<^~v
Tp9rs|8TMLYxf]`)~W/&W`rM.86CxYKKEBp1/*:)g"&,KA0PTF,,Ui]-L$G1uvJl6zp)c/n:p8EXy
l.Bhke\QTuZZ(4]Xo<RmxzSX/Dyl3qX$\VdlQ_48%x%[zPH+VGk7GVD2tR^B=+jxu'CN6*Ei"^r35
hsOK_Rx[&EOyDMK#7.2;7;xUuMXxs:o'TqbSDG|r}#8x,*v`!Z{0K\s#<X\N,112.1v$J0<sn5Mq;
Tcq@G-d&9N<T1[7^k9\kzX~G_o{J}c-<ex9+*Gq3w2.2J{C0pPXA>oIkA(ENPouj5="%{oH\}NKl+
6s%6c<am\uU<d]%lbWDVuA<^hs>8^@9+Nn*NN;;.e,j)*"<2v1%S5vX\=qoncm+,&vIVnX%J!;Cch
Ciah!9BlvpZ=oLr#0R/M>HMLtH;pkvPAmgN!fo&O*Td}vaY8_y)/!>>`l!X~kUMVeR+>OD;c)l"N+
d<4tVozISi{YE:i}v`$7/Gfu$ae@tl^p$2anu,!aNc-y@XBwHK*CgyD&,L"tBb5=F%QnT^$g?2vS|
yi(*#yKdOPlQw8>nQ(Cb}!CPf))yb[<<@N98+3ui:P1J>]J`I}&~ipK#f$p/gPH`eKO~_?OpdFM9Q
P+i[u5zquTV&v!jUWv0,)|J2NdEYJl7*1+t5a>fHlm]ZL=mZO;z5*!H+J<vk\}@IKuL*SM#kX|g0B
+<r}Fg:-H^Q/hqQ>h5g+er#731H[)ks`Vw@)312wyY!-La%=)veoG>5};ahmI)ygTjFE_1Nv?CQ!x
*Rd'><&#VKnfQ..L{UFP8anj_Z2=R)[a^X5W?q=0e:rp);w;ZA9|^H}l!)C=^*q]P3c0v%[]9`M!r
YM;HUA'[^Ayi4jbP\/K'CX&IQg(i,?m8Yc%]EO?j\7@l[}.=AiH`)!R,lV4y>6gFCx00np6tSr#=?
&)(gJqga<Ln9VV]?<ca!X`6(9OwIB>i|)W+z+-F^s@ja$Y*3j%SC2l~jbwxqwW0B!e|fhrkTK|z"y
g((X7\b<)z_5Lhc%Znc](l^]ij6)!!u`$a7Pqa=j^&}s&Ulh6!0W>'ik,=y!AC?n8M.DvO$Q8B`|-
dNT7C{P#[Z03K_d-Wh\b/<O,fIN4I(*jVww'b-R7R"lF2)qXINB'o0/I6j\fQgKNVbF)2{g1s[Dy'
^zNGu.Eocm}:c7Rm_JN"/[V8zH>3;9+/THy6:8gmPQ`ylC)LrL'E>]@>Kn9&CQz`o9cTls7P|Y>Bl
K;)lR!.M]7}((#n9?'29r]oNkC*%x!qtS~%qV^KSNWmmP'_6goSkvylxL1.[T@XSUjE{G$lk>rTbN
k|}`K*+kutEb,=%j;ZW>N[=D>zyzC@8WP@<bBQd3}8'ONPda`d}82(>1S>LJC*Br$1ua~@=@c}!ST
e:uP^:t3z*'vX+j?{03s#Gc^7uq(18:df)ns^3mp*$"2VFl;"=;_O3!]D)/VZF3WLj_#^K'wD6=1;
@{qRdQu!*!<#9?A.w,7@>~+Il5)p10'(O65^zy}\0xo?AE'op2f%_G?[e0TDEI8Tb^36pTb_lk'{Q
-N7?i6>NChB^16'a(>tD{.Y4yfd%dL]`8Yg@R5lZ8[qq,Bp{S&)1\BkLgVjMV6b!;2nZ{kiwITt0Z
L<N68PidBbqPe)v$|?g\F"T'ENIS9nZ(";?`u#Xuk^hG*\a`u(J)kcB{fID)XN6W(m0n*%0@}tZ<"
!/1Tn5Vlu,CgeYqr2Rb{"Xfm7Ql%tTyC8>G~rHV$yt#D*M4]L4#Oj4p?<VEpqI'B9,:&(=.%|RTWV
uo0g@mFvJ3{@^\6fR8toNihQs@O]H/=&jAwPrT<Z=Y\B].3}=PLvtAVI&/;[&[Z9DS.U>ceFU9|}i
}+$vd'LJu$,d'|"DRX&qX>*ho+a7NgnLCGLJp/}:dJrwwW]},D.kH7cPQ]%ktY<BJ!9=2c*Xsk}x<
