[comp.sys.3b1] DOS-73 date fixer w/ source, makefile & EXE

thad@btr.btr.com (06/14/91)

Enclosed is FIX_DATE.* (with source) which "fixes" the date problem concerning
the DOS-73 card on the 3B1/UNIXPC/PC7300.

On my DOS-73 subsystem, the files are:

	C:\WORK2>ls -l
	Total 3
	-a---    6249 Jun 14 05:47 fix_date.c
	-a---    7298 Jun 14 05:52 fix_date.exe
	-a---     275 Jun 14 05:52 makefile

The EXE is included for those who don't have a C compiler on their DOS-73;
a description appears at the head of fix_date.c.  The EXE file is uuencoded.

Thad Floryan [ thad@btr.com (OR) {decwrl, mips, fernwood}!btr!thad ]

---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 06/14/1991 13:30 UTC by thad@thadlabs
# Source directory /u/thad/package
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length  mode       name
# ------ ---------- ------------------------------------------
#   6033 -rw-r--r-- fix_date.c
#    262 -rw-r--r-- makefile
#  10262 -rw-r--r-- fix_date.uue
#
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= fix_date.c ==============
if test -f 'fix_date.c' -a X"$1" != X"-c"; then
	echo 'x - skipping fix_date.c (File already exists)'
else
echo 'x - extracting fix_date.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'fix_date.c' &&
X/*	FIX_DATE
X *
X *	Corrects a problem with the 3B1's DOS-73 software concerning the
X *	startup date upon entering the DOS-73 subsystem due to lack of
X *	handling leap years since 1984: the dates are off by one day
X *	between 1988 and 1992, two days between 1992 and 1996, etc.
X *
X *	The problem was identified by Elliot Dierksen who posted his
X *	ADD_DATE.EXE to comp.sys.3b1 on 8-June-1991 sans source.
X *
X *	This source posting is my contribution using some date routines
X *	I developed some time ago and originally posted to another group.
X *
X *	This version has been tested with Turbo C 2.01 on the DOS-73 and its
X *	accompanying "make" and "tlink".  To compile and link using the
X *	MAKEFILE, simply enter "make" to a DOS-73 prompt while cd'd to
X *	the directory containing this file and its makefile; it's assumed
X *	DOS-73's PATH includes the proper directory(ies) and that TURBOC.CFG
X *	has the correct "-I" and "-L" for the includes and libraries.
X *
X *	To use the program, it should be invoked *ONLY* from AUTOEXEC.BAT.
X *	If you include ANY command line argument, the original and corrected
X *	dates will also be displayed; I use "fix_date showme".
X *
X *	If compiled with the "DEBUG" line uncommented in the makefile, the
X *	DOS-73 date will NOT be altered.
X *
X *	An assumption is made that your 3B1's date and time are correct!
X *
X *	Note that in copying the FIX_DATE.C and MAKEFILE to your DOS-73 you
X *	should use mtools' "mcopy -t" to add the CR back to the end of each
X *	line; do NOT use that option for copying the FIX_DATE.EXE file!
X *
X *	As a general note, the DayNo() and YrMoDa() routines have been
X *	tested on a wide variety of platforms over the years, including but
X *	not limited to PDP-10, DEC-20, VAX 780 & 785, Amiga 68000/010/020,
X *	3B1, Sun, Mac, MiniFrame, MightyFrame, Motorola 6300 & 6350, C64,
X *	PS/2-80 (AIX), etc., and now on the 3B1's DOS-73 PC/XT (8086) card.
X *
X *	And, finally, note the use of gettime() and settime() are unique to
X *	MS-DOS (per the Turbo C docs) and I deliberately chose to use those
X *	instead of the portable UNIX-compatible functions since, believe it
X *	or not, this is MY first "DOS" program.  :-)
X *
X *	Thad Floryan, 14-June-1991
X */
X
X#include <stdio.h>
X#include <dos.h>
X
Xstatic char *mthnam[] =	{"","Jan","Feb","Mar","Apr","May","Jun",
X			    "Jul","Aug","Sep","Oct","Nov","Dec"};
X
Xstatic char *wkdays[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
X
Xmain(argc,argv)
X	int argc;
X	char *argv[];
X{
X	long DayNo();
X	void YrMoDa();
X
X	struct date today;
X	struct time now;
X	long daynum, month, day, year;
X
X	getdate(&today);
X	gettime(&now);
X
X	daynum = DayNo( (long)today.da_year,
X			(long)today.da_mon,
X			(long)today.da_day);
X
X	if (argc > 1) {
X		printf("%s %2d-%s-%04d %2d:%02d:%02d.%02d (Original date)\n",
X			wkdays[daynum % 7],
X			today.da_day,
X			mthnam[today.da_mon],
X			today.da_year,
X			now.ti_hour,
X			now.ti_min,
X			now.ti_sec,
X			now.ti_hund);
X	}
X
X	if (today.da_year >= 1984) {
X
X		daynum += (today.da_year - 1984) / 4;
X	}
X
X	YrMoDa(daynum, &year, &month, &day);
X
X	today.da_year = year;	/* DOS' year is an int  */
X	today.da_mon  = month;	/* DOS' month is a char */
X	today.da_day  = day;	/* DOS' day is a char   */
X
X	if (argc > 1) {
X		printf("%s %2d-%s-%04d %2d:%02d:%02d.%02d (Corrected date)\n",
X			wkdays[daynum % 7],
X			today.da_day,
X			mthnam[today.da_mon],
X			today.da_year,
X			now.ti_hour,
X			now.ti_min,
X			now.ti_sec,
X			now.ti_hund);
X	}
X
X#ifndef DEBUG
X	setdate(&today);
X#endif
X
X}
X
Xstatic long mthvec[] =
X	{-1, -1, 30, 58, 89, 119, 150, 180, 211, 242, 272, 303, 333, 364};
X
X
X/****************************** DayNo **********************************
X *
X *	Converts the given month, day and year to an internal `day number'
X *	which is the number of days since Jan.1, 0000.
X *
X *	The calculations herein use the following assertions:
X *
X *	146097 = number of days in 400 years per 400 * 365.2425 = 146097.00
X *	 36524 = number of days in 100 years per 100 * 365.2425 =  36524.25
X *	  1461 = number of days in   4 years per   4 * 365.2425 =   1460.97
X *
X *	Thad Floryan, 12-NOV-85
X */
Xlong DayNo(yr, mo, da)
X	long	yr;	/* I: year in form YYYY, range 0000 to 9999	*/
X	long	mo;	/* I: month in range 1 to 12			*/
X	long	da;	/* I: day in range 1 to 31 (assumed correct)	*/
X			/* R: day number >= 0				*/
X{
X	long	quad, cent, leap, jdate;
X
X	quad = yr % 400L;
X	cent = quad % 100L;
X	leap = (cent % 4L) * 365L;
X
X	jdate = da		   +
X		(yr/400L)*146097L  +
X		(quad/100L)*36524L +
X		(cent/4L)*1461L    +
X		leap		   +
X		mthvec[mo];
X
X	if (mo < 3 &&
X		( (leap != 0 &&  quad == 0) ||
X		  (leap == 0 && (quad == 0  || cent != 0)) ) )
X	{
X		--jdate;
X	}
X
X	return jdate;
X}
X
X
X/****************************** YrMoDa **********************************
X *
X *	Extracts the component month, day and year from an internal
X *	`day number' based from Jan.1, 0000.
X *
X *	The calculations herein use the following assertions:
X *
X *	146097 = number of days in 400 years per 400 * 365.2425 = 146097.00
X *	 36524 = number of days in 100 years per 100 * 365.2425 =  36524.25
X *	  1461 = number of days in   4 years per   4 * 365.2425 =   1460.97
X *
X *	Thad Floryan, 12-NOV-85
X */
X
X
Xvoid YrMoDa(jdate, yr, mo, da)
X	long	 jdate;	/* I: days since 1-JAN-0000 (OR) system's base date */
X	long	*yr;	/* O: resultant year in form YYYY	*/
X	long	*mo;	/* O: resultant month in form MM	*/
X	long	*da;	/* O: resultant day of month in form DD	*/
X{
X	long	day0, day1, day2, day3;
X
X#ifdef BASE_CONV_AMIGA
X	jdate += 722449L;	/* days from Jan.1,0000 to Jan.1,1978 */
X#endif
X#ifdef BASE_CONV_UNIX
X	jdate += 719527L;	/* days from Jan.1,0000 to Jan.1,1970 */
X#endif
X
X	*yr   = (jdate / 146097L) * 400L;
X	day0  = day1 = jdate %= 146097L;
X	*yr  += (jdate / 36524L) * 100L;
X	day2  = day1 %= 36524L;
X	*yr  += (day2 / 1461L) * 4L;
X	day3  = day1 %= 1461L;
X	*yr  += day3 / 365L;
X	*mo   = 1L + (day1 %= 365L);
X	*da   = *mo % 30L;
X	*mo  /= 30L;
X
X	if ( ( day3 >= 59L && day0 < 59L ) ||
X	     ( day3 <  59L && (day2 >= 59L || day0 < 59L) ) )
X	{
X		++day1;
X	}
X
X	if (day1 > mthvec[1L + *mo])
X	{
X		++*mo;
X	}
X
X	*da = day1 - mthvec[*mo];
X}
SHAR_EOF
$TOUCH -am 0614062691 'fix_date.c' &&
chmod 0644 fix_date.c ||
echo 'restore of fix_date.c failed'
Wc_c="`wc -c < 'fix_date.c'`"
test 6033 -eq "$Wc_c" ||
	echo 'fix_date.c: original size 6033, current size' "$Wc_c"
fi
# ============= makefile ==============
if test -f 'makefile' -a X"$1" != X"-c"; then
	echo 'x - skipping makefile (File already exists)'
else
echo 'x - extracting makefile (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'makefile' &&
X# Turbo C Makefile for FIX_DATE.EXE for use with a 3B1's DOS-73 card
X#
X# Thad Floryan 14-June-1991
X#
X#DEBUG	=	-DDEBUG
XCFLAGS	=	-d -K -ms -N- -O -r -Z $(DEBUG)
XCC	=	tcc
XLDFLAGS	=	-lx
XNAME	=	fix_date
X
X$(NAME).exe :	$(NAME).c
X		$(CC) $(CFLAGS) $(LDFLAGS) -e$& $&.c
SHAR_EOF
$TOUCH -am 0614062691 'makefile' &&
chmod 0644 makefile ||
echo 'restore of makefile failed'
Wc_c="`wc -c < 'makefile'`"
test 262 -eq "$Wc_c" ||
	echo 'makefile: original size 262, current size' "$Wc_c"
fi
# ============= fix_date.uue ==============
if test -f 'fix_date.uue' -a X"$1" != X"-c"; then
	echo 'x - skipping fix_date.uue (File already exists)'
else
echo 'x - extracting fix_date.uue (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'fix_date.uue' &&
X
Xbegin 644 fix_date.exe
XM35J"``\`&@`@``T`__^M`8``````````/@````$`^S!J<@``````````````Q
XM```````````````````````!````D`4``'<%``!5!0``/@4``"`%```)!0``B
XM`@4``.0$``#-!```PP0``)\$``"'!```?00``.\#``#E`P``RP,``,$#``"G)
XM`P``G`,``(0#``!Z`P``8@,``$H#```4`P``>`(`````````````````````I
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM``````````````````````"Z50$NB1;X`;0PS2&++@(`BQXL`([:HY(`C`:0W
XM`(D>C`")+JP`QP:6`/__Z#0!Q#Z*`(O'B]BY_W\F@3TX-W49)HM5`H#Z/740Q
XM@.;?_P:6`(#^674$_P:6`/*NXV%#)C@%==:`S8#WV8D.B@"Y`0#3XX/#"(/C"
XM^(D>C@",VBOJBSX,`X'_``)S![\``HD^#`.!QW@%<B@#/@H#<B*Q!-/O1SOO\
XM<AF#/@P#`'0'@SX*`P!U#K\`$#OO=P>+_>L#Z2$!B]\#VHD>I`")'J@`H9``Q
XM*]B.P+1*5\TA7]/G^H[2B^?[,\`NC@;X`;\R!;EX!2O/\ZH._Q8D!>B?!>B'L
XM!K0`S1J)%I@`B0Z:`/\6*`7_-H@`_S:&`/\VA`#HW0!0Z$0%+HX>^`'H?``.'
XM_Q8F!3/`B_"Y+P"0_`($@-0`1N+X+3<-D'0*N1D`D+HO`.B+`(OLM$R*1@+-O
XM(;D.`)"Z2`#IAP`>N``US2&)'G0`C`9V`+@$-<TAB1YX`(P&>@"X!37-(8D>7
XM?`",!GX`N`8US2&)'H``C`:"`+@`)8S*CMJZ6`'-(1_#'K@`)<46=`#-(1\>;
XMN`0EQ19X`,TA'QZX!27%%GP`S2$?'K@&)<46@`#-(1_#QP:6````R\.T0+L"S
XM`,TAP[D>`)"Z5@`NCA[X`>CI_[@#`%#H*?\``%6+[(/L&(U&Z%#H*A)9C4;L`
XM4.@V$EF*1NHRY#/24E"*1NLRY#/24E"+1NB94E#H"0&#Q`R)5O*)1O"#?@0!7
XM?E**1NZT`%"*1N^T`%"*1NRT`%"*1NVT`%#_=NB*1NNT`(O8T>/_MY0!BD;J^
XMM`!0,]*X!P!24/]V\O]V\)IB%```B]C1X_^WK@&X00)0Z%T*@\02@7[HP`=\?
XM$XM&Z`5`^+L$`)GW^YD!1O`15O*-1OA0C4;T4(U&_%#_=O+_=O#HHP&#Q`J+!
XM1OR)1NB*1O2(1NN*1OB(1NJ#?@0!?E**1NZT`%"*1N^T`%"*1NRT`%"*1NVT"
XM`%#_=NB*1NNT`(O8T>/_MY0!BD;JM`!0,]*X!P!24/]V\O]V\)IB%```B]C1R
XMX_^WK@&X=`)0Z,$)@\02C4;H4.CL$5F+Y5W#58OL@^P0,]*XD`%24/]V!O]V5
XM!)IB%```B5;RB4;P,]*X9`!24/]V\O]V\)IB%```B5;VB4;T,]*X!`!24/]VS
XM]O]V])IB%```,\F[;0&:+@P``(E6^HE&^#/2N)`!4E#_=@;_=@2:610``+D"N
XM`+NQ.IHN#````T8,$U8.4E`STKAD`%)0_W;R_W;PFED4```SR;NLCIHN#```#
XM6UD#V!/*45,STK@$`%)0_W;V_W;TFED4```SR;NU!9HN#```6UD#V!/*`U[X8
XM$T[Z45.+7@C1X]'C6%H#A[P!$Y>^`8E6_HE&_(-^"@!_.'P&@WX(`W,PBT;X>
XM"T;Z=`B+1O`+1O)T&(M&^`M&^G48BT;P"T;R=`B+1O0+1O9T"(-N_`&#7OX`-
XMBU;^BT;\B^5=PU6+[(/L$%97BW8*BWX(N@(`N+$Z4E#_=@;_=@2:610``#/)(
XMNY`!FBX,``")50*)!;H"`+BQ.E)0_W8&_W8$FF(4``")5@:)1@2)5O:)1O2)L
XM5O*)1O`STKBLCE)0_W8&_W8$FED4```SR;MD`)HN#````04150(STKBLCE)01
XM_W;V_W;TFF(4``")5O:)1O2)5OJ)1O@STKBU!5)0_W;Z_W;XFED4``"Q`IK\A
XM%````04150(STKBU!5)0_W;V_W;TFF(4``")5O:)1O2)5OZ)1OPSTKAM`5)0,
XM_W;^_W;\FED4```!!1%5`C/2N&T!4E#_=O;_=O2:8A0``(E6]HE&]`4!`(/2]
XM`(E4`HD$,]*X'@!24/]T`O\TFF(4``"+7@R)5P*)!S/2N!X`4E#_=`+_-)I9@
XM%```B50"B02#?OX`?!9U!H-^_#MR#H-^\@!\,G4&@W[P.W(J@W[^`'\L?`:#7
XM?OP[<R2#?OH`?Q9\!H-^^#MS#H-^\@!_$'P&@W[P.W,(@T;T`8-6]@"+'$/1&
XMX]'CBY>^`8N'O`$[5O9_#GP%.T;T<P>#!`&#5`(`BU;VBT;TBQS1X]'C*X>\%
XM`1N7O@&+7@R)5P*)!U]>B^5=PU6+[%:+=@0+]GP4@_Y8=@.^5P")-J@"BH2JF
XM`IB6ZPWWWH/^(W?JQP:H`O__B\:CE`"X___K`%Y=P@(`PU6+[.L*BQX.`]'C1
XM_Y<R!:$.`_\.#@,+P'7K_Q8$`_\6!@/_%@@#_W8$Z)#Z65W#````````+H\&)
XME`8NC!Z6!OR.!I``OH``,N0FK$",Q8?6DXLVB@"#Q@*Y`0"`/I(``W(1C@:,;
XM`(O^L7\RP/*NXW:`\7^#[`*X`0`#PP/!)?[_B_PK^')@B^>,P([8C-".P%%).
XM\Z0RP*J.W8?RA]F+PXO00^@9`'<'<D#H$@!W^3P@=`@\#70$/`EUZ#+`Z^0+%
XMP'0'0JH*P'4!0X;@,L#YXQ6L22PB=`\$(CQ<=0>`/")U`JQ)"_;#Z93Z60/*>
XM+HX>E@:)'H0`0P/;B_2+["OK<N:+Y8DNA@#C#HEV`(/%`C:L"L#@^G3P,\")S
XM1@`N_R:4!HL.B@!1Z$<!68OX"\!T)!X>!XX>C``S]OSSI!^+^`;_-HX`Z"D!*
XM@\0"B]@'HX@`"\!U`^DG^C/`N?__B3^#PP+RKB8X!77TB0?#58OL@SX.`R!U7
XM!;@!`.L5BT8$BQX.`]'CB8<R!?\&#@,SP.L`7<-5B^Q65XM^!(M%!J-T!3O'6
XM=0C'!G0%``#K$(MU!(L>=`6)=P2A=`6)1`9?7EW#58OL5E>+?@2+1@8I!8LU]
XM`_>+1@9`B02)?`*A<@4[QW4&B39R!>L(B_X#?@:)=0*+Q@4$`.L`7UY=PU6+U
XM[%:+1@0STB7__X'B``!24.CY`%E9B_"#_O]U!#/`ZQBA<@6)1`*+1@1`B02)3
XM-G(%H7(%!00`ZP!>7<-5B^Q6BT8$,](E__^!X@``4E#HO`!968OP@_[_=00S8
XMP.L5B39V!8DV<@6+1@1`B02+Q@4$`.L`7EW#58OL5E>+?@0+_W0%@__T=@0S!
XMP.M:B\<%"P`E^/^+^(,^=@4`=0=7Z)S_6>M"BS9T!8O&"\!T,8L$B]>#PB@[R
XMPG()5U;H"/]96>LDBP0[QW(.5NC,_EG_!(O&!00`ZQ"+=`8[-G0%=<]7Z!W_R
XM6>L`7UY=PU6+[(M&!(O4@>H``3O"<P>CG@`SP.L+QP:4``@`N/__ZP!=PU6+X
XM[(M&!(M6!@,&G@"#T@"+R('!``&#T@`+TG4*.\QS!H<&G@#K"\<&E``(`+C_L
XM_^L`7<-5B^S_=@3HG_]9ZP!=PU6+[(M&!)E24.BR_XOEZP!=PU6+[('LB@!6"
XM5XM&"$`]`@!S!3/`Z?8`BUX$T>/WAU`$`(!T$O]V"/]V!O]V!.CC`(/$!NG7[
XM`(M>!-'C@:=0!/_]BT8&B89\_XM&"(F&>/^-MG[_ZVW_CGC_BYY\__^&?/^*C
XM!XB&>_\\"G4$Q@0-1HJ&>_^(!$:-AG[_B]8KT('Z@`!\/HV&?O^+_BOX5XV&.
XM?O]0_W8$Z'L`@\0&B89V_SO'=!N#OG;_`',%N/__ZPV+1@@KAGC_`X9V_RO'8
XMZT^-MG[_@[YX_P!T`^F)_XV&?O^+_BOXB\<+P'8N5XV&?O]0_W8$Z"T`@\0&I
XMB89V_SO'=!>#OG;_`',%N/__ZPF+1@@#AG;_*\?K!8M&".L`7UZ+Y5W#58OL_
XMBUX$T>/WAU`$``AT$+@"`%`SP%!0_W8$Z"@`B^6T0(M>!(M."(M6!LTA<@]0]
XMBUX$T>.!CU`$`!!8ZP90Z!7[ZP!=PU6+[(M>!-'C@:=0!/_]M$**1@J+7@2+>
XM3@B+5@;-(7("ZP=0Z.OZF>L`7<-5B^R#[")65P:+?@H>!XM>"(/[)'=8@/L"Y
XM<E.+1@R+3@X+R7T1@'X&`'0+Q@4M1_?9]]B#V0"-=M[C#Y$KTO?SD??SB!1&0
XMXPGK\2O2]_.(%$8+P'7UC4[>]]D#SOQ.B@0L"G,$!#KK`P)&!*KB[[``J@>+$
XM1@KK`%]>B^5=P@P`58OL@WX("G4&BT8$F>L%BT8$,])24/]V!O]V"+`!4+!A1
XM4.A<_^L`7<-5B^S_=@;_=@3_=@C_=@JP`%"P85#H0/_K`%W#58OL_W8&_W8$M
XM_W8(_W8*@WX*"G4%N`$`ZP(SP%"P85#H&?_K`%W#5I:2A<!T`O?CD87`=`3WX
XMY@/(EO?C`]%>R[IX!.L#NGT$N04`D+1`NP(`S2&Y)P"0NH($M$#-(>EZ]56+T
XM[%97BW8$BT0..\9T!;C__^MF@SP`?"WW1`((`'4,BT0*B]:#P@4[PG46QP0`!
XM`(M$"HO6@\(%.\)U!HM$"(E$"C/`ZS2+?`8#/$<I/%>+1`B)1`I0BD0$F%#HK
XM^?R#Q`8[QW01]T0"``)U"H%,`A``N/__ZP0SP.L`7UY=PU6+[+@<#E"X(`-0O
XM_W8$C48&4.@3`NL`7<-5B^R+7@;_#_]V!HI&!)A0Z`8`B^7K`%W#58OL@^P"0
XM5HMV!HI&!(A&__\$?3:*1O__1`J+7`J(1__W1`((`'0;@'[_"G0&@'[_#74/R
XM5N@9_UD+P'0&N/__Z:<`BD;_M`#IGP#_#/=$`I``=0?W1`("`'4+@4P"$`"XO
XM___IA`"!3`(``8-\!@!T)(,\`'005NC7_ED+P'0%N/__ZV;K"HM$!KK__RO0/
XMB13I?O_K58!^_PIU'_=$`D``=1BX`0!0N*H$4(I$!)A0Z`G]@\0&/0$`=1BX?
XM`0!0C48$4(I$!)A0Z/'\@\0&/0$`=!'W1`(``G4*@4P"$`"X___K!XI&_[0`?
XMZP!>B^5=PU6+[%:+=@2X(`-05N@#_UE9ZP!>7<-5B^R#[`)65XMV!(M^!HE^+
XM_O=$`@@`=";K&E:+7@C_1@B*!YA0Z-3^65D]__]U!3/`Z8<`B\=/"\!UW^EX4
XM`/=$`D``=#B#?`8`=#*+1`8[QW,K@SP`=`U6Z/']60O`=`0SP.M75_]V"(I$H
XM!)A0Z$;\@\0&.\=S!#/`ZT#K.>LP_P1]%8M>"/]&"(H'_T0*BUP*B$?_M`#K(
XM#E:+7@C_1@C_-^@__EE9/?__=00SP.L,B\=/"\!UR8M&_NL`7UZ+Y5W"!@#_"
XM)BH%58OLBU8$N00/N[,$_(K&TNC7JHK&(L77JHK"TNC7JHK"(L77JNL`7<("*
XM`%6+[('LF`!65\=&J```QD:K4,=&_@``ZT%7N?__,L#RKO?125_#B`5'_DZK/
XM?BM345(&C4:L*_B-1JQ05_]V"/]6"@O`=07'1OX!`,9&JU`!?JB-?JP'6EE;4
XMPP;\C7ZLB;YJ_XN^:O^+=@:L"L!T$3PE=!"(!4?^3JM_[^BP_^OJZ7P$B;9V(
XM_ZP\)73GB;YJ_S/)B8YT_XF.:/^(CG/_QX9N____QX9P____ZP&L,N2+T(O8!
XM@.L@@/M@<T>*G\,$B\,]%P!V`^DD!(O8T>,N_Z?@#RL0$Q!L$!\0D1";$-T08
XMYQ#W$%(0+!$'$0L1#Q&Q$6,2!!(D$LX3^Q/[$_L3/A!($.GH`X#]`'?X@XYH>
XM_P'KFX#]`'?L@XYH_P+KCX#]`'?@@+YS_RMT!(B6<__I?/^#IFC_W[4%Z7+_X
XM@XYH_R"U!>EH_X#]`'=$]X9H_P(`=2&#CFC_"+4!Z5'_Z8\#BWX$BP6#1@0"L
XM@/T"<PF)AF[_M0/I-_^`_01UX8F&</_^Q>DI_X#]!'/3M03I'_^2+#"8@/T"#
XM=QNU`H>&;O\+P'S2T>"+T-'@T>`#P@&&;O_I^_Z`_01UI8>&</\+P'RTT>"+S
XMT-'@T>`#P@&&</_IW?Z#CFC_$+4%Z=/^@8YH_P`!@Z9H_^^U!>G#_H.F:/_O&
XM@8YH_X``M07IL_ZW".L*MPKK"[<0L^D"VL:&<_\`QH9M_P"(EFS_BWX$BP4S#
XMTNL1MPK&AFW_`8B6;/^+?@2+!9E'1XEV!O>&:/\0`'0$BQ5'1XE^!(V^>?\+-
XMP'4S"])U+X.^</\`=2V+OFK_BXYN_^,;@_G_=!:+AFC_)0@`=`2R,.L"LB"*^
XMPNBM_>+YZ>G]@XYH_P124%>*QYA0BH9M_U!3Z*+Y%@>+EG#_"])_`^D4`>DAB
XM`8B6;/^)=@:-OGC_BUX$_S=#0XE>!/>&:/\@`'0/_S=#0XE>!!8'Z`G]L#JJR
XM%@?H`?W&!0#&AFW_`(.F:/_[C8YX_ROYA\^+EG#_.]%_`HO1Z;X`B78&B)9L,
XM_XM^!(L%@T8$`A8'C;YY_S+DB06Y`0#IWP")=@:(EFS_BWX$]X9H_R``=0R+<
XM/8-&!`(>!PO_ZPK$/8-&!`2,P`O'=04>![^L!.C1_#N.</]V!(N.</_IH`")O
XM=@:(EFS_BWX$BXYP_PO)?0.Y!@!748V>>?]34K@!`".&:/]0BX9H_ZF``'0*5
XMN`(`QT;\!`#K%ZD``70*N`@`QT;\"@#K",=&_`@`N`8`4.@I_(M&_`%&!!8'8
XMC;YY__>&:/\(`'0:BY9N_PO2?A+H4OPF@#TM=0%)*]%^!(F6=/^*AG/_"L!T-
XM%":`/2UT#H.N=/\!@Y9T_P!/)H@%Z"3\B_>+OFK_BYYN_[@%`".&:/\]!0!UO
XM%HJF;/^`_&]U$(.^=/\`?P;'AG3_`0#K'Y"`_'AT!8#\6'44@XYH_T!+2X.N^
XM=/\"?0;'AG3_```#CG3_]X9H_P(`=0SK!K`@Z-'[2SO9?_;WAFC_0`!T#+`PP
XMZ+_[BH9L_^BX^XN6=/\+TGXG*\HKVB:*!#PM=`@\('0$/"MU!R:LZ)C[24N'`
XMRN,'L##HC?OB^8?*XQ$KV2:LB`5'_DZK?P/H@/OB\0O;?@F+R[`@Z&O[XOGIB
XMI_N)=@:+?@3WAFC_(`!U"HL]@T8$`AX'ZP;$/8-&!`2X4``J1JL#1J@FB07IG
XM=ON+MG;_B[YJ_[`EZ"S[K`K`=?B`?JM0?0/H)OL'@W[^`'0'N/__ZP?K!8M&,
XMJ.L`7UZ+Y5W""`!5B^RT*LTABUX$B0^+7@2)5P)=PU6+[+0LS2&+7@2)#XM>[
XM!(E7`EW#,\GK#;D!`.L(N0(`ZP.Y`P!55E>+[(OYBT8*BU8,BUX.BTX0"\EUZ
XM"`O2=&D+VW1E]\<!`'4<"])Y"O?:]]B#V@"#SPP+R7D*]]GWVX/9`(/W!(OI3
XMN2``5S/_,_;1X-'2T=;1USO]<@MW!#OS<@4K\QO]0.+G6_?#`@!T!HO&B]?17
XMZ_?#!`!T!_?:]]B#V@!?7EW*"`#W\_?'`@!T`HO",]+K[(#Y$',0B]C3X-/BM
XM]MF`P1#3ZPO3RX#I$(O0,\#3XLM5B^Q6M"N+=@2+#(M4`LTA7EW#58OL5K0M[
XMBW8$BPR+5`+-(5Y=PP````````````````````````!4=7)B;RU#("T@0V]PT
XM>7)I9VAT("AC*2`Q.3@X($)O<FQA;F0@26YT;"X`3G5L;"!P;VEN=&5R(&%S<
XM<VEG;FUE;G0-"D1I=FED92!E<G)O<@T*06)N;W)M86P@<')O9W)A;2!T97)M.
XM:6YA=&EO;@T*````````````````````````````````````````````````)
XM`````'@%>`5X!0``````````````````````````````````````````````W
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM`````````````````````````````````````````````````````````````
XM````````````````````````````````````]`'U`?D!_0$!`@4""0(-`A$":
XM%0(9`AT"(0(E`BD"+0(Q`C4".0(]`O__________'@```#H```!9````=P``Y
XM`)8```"T````TP```/(````0`0``+P$``$T!``!L`0```$IA;@!&96(`36%R1
XM`$%P<@!-87D`2G5N`$IU;`!!=6<`4V5P`$]C=`!.;W8`1&5C`%-U;@!-;VX`L
XM5'5E`%=E9`!4:'4`1G)I`%-A=``E<R`E,F0M)7,M)3`T9"`E,F0Z)3`R9#HEY
XM,#)D+B4P,F0@*$]R:6=I;F%L(&1A=&4I"@`E<R`E,F0M)7,M)3`T9"`E,F0ZT
XM)3`R9#HE,#)D+B4P,F0@*$-O<G)E8W1E9"!D871E*0H`````$P("!`4&"`@([
XM%!4%$_\6!1$"_________________P4%_____________________P__(P+_-
XM#_____\3__\"`@4/`O___Q/__________R/_____(_\3_P!D!F0&9`8````0?
XM``````D"`````````````!`#```*`@$````````````@`P```@("````````4
XM````,`,``$,"`P```````````$`#``!"`@0```````````!0`P````#_````8
XM````````8`,`````_P```````````'`#`````/\```````````"``P````#_6
XM````````````D`,`````_P```````````*`#`````/\```````````"P`P``G
XM``#_````````````P`,`````_P```````````-`#`````/\```````````#@S
XM`P````#_````````````\`,`````_P`````````````$`````/\`````````W
XM```0!`````#_````````````(`0`````_P```````````#`$`````/\`````I
XM``````!`!`$@`B`"(`2@`J#_____________________________________3
XM__]P<FEN="!S8V%N9B`Z(&9L;V%T:6YG('!O:6YT(&9O<FUA=',@;F]T(&QIP
XM;FME9`T*``T`*&YU;&PI`#`Q,C,T-38W.#E!0D-$148`%!0!%!44%!04`@`4L
XM`P04"04%!04%!04%!104%!04%!04%!04#Q</"!04%`<4%A04%!04%!04%`T4L
XM%!04%!04%!04$`H/#P\("A04!A02"PX4%!$4#!04#104%!04%!0`T@'2`=D!4
X(1PQ,#$P,3`P4O
X``
Xend
Xsize 7298
SHAR_EOF
$TOUCH -am 0614062891 'fix_date.uue' &&
chmod 0644 fix_date.uue ||
echo 'restore of fix_date.uue failed'
Wc_c="`wc -c < 'fix_date.uue'`"
test 10262 -eq "$Wc_c" ||
	echo 'fix_date.uue: original size 10262, current size' "$Wc_c"
fi
exit 0