1 From somewhere!bsdi-users-request@bsdi.com Mon Mar 1 11:50:20 1993
2 Received: by IEDVB.acd.com (5.57/Ultrix2.3-C)
3 id AA10693; Mon, 1 Mar 93 11:50:20 -0500
4 Received: by acd4.acd.com (5.57/Ultrix2.4-C)
5 id AA15842; Mon, 1 Mar 93 11:51:42 EST
6 Received: from banjo.concert.net by relay1.UU.NET with SMTP
7 (5.61/UUNET-internet-primary) id AA01965; Sun, 28 Feb 93 03:24:30 -0500
8 Received: by banjo.concert.net (5.59/tas-concert/6-19-91)
9 id AA28168; Sun, 28 Feb 93 02:07:16 -0500
10 Message-Id: <199302280705.AA26812@misc.glarp.com>
11 To: sgd@tfm.tfm.com (Stephen Diercouff)
12 Cc: bsdi-users@bsdi.com
13 Subject: Re: BSDI MH patches
14 In-Reply-To: <m0nSYkB-0007ZEC@tfm.tfm.com>
16 Content-Type: multipart/mixed; boundary="----- =_aaaaaaaaaa0"
17 Date: Sun, 28 Feb 1993 00:05:40 -0700
18 From: Brad Huntting <huntting@glarp.com>
19 Errors-To: bsdi-users-request@bsdi.com
20 Sender: bsdi-users-request@bsdi.com
22 X-Loop: bsdi-users@bsdi.com
28 Content-Type: text/plain; charset="us-ascii"
30 I seemed to have jumped the gun with respect to the mh patches...
31 This batch has been tested (really!).
37 Content-Type: text/plain; charset="us-ascii"
38 Content-Description: mh-6.8-patch
40 diff -c /dev/null mh/conf/MH.bsd386:1.2
41 *** /dev/null Tue Feb 9 07:41:52 1993
42 --- mh/conf/MH.bsd386 Tue Feb 9 07:41:54 1993
46 + # a BSD386 system running SendMail
48 + bin /usr/contrib/mh/bin
49 + etc /usr/contrib/mh/lib
50 + mandir /usr/contrib/man
52 + chown /usr/sbin/chown
58 + options BIND BSD42 BSD43 DBMPWD MORE='"/usr/bin/more"'
59 + options SYS5DIR NTOHLSWAP OVERHEAD VSPRINTF WHATNOW ZONEINFO
60 + options MHE MHRC MIME FLOCK
67 + popdir /usr/local/lib/mh
68 + #options APOP='"/etc/pop.auth"'
72 diff -c mh/conf/config/mtstailor:1.1.1.1 mh/conf/config/mtstailor:1.2
73 *** mh/conf/config/mtstailor:1.1.1.1 Tue Feb 9 07:41:56 1993
74 --- mh/conf/config/mtstailor Tue Feb 9 07:41:56 1993
78 mmdflfil: @(MHDROPFIL)
79 hostable: @(MHETCPATH)/hosts
80 servers: localhost \01localnet
81 + sendmail: /usr/sbin/sendmail
83 diff -c mh/conf/makefiles/sbr:1.1.1.1 mh/conf/makefiles/sbr:1.2
84 *** mh/conf/makefiles/sbr:1.1.1.1 Tue Feb 9 07:42:05 1993
85 --- mh/conf/makefiles/sbr Tue Feb 9 07:42:06 1993
88 # Instructions to Make, for compilation of MH modules
91 ! # @(#)$Id: sbr,v 2.19 1992/11/12 22:47:24 jromine Exp $
92 ##############################################################################
94 OPTIONS = @(MHOPTIONS)
96 # Instructions to Make, for compilation of MH modules
99 ! # @(#)$Id: sbr,v 1.1.1.1 1993/01/30 04:40:16 jtc Exp $
100 ##############################################################################
102 OPTIONS = @(MHOPTIONS)
105 makedir.c path.c peekc.c pidwait.c pidstatus.c \
106 printsw.c push.c putenv.c pwd.c refile.c remdir.c r1bindex.c \
107 showfile.c smatch.c sprintb.c ssequal.c strindex.c trimcpy.c \
108 ! uleq.c uprf.c vfgets.c formatdef.c m_msgdef.c
111 OFILES = add.o adios.o admonish.o addrsbr.o advertise.o advise.o \
113 makedir.c path.c peekc.c pidwait.c pidstatus.c \
114 printsw.c push.c putenv.c pwd.c refile.c remdir.c r1bindex.c \
115 showfile.c smatch.c sprintb.c ssequal.c strindex.c trimcpy.c \
116 ! uleq.c uprf.c vfgets.c formatdef.c m_msgdef.c ruserpass.c
119 OFILES = add.o adios.o admonish.o addrsbr.o advertise.o advise.o \
122 makedir.o path.o peekc.o pidwait.o pidstatus.o \
123 printsw.o push.o putenv.o pwd.o refile.o remdir.o r1bindex.o \
124 showfile.o smatch.o sprintb.o ssequal.o strindex.o trimcpy.o \
125 ! uleq.o uprf.o vfgets.o formatdef.o m_msgdef.o
128 ODEFS = formatdef.o m_msgdef.o
130 makedir.o path.o peekc.o pidwait.o pidstatus.o \
131 printsw.o push.o putenv.o pwd.o refile.o remdir.o r1bindex.o \
132 showfile.o smatch.o sprintb.o ssequal.o strindex.o trimcpy.o \
133 ! uleq.o uprf.o vfgets.o formatdef.o m_msgdef.o ruserpass.o
136 ODEFS = formatdef.o m_msgdef.o
137 diff -c mh/conf/makefiles/zotnet/tws:1.1.1.1 mh/conf/makefiles/zotnet/tws:1.2
138 *** mh/conf/makefiles/zotnet/tws:1.1.1.1 Tue Feb 9 07:42:11 1993
139 --- mh/conf/makefiles/zotnet/tws Tue Feb 9 07:42:11 1993
142 # Instructions to Make, for compilation of ZOT UIP/utility processes
145 ! # @(#)$Id: tws,v 1.15 1992/11/18 16:54:16 jromine Exp $
146 ##############################################################################
148 # The following entries were inserted during MH configuration
150 # Instructions to Make, for compilation of ZOT UIP/utility processes
153 ! # @(#)$Id: tws,v 1.1.1.1 1993/01/30 04:40:19 jtc Exp $
154 ##############################################################################
156 # The following entries were inserted during MH configuration
162 $(LEX) dtimep.lex | sed -f lexedit.sed > dtimep.c
163 + len=`wc -l dtimep.c | awk ' { print $$1 } '`; \
164 + if [ $$len -eq 1 ]; then cp dtimep.c-lexed dtimep.c; fi
166 lexstring.o: lexstring.c
167 $(CC) $(CFLAGS) -c -DONECASE lexstring.c
168 diff -c mh/dist/Makefile:1.1.1.1 mh/dist/Makefile:1.2
169 *** mh/dist/Makefile:1.1.1.1 Tue Feb 9 07:42:15 1993
170 --- mh/dist/Makefile Tue Feb 9 07:42:15 1993
173 # Instructions to Make, for generation of MH documentation sets
175 # This file is automatically generated. Do not edit!
176 ! # @(#)$Id: dist,v 2.7 1992/12/02 22:21:43 jromine Exp $
177 ##############################################################################
179 MAKE = make DESTDIR=$(DESTDIR) $(MFLAGS) -k
181 # Instructions to Make, for generation of MH documentation sets
183 # This file is automatically generated. Do not edit!
184 ! # @(#)$Id: dist,v 1.1.1.1 1993/01/30 04:40:16 jtc Exp $
185 ##############################################################################
187 MAKE = make DESTDIR=$(DESTDIR) $(MFLAGS) -k
188 diff -c mh/h/mh.h:1.1.1.1 mh/h/mh.h:1.2
189 *** mh/h/mh.h:1.1.1.1 Tue Feb 9 07:42:20 1993
190 --- mh/h/mh.h Tue Feb 9 07:42:20 1993
193 /* mh.h - main header file for all of MH */
194 ! /* @(#)$Id: mh.h,v 2.18 1992/12/14 17:10:43 jromine Exp $ */
197 /* Well-used constants */
199 /* mh.h - main header file for all of MH */
200 ! /* @(#)$Id: mh.h,v 1.1.1.1 1993/01/30 04:40:24 jtc Exp $ */
203 /* Well-used constants */
207 /* should be in <stdio.h> */
209 ! #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) && !defined(__convex__)
210 typedef struct _iobuf *FP;
215 /* should be in <stdio.h> */
217 ! #if !defined(SYS5) && !defined(ncr) && !defined(_AIX) && !defined(OSF1) && !defined(__convex__) && !defined(__386BSD__) && !defined(__bsdi__)
218 typedef struct _iobuf *FP;
221 diff -c mh/h/strings.h:1.1.1.1 mh/h/strings.h:1.2
222 *** mh/h/strings.h:1.1.1.1 Tue Feb 9 07:42:21 1993
223 --- mh/h/strings.h Tue Feb 9 07:42:21 1993
226 /* strings.h - define standard string functions */
227 ! /* @(#)$Id: strings.h,v 1.18 1992/11/12 19:34:05 jromine Exp $ */
229 #ifndef _STRINGS /* once-only... */
232 /* strings.h - define standard string functions */
233 ! /* @(#)$Id: strings.h,v 1.1.1.1 1993/01/30 04:40:24 jtc Exp $ */
235 #ifndef _STRINGS /* once-only... */
241 #if defined(BSD42) || defined(SVR4)
249 #if defined(BSD42) || defined(SVR4)
250 ! #if !defined(SVR4) && !defined(__386BSD__) && !defined(__bsdi__)
261 char *calloc (), *malloc (), *realloc ();
267 ! #if !defined(SVR4) && !defined(__386BSD__) && !defined(__bsdi__)
269 char *calloc (), *malloc (), *realloc ();
271 diff -c mh/sbr/discard.c:1.1.1.1 mh/sbr/discard.c:1.2
272 *** mh/sbr/discard.c:1.1.1.1 Tue Feb 9 07:43:22 1993
273 --- mh/sbr/discard.c Tue Feb 9 07:43:22 1993
276 /* discard.c - discard output on a file pointer */
278 ! static char ident[] = "@(#)$Id: discard.c,v 1.6 1992/12/15 00:20:22 jromine Exp $";
286 #include <sys/types.h>
290 /* discard.c - discard output on a file pointer */
292 ! static char ident[] = "@(#)$Id: discard.c,v 1.1.1.1 1993/01/30 04:41:24 jtc Exp $";
298 + #include <termios.h>
303 #include <sys/types.h>
308 #include <sys/ioctl.h>
309 #endif /* NOIOCTLH */
326 if (ioctl (fileno (io), TIOCGETP, (char *) &sg) != NOTOK)
327 (void) ioctl (fileno (io), TIOCSETP, (char *) &sg);
329 #include <sys/ioctl.h>
330 #endif /* NOIOCTLH */
349 + tcflush (fileno (io), TCOFLUSH);
352 if (ioctl (fileno (io), TIOCGETP, (char *) &sg) != NOTOK)
353 (void) ioctl (fileno (io), TIOCSETP, (char *) &sg);
357 if (ioctl (fileno (io), TCGETA, &sg) != NOTOK)
358 (void) ioctl (fileno (io), TCSETA, &sg);
365 if (io -> _ptr = io -> _base)
369 diff -c mh/sbr/m_getfld.c:1.1.1.1 mh/sbr/m_getfld.c:1.2
370 *** mh/sbr/m_getfld.c:1.1.1.1 Tue Feb 9 07:43:25 1993
371 --- mh/sbr/m_getfld.c Tue Feb 9 07:43:25 1993
374 /* m_getfld.c - read/parse a message */
376 ! static char ident[] = "@(#)$Id: m_getfld.c,v 1.14 1992/10/31 07:44:56 jromine Exp $";
381 /* m_getfld.c - read/parse a message */
383 ! static char ident[] = "@(#)$Id: m_getfld.c,v 1.1.1.1 1993/01/30 04:41:26 jtc Exp $";
390 static int edelimlen;
392 static int (*eom_action) () = NULL;
395 + #define _ptr _p /* Gag */
396 + #define _cnt _r /* Retch */
397 + #define _filbuf __srget /* Puke */
402 diff -c /dev/null mh/sbr/ruserpass.c:1.1
403 *** /dev/null Tue Feb 9 07:43:26 1993
404 --- mh/sbr/ruserpass.c Tue Feb 9 07:43:27 1993
409 + * Copyright (c) 1985 Regents of the University of California.
410 + * All rights reserved.
412 + * Redistribution and use in source and binary forms are permitted
413 + * provided that the above copyright notice and this paragraph are
414 + * duplicated in all such forms and that any documentation,
415 + * advertising materials, and other materials related to such
416 + * distribution and use acknowledge that the software was developed
417 + * by the University of California, Berkeley. The name of the
418 + * University may not be used to endorse or promote products derived
419 + * from this software without specific prior written permission.
420 + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
421 + * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
422 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
426 + static char sccsid[] = "@(#)ruserpass.c 5.1 (Berkeley) 3/1/89";
427 + #endif /* not lint */
429 + #include <sys/types.h>
430 + #include <sys/stat.h>
436 + char *malloc(), *index(), *getenv(), *getpass(), *getlogin();
438 + static FILE *cfile;
440 + #ifndef MAXHOSTNAMELEN
441 + #define MAXHOSTNAMELEN 64
452 + static int token();
453 + static char tokval[100];
455 + static struct toktab {
459 + "default", DEFAULT,
461 + "password", PASSWD,
463 + "account", ACCOUNT,
469 + ruserpass(host, aname, apass)
470 + char *host, **aname, **apass;
472 + char *hdir, buf[BUFSIZ], *tmp;
473 + char myname[MAXHOSTNAMELEN], *mydomain;
474 + int t, i, c, usedefault = 0;
478 + hdir = getenv("HOME");
481 + (void) sprintf(buf, "%s/.netrc", hdir);
482 + cfile = fopen(buf, "r");
483 + if (cfile == NULL) {
484 + if (errno != ENOENT)
489 + while ((t = token())) switch(t) {
499 + * Allow match either for user's host name.
501 + if (strcasecmp(host, tokval) == 0)
506 + while ((t = token()) && t != MACH && t != DEFAULT) switch(t) {
509 + if (token() && *aname == 0) {
510 + *aname = malloc((unsigned) strlen(tokval) + 1);
511 + (void) strcpy(*aname, tokval);
515 + if (fstat(fileno(cfile), &stb) >= 0 &&
516 + (stb.st_mode & 077) != 0) {
517 + fprintf(stderr, "Error - .netrc file not correct mode.\n");
518 + fprintf(stderr, "Remove password or correct mode.\n");
521 + if (token() && *apass == 0) {
522 + *apass = malloc((unsigned) strlen(tokval) + 1);
523 + (void) strcpy(*apass, tokval);
533 + fprintf(stderr, "Unknown .netrc keyword %s\n", tokval);
540 + (void) fclose(cfile);
547 + if ((myname = getlogin()) == NULL) {
550 + if ((pp = getpwuid (getuid())) != NULL)
551 + myname = pp->pw_name;
553 + printf("Name (%s:%s): ", host, myname);
555 + (void) fgets(tmp, sizeof(tmp) - 1, stdin);
556 + tmp[strlen(tmp) - 1] = '\0';
557 + if (*tmp != '\0') {
561 + *aname = malloc((unsigned) strlen(myname) + 1);
562 + strcpy (*aname, myname);
569 + sprintf(prompt, "Password (%s:%s): ", host, *aname);
570 + mypass = getpass (prompt);
572 + if (*mypass == '\0') {
576 + *apass = malloc((unsigned) strlen(mypass) + 1);
577 + strcpy (*apass, mypass);
582 + (void) fclose(cfile);
595 + while ((c = getc(cfile)) != EOF &&
596 + (c == '\n' || c == '\t' || c == ' ' || c == ','))
602 + while ((c = getc(cfile)) != EOF && c != '"') {
609 + while ((c = getc(cfile)) != EOF
610 + && c != '\n' && c != '\t' && c != ' ' && c != ',') {
617 + if (tokval[0] == 0)
619 + for (t = toktab; t->tokstr; t++)
620 + if (!strcmp(t->tokstr, tokval))
624 diff -c mh/uip/replsbr.c:1.1.1.1 mh/uip/replsbr.c:1.2
625 *** mh/uip/replsbr.c:1.1.1.1 Tue Feb 9 07:43:44 1993
626 --- mh/uip/replsbr.c Tue Feb 9 07:43:45 1993
629 /* replsbr.c - routines to help repl along... */
631 ! static char ident[] = "@(#)$Id: replsbr.c,v 1.13 1992/12/15 00:20:22 jromine Exp $";
636 /* replsbr.c - routines to help repl along... */
638 ! static char ident[] = "@(#)$Id: replsbr.c,v 1.1.1.1 1993/01/30 04:41:38 jtc Exp $";
645 (void) dup2 (fileno (out), fileno (stdout));
649 + /* <sigh> the code assumed that rewind does this. */
650 + lseek (fileno(stdin), 0, SEEK_SET);
652 execlp (mhlproc, mhl, "-form", filter, "-noclear", NULLCP);
653 fprintf (stderr, "unable to exec ");
655 diff -c mh/uip/scansbr.c:1.1.1.1 mh/uip/scansbr.c:1.2
656 *** mh/uip/scansbr.c:1.1.1.1 Tue Feb 9 07:43:46 1993
657 --- mh/uip/scansbr.c Tue Feb 9 07:43:46 1993
660 /* scansbr.c - routines to help scan along... */
662 ! static char ident[] = "@(#)$Id: scansbr.c,v 1.13 1992/12/15 00:20:22 jromine Exp $";
667 /* scansbr.c - routines to help scan along... */
669 ! static char ident[] = "@(#)$Id: scansbr.c,v 1.1.1.1 1993/01/30 04:41:39 jtc Exp $";
676 #include <sys/types.h>
677 #include <sys/stat.h>
680 + #define _ptr _p /* Gag */
681 + #define _cnt _w /* Wretch */
684 #define MAXSCANL 256 /* longest possible scan line */
685 #define SBUFSIZ 512 /* buffer size for content part of header
686 diff -c /dev/null mh/zotnet/tws/dtimep.c-lexed:1.1
687 *** /dev/null Tue Feb 9 07:43:58 1993
688 --- mh/zotnet/tws/dtimep.c-lexed Tue Feb 9 07:43:58 1993
692 + # include "stdio.h"
693 + static int start_cond = 0;
694 + #define BEGIN start_cond =
696 + struct yywork *yystoff;
697 + struct yysvf *yyother;
701 + static char ident[] = "@(#)$Id: dtimep.lex,v 1.1 1991/04/26 21:51:10 sww Exp $";
704 + #include "../h/strings.h"
706 + #include <sys/types.h>
707 + #if !defined(SYS5) && !defined(ZONEINFO)
708 + #include <sys/timeb.h>
709 + #endif /* !defined(SYS5) && !defined(ZONEINFO) */
712 + extern long timezone;
716 + * Patchable flag that says how to interpret NN/NN/NN dates. When
717 + * true, we do it European style: DD/MM/YY. When false, we do it
718 + * American style: MM/DD/YY. Of course, these are all non-RFC822
721 + int europeandate = 0;
724 + * Table to convert month names to numeric month. We use the
725 + * fact that the low order 5 bits of the sum of the 2nd & 3rd
726 + * characters of the name is a hash with no collisions for the 12
727 + * valid month names. (The mask to 5 bits maps any combination of
728 + * upper and lower case into the same hash value).
730 + static int month_map[] = {
762 + * Same trick for day-of-week using the hash function
763 + * (c1 & 7) + (c2 & 4)
765 + static int day_map[] = {
779 + #define SETDAY { tw.tw_wday= day_map[(cp[0] & 7) + (cp[1] & 4)];\
780 + tw.tw_flags &= ~TW_SDAY; tw.tw_flags |= TW_SEXP;\
782 + #define SETMONTH { tw.tw_mon = month_map[(cp[0] + cp[1]) & 0x1f]; gotdate++;\
785 + #define CVT2 (i=(*cp++ - '0'),isdigit(*cp)? i*10 + (*cp++ - '0') : i)
786 + #define SKIPD { while ( !isdigit(*cp++) ) ; --cp; }
787 + #define EXPZONE { tw.tw_flags &= ~TW_SZONE; tw.tw_flags |= TW_SZEXP; }
788 + #define ZONE(x) { tw.tw_zone=(x); EXPZONE; }
789 + #define ZONED(x) { ZONE(x); tw.tw_flags |= TW_DST; }
790 + #define LC(c) (isupper (c) ? tolower (c) : (c))
796 + #include <sys/time.h>
799 + static zonehack (tw)
800 + register struct tws *tw;
802 + register struct tm *tm;
804 + if (twclock (tw) == -1L)
807 + tm = localtime (&tw -> tw_clock);
808 + if (tm -> tm_isdst) {
809 + tw -> tw_flags |= TW_DST;
810 + tw -> tw_zone -= 60;
814 + struct tws *dparsetime (str)
818 + static struct tws tw;
820 + register int gotdate = 0;
827 + #endif /* ZONEINFO */
828 + #endif /* not SYS5 */
832 + /* Zero out the struct. */
833 + bzero( (char *) &tw, sizeof tw);
835 + /* Set default time zone. */
838 + tw.tw_zone = -(timezone / 60);
842 + tm = localtime(&clock);
843 + tw.tw_zone = tm->tm_gmtoff / 60;
844 + if (tm -> tm_isdst) /* if DST is in effect */
845 + tw.tw_zone -= 60; /* reset to normal offset */
848 + tw.tw_zone = -tb.timezone;
849 + #endif /* ZONEINFO */
852 + while (isspace(*str))
855 + switch (cp = str, *cp ? lex_string( &str, start_cond) : 0) {
858 + if (!gotdate || tw.tw_year == 0)
875 + if (europeandate) {
876 + /* European: DD/MM/YY */
879 + tw.tw_mon = CVT2 - 1;
881 + /* American: MM/DD/YY */
882 + tw.tw_mon = CVT2 - 1;
887 + for (i = 0; isdigit(*cp); )
888 + i = i*10 + (*cp++ - '0');
889 + tw.tw_year = i % 100;
895 + while ( !isalpha(*cp++) )
898 + for (i = 0; isdigit(*cp); )
899 + i = i*10 + (*cp++ - '0');
900 + tw.tw_year = i % 100;
909 + for (i = 0; isdigit(*cp); )
910 + i = i*10 + (*cp++ - '0');
911 + tw.tw_year = i % 100;
922 + { /* hack: ctime w/o TZ */
923 + tw.tw_hour = CVT2; cp++;
924 + tw.tw_min = CVT2; cp++;
926 + while( !isdigit(*cp++) )
934 + tw.tw_hour = CVT2; cp++;
935 + tw.tw_min = CVT2; cp++;
942 + tw.tw_hour = CVT2; cp++;
949 + tw.tw_hour = CVT2; cp++;
950 + if (tw.tw_hour == 12)
958 + tw.tw_hour = CVT2; cp++;
959 + if (tw.tw_hour != 12)
976 + * Luckly, 4 digit times in the range
977 + * 1960-1999 aren't legal as hour
1034 + ZONE(-(3 * 60 + 30));
1059 + tw.tw_zone = 60 * (('a'-1) - LC(*cp));
1065 + tw.tw_zone = 60 * ('a' - LC(*cp));
1071 + tw.tw_zone = 60 * (LC(*cp) - 'm');
1078 + tw.tw_zone = ((cp[0] * 10 + cp[1])
1079 + -('0' * 10 + '0'))*60
1080 + +((cp[2] * 10 + cp[3])
1081 + -('0' * 10 + '0'));
1092 + tw.tw_zone = (('0' * 10 + '0')
1093 + -(cp[0] * 10 + cp[1]))*60
1094 + +(('0' * 10 + '0')
1095 + -(cp[2] * 10 + cp[3]));
1105 + while( !isdigit(*cp++) )
1108 + tw.tw_year = CVT2;
1115 + default: return(0);
1117 + /* end of yylex */
1381 + # define YYTYPE int
1382 + struct yywork { YYTYPE verify, advance; } yycrank[] ={
1383 + 0,0, 0,0, 0,0, 0,0,
1384 + 0,0, 0,0, 0,0, 0,0,
1385 + 0,0, 0,0, 1,5, 1,6,
1386 + 5,5, 0,0, 0,0, 0,0,
1387 + 0,0, 0,0, 0,0, 0,0,
1388 + 0,0, 21,21, 0,0, 0,0,
1389 + 0,0, 0,0, 0,0, 0,0,
1390 + 0,0, 0,0, 0,0, 0,0,
1391 + 0,0, 1,5, 0,0, 5,5,
1392 + 3,21, 3,6, 0,0, 0,0,
1393 + 0,0, 1,7, 0,0, 0,0,
1394 + 21,21, 0,0, 0,0, 0,0,
1395 + 0,0, 1,8, 1,9, 1,8,
1396 + 1,10, 1,10, 1,10, 1,10,
1397 + 1,10, 1,10, 1,10, 3,21,
1398 + 9,63, 21,82, 22,83, 22,83,
1399 + 0,0, 0,0, 0,0, 3,7,
1400 + 0,0, 0,0, 3,22, 0,0,
1401 + 3,23, 0,0, 0,0, 3,8,
1402 + 3,9, 3,8, 3,10, 3,10,
1403 + 3,10, 3,10, 3,10, 3,10,
1404 + 3,10, 10,64, 10,64, 10,64,
1405 + 10,64, 10,64, 10,64, 10,64,
1406 + 10,64, 10,64, 10,64, 0,0,
1407 + 0,0, 0,0, 1,11, 15,72,
1408 + 0,0, 1,12, 14,70, 1,13,
1409 + 12,67, 13,68, 17,75, 1,14,
1410 + 19,79, 20,81, 1,15, 1,16,
1411 + 1,17, 15,73, 11,65, 16,74,
1412 + 1,18, 1,19, 13,69, 11,66,
1413 + 1,20, 19,80, 14,71, 25,99,
1414 + 3,24, 3,25, 3,26, 3,27,
1415 + 3,28, 3,29, 3,30, 3,31,
1416 + 3,32, 3,33, 3,34, 3,34,
1417 + 3,35, 3,36, 3,37, 3,38,
1418 + 3,39, 3,39, 3,40, 3,41,
1419 + 3,42, 3,39, 3,43, 3,39,
1420 + 3,44, 7,45, 8,50, 18,76,
1421 + 23,84, 23,84, 30,104, 18,77,
1422 + 7,46, 24,97, 42,114, 45,117,
1423 + 26,100, 28,102, 7,47, 7,48,
1424 + 31,105, 33,70, 7,49, 38,112,
1425 + 33,107, 24,65, 46,118, 18,78,
1426 + 24,98, 8,50, 24,66, 26,101,
1427 + 28,103, 36,74, 49,123, 31,106,
1428 + 56,129, 36,111, 38,113, 33,108,
1429 + 47,119, 33,71, 8,51, 57,130,
1430 + 8,52, 8,53, 8,53, 8,53,
1431 + 8,53, 8,53, 8,53, 8,53,
1432 + 8,53, 8,53, 8,53, 8,54,
1433 + 44,115, 23,85, 23,86, 23,87,
1434 + 47,120, 23,88, 35,72, 23,89,
1435 + 23,90, 35,109, 23,91, 59,133,
1436 + 50,50, 23,92, 23,93, 44,116,
1437 + 23,94, 48,121, 55,127, 58,131,
1438 + 35,73, 23,95, 60,134, 55,128,
1439 + 35,110, 23,96, 61,135, 62,136,
1440 + 65,138, 64,52, 48,122, 51,51,
1441 + 66,139, 67,140, 68,141, 50,50,
1442 + 69,142, 70,143, 8,55, 58,132,
1443 + 64,54, 8,56, 71,144, 8,57,
1444 + 71,145, 73,148, 72,146, 8,58,
1445 + 50,51, 74,149, 8,59, 8,60,
1446 + 8,61, 72,147, 51,51, 75,150,
1447 + 8,62, 52,124, 52,124, 52,124,
1448 + 52,124, 52,124, 52,124, 52,124,
1449 + 52,124, 52,124, 52,124, 53,125,
1450 + 53,125, 53,125, 53,125, 53,125,
1451 + 53,125, 53,125, 53,125, 53,125,
1452 + 53,125, 54,126, 54,126, 54,126,
1453 + 54,126, 54,126, 54,126, 54,126,
1454 + 54,126, 54,126, 54,126, 63,125,
1455 + 63,125, 63,125, 63,125, 63,125,
1456 + 63,125, 63,137, 63,137, 63,137,
1457 + 63,137, 76,151, 77,152, 78,153,
1458 + 50,55, 79,154, 80,155, 50,56,
1459 + 81,156, 50,57, 82,157, 93,111,
1460 + 85,97, 50,58, 91,107, 92,109,
1461 + 50,59, 50,60, 50,61, 97,160,
1462 + 98,161, 99,162, 50,62, 51,55,
1463 + 100,163, 101,164, 51,56, 85,98,
1464 + 51,57, 91,108, 92,110, 102,165,
1465 + 51,58, 103,166, 104,167, 51,59,
1466 + 51,60, 51,61, 105,168, 106,169,
1467 + 107,170, 51,62, 83,158, 83,158,
1468 + 83,158, 83,158, 83,158, 83,158,
1469 + 83,158, 83,158, 83,158, 83,158,
1470 + 84,159, 84,159, 84,159, 84,159,
1471 + 84,159, 84,159, 84,159, 84,159,
1472 + 84,159, 84,159, 108,171, 109,172,
1473 + 110,173, 111,174, 112,175, 113,176,
1474 + 115,177, 116,178, 117,179, 118,180,
1475 + 119,181, 120,182, 121,183, 122,184,
1476 + 123,185, 124,186, 124,187, 124,187,
1477 + 124,187, 124,187, 124,187, 124,187,
1478 + 124,187, 124,187, 124,187, 124,187,
1479 + 125,188, 125,188, 125,188, 125,188,
1480 + 125,188, 125,188, 125,188, 125,188,
1481 + 125,188, 125,188, 126,189, 127,194,
1482 + 128,195, 129,196, 130,197, 131,198,
1483 + 132,199, 133,201, 132,200, 134,203,
1484 + 135,204, 136,205, 138,207, 139,207,
1485 + 133,202, 140,207, 143,214, 145,147,
1486 + 148,216, 149,217, 150,218, 152,220,
1487 + 153,221, 126,189, 137,206, 137,206,
1488 + 137,206, 137,206, 137,206, 137,206,
1489 + 137,206, 137,206, 137,206, 137,206,
1490 + 141,207, 138,207, 139,207, 142,212,
1491 + 140,207, 126,190, 126,190, 126,190,
1492 + 126,190, 126,190, 126,190, 126,190,
1493 + 126,190, 126,190, 126,190, 126,191,
1494 + 144,207, 146,207, 147,207, 180,230,
1495 + 154,212, 151,212, 156,212, 141,207,
1496 + 155,212, 182,232, 142,212, 157,225,
1497 + 157,225, 157,225, 157,225, 179,228,
1498 + 181,228, 183,228, 187,186, 184,228,
1499 + 190,191, 192,241, 142,212, 144,207,
1500 + 146,207, 147,207, 185,228, 154,212,
1501 + 151,212, 156,212, 193,242, 155,212,
1502 + 198,250, 200,202, 203,252, 204,253,
1503 + 205,254, 208,147, 126,192, 154,212,
1504 + 151,212, 156,212, 209,257, 155,212,
1505 + 210,258, 211,259, 206,255, 212,212,
1506 + 213,260, 214,261, 215,147, 216,262,
1507 + 217,263, 126,193, 218,264, 219,265,
1508 + 220,266, 140,210, 138,208, 158,226,
1509 + 158,226, 158,226, 158,226, 158,226,
1510 + 158,226, 158,226, 158,226, 158,226,
1511 + 158,226, 206,255, 212,212, 139,209,
1512 + 221,267, 222,268, 179,229, 223,269,
1513 + 224,270, 228,274, 142,213, 159,227,
1514 + 159,227, 159,227, 159,227, 159,227,
1515 + 159,227, 159,227, 159,227, 159,227,
1516 + 159,227, 141,211, 183,233, 146,215,
1517 + 181,231, 184,234, 188,238, 185,235,
1518 + 186,236, 186,237, 186,236, 186,236,
1519 + 186,236, 186,236, 186,236, 186,236,
1520 + 186,236, 186,236, 189,189, 156,224,
1521 + 194,202, 154,222, 229,275, 230,276,
1522 + 144,147, 151,219, 155,223, 231,277,
1523 + 232,278, 188,238, 191,240, 191,240,
1524 + 191,240, 191,240, 191,240, 191,240,
1525 + 191,240, 191,240, 191,240, 191,240,
1526 + 233,279, 189,189, 234,280, 194,202,
1527 + 235,281, 188,239, 188,239, 188,239,
1528 + 188,239, 188,239, 188,239, 188,239,
1529 + 188,239, 188,239, 188,239, 195,202,
1530 + 194,243, 237,283, 238,238, 194,244,
1531 + 194,245, 194,244, 194,244, 194,244,
1532 + 194,244, 194,244, 194,244, 194,244,
1533 + 194,244, 241,241, 242,242, 245,290,
1534 + 246,202, 247,291, 248,292, 249,293,
1535 + 250,294, 251,202, 195,202, 252,295,
1536 + 253,296, 238,238, 254,297, 257,147,
1537 + 196,202, 255,255, 258,301, 259,302,
1538 + 260,303, 261,304, 263,305, 195,243,
1539 + 241,241, 242,242, 195,244, 195,245,
1540 + 195,244, 195,244, 195,244, 195,244,
1541 + 195,244, 195,244, 195,244, 195,244,
1542 + 264,306, 265,307, 189,192, 196,202,
1543 + 255,255, 266,308, 197,202, 268,309,
1544 + 269,310, 270,311, 275,312, 277,313,
1545 + 194,246, 279,314, 280,315, 281,316,
1546 + 196,243, 189,193, 282,282, 196,244,
1547 + 196,245, 196,244, 196,244, 196,244,
1548 + 196,244, 196,244, 196,244, 196,244,
1549 + 196,244, 197,202, 289,318, 291,202,
1550 + 284,284, 286,285, 199,202, 288,288,
1551 + 292,319, 293,320, 294,321, 295,322,
1552 + 296,323, 282,282, 197,243, 297,324,
1553 + 283,282, 197,244, 197,245, 197,244,
1554 + 197,244, 197,244, 197,244, 197,244,
1555 + 197,244, 197,244, 197,244, 284,284,
1556 + 286,285, 199,202, 288,288, 195,247,
1557 + 201,202, 300,299, 298,298, 301,326,
1558 + 299,325, 302,327, 303,212, 283,282,
1559 + 304,147, 305,328, 199,243, 306,147,
1560 + 196,248, 199,244, 199,245, 199,244,
1561 + 199,244, 199,244, 199,244, 199,244,
1562 + 199,244, 199,244, 199,244, 201,202,
1563 + 283,236, 298,298, 202,202, 299,325,
1564 + 307,329, 308,330, 309,331, 311,332,
1565 + 312,228, 313,333, 314,334, 285,285,
1566 + 201,243, 207,207, 316,335, 201,244,
1567 + 201,245, 201,244, 201,244, 201,244,
1568 + 201,244, 201,244, 201,244, 201,244,
1569 + 201,244, 202,202, 317,336, 197,249,
1570 + 319,338, 320,339, 321,202, 322,340,
1571 + 323,202, 324,341, 285,285, 330,344,
1572 + 207,207, 332,345, 202,243, 335,346,
1573 + 318,337, 202,244, 202,245, 202,244,
1574 + 202,244, 202,244, 202,244, 202,244,
1575 + 202,244, 202,244, 202,244, 285,317,
1576 + 207,256, 207,256, 207,256, 207,256,
1577 + 207,256, 207,256, 207,256, 207,256,
1578 + 207,256, 207,256, 199,202, 318,337,
1579 + 341,348, 343,350, 201,251, 225,271,
1580 + 225,271, 225,271, 225,271, 225,271,
1581 + 225,271, 225,271, 225,271, 225,271,
1582 + 225,271, 226,272, 226,272, 226,272,
1583 + 226,272, 226,272, 226,272, 226,272,
1584 + 226,272, 226,272, 226,272, 227,273,
1585 + 227,273, 227,273, 227,273, 227,273,
1586 + 227,273, 227,273, 227,273, 227,273,
1587 + 227,273, 236,282, 236,282, 236,282,
1588 + 236,282, 236,282, 236,282, 236,282,
1589 + 236,282, 236,282, 236,282, 239,284,
1590 + 239,284, 239,284, 239,284, 239,284,
1591 + 239,284, 239,284, 239,284, 239,284,
1592 + 239,284, 240,285, 349,349, 287,287,
1593 + 336,347, 336,347, 336,347, 336,347,
1594 + 0,0, 0,0, 0,0, 243,243,
1595 + 347,351, 347,351, 347,351, 347,351,
1596 + 347,351, 347,351, 347,351, 347,351,
1597 + 347,351, 347,351, 0,0, 0,0,
1598 + 240,285, 349,349, 287,287, 0,0,
1599 + 0,0, 0,0, 0,0, 0,0,
1600 + 0,0, 0,0, 243,243, 0,0,
1601 + 0,0, 244,287, 287,288, 0,0,
1602 + 240,286, 240,286, 240,286, 240,286,
1603 + 240,286, 240,286, 240,286, 240,286,
1604 + 240,286, 240,286, 243,244, 243,245,
1605 + 243,244, 243,244, 243,244, 243,244,
1606 + 243,244, 243,244, 243,244, 243,244,
1607 + 244,287, 0,0, 0,0, 256,298,
1608 + 0,0, 0,0, 0,0, 0,0,
1609 + 0,0, 0,0, 0,0, 0,0,
1610 + 244,288, 0,0, 325,325, 0,0,
1611 + 244,287, 244,287, 244,287, 244,287,
1612 + 244,287, 244,287, 244,287, 244,287,
1613 + 244,287, 244,287, 256,298, 0,0,
1614 + 0,0, 290,287, 0,0, 287,289,
1615 + 0,0, 0,0, 0,0, 0,0,
1616 + 0,0, 325,325, 256,299, 0,0,
1617 + 342,349, 0,0, 256,300, 256,300,
1618 + 256,300, 256,300, 256,300, 256,300,
1619 + 256,300, 256,300, 256,300, 256,300,
1620 + 290,287, 325,342, 325,343, 325,342,
1621 + 325,342, 325,342, 325,342, 325,342,
1622 + 325,342, 325,342, 325,342, 342,349,
1623 + 290,288, 244,289, 350,349, 0,0,
1624 + 0,0, 290,244, 0,0, 0,0,
1625 + 0,0, 0,0, 0,0, 0,0,
1626 + 0,0, 0,0, 0,0, 342,349,
1627 + 342,349, 342,349, 342,349, 342,349,
1628 + 342,349, 342,349, 342,349, 342,349,
1629 + 342,349, 350,349, 0,0, 0,0,
1630 + 0,0, 0,0, 0,0, 0,0,
1631 + 0,0, 0,0, 0,0, 0,0,
1632 + 0,0, 0,0, 0,0, 0,0,
1633 + 0,0, 0,0, 350,342, 0,0,
1634 + 0,0, 0,0, 0,0, 0,0,
1635 + 0,0, 0,0, 0,0, 0,0,
1636 + 0,0, 290,289, 0,0, 0,0,
1638 + struct yysvf yysvec[] ={
1641 + yycrank+0, yysvec+1, 0,
1643 + yycrank+0, yysvec+3, 0,
1644 + yycrank+3, 0, yyvstop+1,
1645 + yycrank+0, 0, yyvstop+3,
1647 + yycrank+141, 0, 0,
1648 + yycrank+3, yysvec+8, 0,
1649 + yycrank+37, yysvec+8, 0,
1660 + yycrank+12, 0, yyvstop+5,
1662 + yycrank+104, 0, 0,
1663 + yycrank+57, 0, yyvstop+7,
1664 + yycrank+8, 0, yyvstop+9,
1665 + yycrank+60, 0, yyvstop+11,
1666 + yycrank+0, yysvec+12, yyvstop+13,
1667 + yycrank+61, 0, yyvstop+15,
1668 + yycrank+0, yysvec+13, yyvstop+17,
1669 + yycrank+45, 0, yyvstop+19,
1670 + yycrank+64, 0, yyvstop+21,
1671 + yycrank+0, 0, yyvstop+23,
1673 + yycrank+0, 0, yyvstop+25,
1674 + yycrank+109, 0, yyvstop+27,
1675 + yycrank+66, 0, yyvstop+29,
1676 + yycrank+0, yysvec+17, yyvstop+31,
1677 + yycrank+67, 0, yyvstop+33,
1678 + yycrank+0, 0, yyvstop+35,
1679 + yycrank+0, yysvec+18, yyvstop+37,
1680 + yycrank+0, yysvec+19, yyvstop+39,
1681 + yycrank+42, 0, yyvstop+41,
1682 + yycrank+0, yysvec+20, yyvstop+43,
1683 + yycrank+100, 0, yyvstop+45,
1687 + yycrank+113, 0, 0,
1689 + yycrank+203, 0, 0,
1690 + yycrank+222, 0, 0,
1691 + yycrank+209, 0, 0,
1692 + yycrank+219, yysvec+8, 0,
1693 + yycrank+229, 0, 0,
1694 + yycrank+106, 0, 0,
1697 + yycrank+122, 0, 0,
1698 + yycrank+114, 0, 0,
1699 + yycrank+111, 0, 0,
1700 + yycrank+127, 0, 0,
1701 + yycrank+126, 0, 0,
1702 + yycrank+239, yysvec+8, 0,
1703 + yycrank+182, yysvec+50, 0,
1704 + yycrank+114, 0, 0,
1705 + yycrank+129, 0, 0,
1706 + yycrank+134, 0, 0,
1707 + yycrank+136, 0, 0,
1708 + yycrank+131, 0, 0,
1709 + yycrank+127, 0, 0,
1710 + yycrank+134, 0, 0,
1711 + yycrank+132, 0, 0,
1712 + yycrank+135, 0, 0,
1713 + yycrank+131, 0, 0,
1714 + yycrank+139, 0, 0,
1715 + yycrank+181, 0, 0,
1716 + yycrank+186, 0, 0,
1717 + yycrank+189, 0, 0,
1718 + yycrank+184, 0, 0,
1719 + yycrank+201, 0, 0,
1720 + yycrank+204, 0, 0,
1721 + yycrank+249, 0, 0,
1722 + yycrank+290, 0, 0,
1723 + yycrank+300, 0, 0,
1724 + yycrank+208, 0, 0,
1725 + yycrank+0, yysvec+25, 0,
1726 + yycrank+0, yysvec+26, 0,
1727 + yycrank+0, yysvec+28, 0,
1728 + yycrank+0, yysvec+30, 0,
1729 + yycrank+0, yysvec+31, 0,
1730 + yycrank+210, 0, 0,
1731 + yycrank+211, 0, 0,
1732 + yycrank+192, 0, 0,
1733 + yycrank+0, yysvec+38, 0,
1734 + yycrank+0, yysvec+42, 0,
1735 + yycrank+0, yysvec+44, 0,
1736 + yycrank+199, 0, 0,
1737 + yycrank+200, 0, 0,
1738 + yycrank+201, 0, 0,
1739 + yycrank+204, 0, 0,
1740 + yycrank+205, 0, 0,
1741 + yycrank+211, 0, 0,
1742 + yycrank+213, 0, 0,
1743 + yycrank+214, 0, 0,
1744 + yycrank+218, 0, 0,
1745 + yycrank+219, 0, 0,
1746 + yycrank+220, 0, 0,
1747 + yycrank+242, 0, 0,
1748 + yycrank+243, 0, 0,
1749 + yycrank+244, 0, 0,
1750 + yycrank+245, 0, 0,
1751 + yycrank+246, 0, 0,
1752 + yycrank+247, 0, 0,
1753 + yycrank+0, 0, yyvstop+47,
1754 + yycrank+248, 0, 0,
1755 + yycrank+249, 0, 0,
1756 + yycrank+261, 0, 0,
1757 + yycrank+257, 0, 0,
1758 + yycrank+252, 0, 0,
1759 + yycrank+259, 0, 0,
1760 + yycrank+253, 0, 0,
1761 + yycrank+270, 0, 0,
1762 + yycrank+272, 0, 0,
1763 + yycrank+326, 0, 0,
1764 + yycrank+336, 0, 0,
1765 + yycrank+385, 0, yyvstop+49,
1766 + yycrank+281, 0, 0,
1767 + yycrank+293, 0, 0,
1768 + yycrank+298, 0, 0,
1769 + yycrank+300, 0, 0,
1770 + yycrank+289, 0, 0,
1771 + yycrank+292, 0, 0,
1772 + yycrank+287, 0, 0,
1773 + yycrank+285, 0, 0,
1774 + yycrank+288, 0, 0,
1775 + yycrank+293, 0, 0,
1776 + yycrank+370, 0, 0,
1777 + yycrank+397, 0, 0,
1778 + yycrank+398, 0, 0,
1779 + yycrank+400, 0, 0,
1780 + yycrank+419, 0, 0,
1781 + yycrank+422, 0, yyvstop+51,
1782 + yycrank+293, yysvec+139, 0,
1783 + yycrank+435, 0, 0,
1784 + yycrank+310, yysvec+140, 0,
1785 + yycrank+436, 0, 0,
1786 + yycrank+437, 0, 0,
1787 + yycrank+312, yysvec+142, yyvstop+53,
1788 + yycrank+312, yysvec+140, 0,
1789 + yycrank+303, yysvec+147, 0,
1790 + yycrank+440, 0, yyvstop+55,
1791 + yycrank+299, yysvec+147, 0,
1792 + yycrank+316, yysvec+142, yyvstop+57,
1793 + yycrank+439, 0, yyvstop+59,
1794 + yycrank+443, 0, yyvstop+61,
1795 + yycrank+441, 0, yyvstop+63,
1796 + yycrank+401, 0, 0,
1797 + yycrank+455, 0, 0,
1798 + yycrank+475, 0, 0,
1799 + yycrank+0, 0, yyvstop+65,
1800 + yycrank+0, 0, yyvstop+67,
1801 + yycrank+0, 0, yyvstop+69,
1802 + yycrank+0, 0, yyvstop+71,
1803 + yycrank+0, 0, yyvstop+73,
1804 + yycrank+0, 0, yyvstop+75,
1805 + yycrank+0, 0, yyvstop+77,
1806 + yycrank+0, 0, yyvstop+79,
1807 + yycrank+0, 0, yyvstop+81,
1808 + yycrank+0, 0, yyvstop+83,
1809 + yycrank+0, 0, yyvstop+85,
1810 + yycrank+0, 0, yyvstop+87,
1811 + yycrank+0, 0, yyvstop+89,
1812 + yycrank+0, 0, yyvstop+91,
1813 + yycrank+0, 0, yyvstop+93,
1814 + yycrank+0, 0, yyvstop+95,
1815 + yycrank+0, 0, yyvstop+97,
1816 + yycrank+0, 0, yyvstop+99,
1817 + yycrank+0, 0, yyvstop+101,
1818 + yycrank+418, 0, 0,
1819 + yycrank+347, yysvec+179, 0,
1820 + yycrank+419, 0, 0,
1821 + yycrank+353, yysvec+179, 0,
1822 + yycrank+420, 0, 0,
1823 + yycrank+422, 0, 0,
1824 + yycrank+429, 0, 0,
1825 + yycrank+492, 0, 0,
1826 + yycrank+415, 0, 0,
1827 + yycrank+529, 0, yyvstop+103,
1828 + yycrank+541, 0, yyvstop+105,
1829 + yycrank+406, yysvec+189, yyvstop+107,
1830 + yycrank+514, 0, 0,
1831 + yycrank+356, 0, 0,
1832 + yycrank+365, 0, 0,
1833 + yycrank+543, 0, 0,
1834 + yycrank+578, 0, 0,
1835 + yycrank+607, 0, 0,
1836 + yycrank+633, 0, 0,
1837 + yycrank+359, yysvec+195, 0,
1838 + yycrank+661, 0, 0,
1839 + yycrank+376, yysvec+196, 0,
1840 + yycrank+687, 0, 0,
1841 + yycrank+713, 0, 0,
1842 + yycrank+377, yysvec+196, 0,
1843 + yycrank+368, yysvec+202, 0,
1844 + yycrank+364, yysvec+202, 0,
1845 + yycrank+481, yysvec+188, yyvstop+109,
1846 + yycrank+724, 0, 0,
1847 + yycrank+373, 0, 0,
1848 + yycrank+371, 0, 0,
1849 + yycrank+379, 0, 0,
1850 + yycrank+372, 0, 0,
1851 + yycrank+482, 0, yyvstop+112,
1852 + yycrank+395, 0, 0,
1853 + yycrank+396, 0, 0,
1854 + yycrank+390, 0, 0,
1855 + yycrank+398, 0, 0,
1856 + yycrank+387, 0, 0,
1857 + yycrank+400, 0, 0,
1858 + yycrank+385, 0, 0,
1859 + yycrank+399, 0, 0,
1860 + yycrank+419, 0, 0,
1861 + yycrank+402, 0, 0,
1862 + yycrank+419, 0, 0,
1863 + yycrank+419, 0, 0,
1864 + yycrank+739, 0, 0,
1865 + yycrank+749, 0, 0,
1866 + yycrank+759, 0, 0,
1867 + yycrank+477, 0, yyvstop+114,
1868 + yycrank+457, 0, 0,
1869 + yycrank+458, 0, 0,
1870 + yycrank+445, 0, 0,
1871 + yycrank+463, 0, 0,
1872 + yycrank+457, 0, 0,
1873 + yycrank+474, 0, 0,
1874 + yycrank+475, 0, 0,
1875 + yycrank+769, 0, 0,
1876 + yycrank+532, yysvec+236, 0,
1877 + yycrank+581, 0, yyvstop+116,
1878 + yycrank+779, 0, 0,
1879 + yycrank+828, 0, yyvstop+118,
1880 + yycrank+592, 0, yyvstop+120,
1881 + yycrank+593, 0, yyvstop+122,
1882 + yycrank+838, 0, 0,
1883 + yycrank+864, 0, yyvstop+124,
1884 + yycrank+546, yysvec+244, yyvstop+126,
1885 + yycrank+496, 0, 0,
1886 + yycrank+490, 0, 0,
1887 + yycrank+497, 0, 0,
1888 + yycrank+490, 0, 0,
1889 + yycrank+511, 0, 0,
1890 + yycrank+505, 0, 0,
1891 + yycrank+502, 0, 0,
1892 + yycrank+514, 0, 0,
1893 + yycrank+513, 0, 0,
1894 + yycrank+608, 0, yyvstop+128,
1895 + yycrank+890, 0, yyvstop+131,
1896 + yycrank+499, 0, 0,
1897 + yycrank+520, 0, 0,
1898 + yycrank+522, 0, 0,
1899 + yycrank+499, 0, 0,
1900 + yycrank+507, 0, 0,
1901 + yycrank+0, yysvec+260, 0,
1902 + yycrank+524, 0, 0,
1903 + yycrank+535, 0, 0,
1904 + yycrank+537, 0, 0,
1905 + yycrank+532, 0, 0,
1906 + yycrank+0, yysvec+260, 0,
1907 + yycrank+543, 0, 0,
1908 + yycrank+547, 0, 0,
1909 + yycrank+530, 0, 0,
1910 + yycrank+0, 0, yyvstop+133,
1911 + yycrank+0, 0, yyvstop+135,
1912 + yycrank+0, 0, yyvstop+137,
1913 + yycrank+0, 0, yyvstop+139,
1914 + yycrank+525, 0, 0,
1915 + yycrank+0, yysvec+275, 0,
1916 + yycrank+547, 0, 0,
1917 + yycrank+0, yysvec+275, 0,
1918 + yycrank+549, 0, 0,
1919 + yycrank+553, 0, 0,
1920 + yycrank+536, 0, 0,
1921 + yycrank+645, 0, yyvstop+141,
1922 + yycrank+671, yysvec+186, yyvstop+143,
1923 + yycrank+659, 0, yyvstop+145,
1924 + yycrank+722, 0, yyvstop+147,
1925 + yycrank+660, 0, yyvstop+149,
1926 + yycrank+830, 0, yyvstop+151,
1927 + yycrank+662, 0, yyvstop+153,
1928 + yycrank+550, 0, 0,
1929 + yycrank+916, yysvec+243, yyvstop+155,
1930 + yycrank+551, 0, 0,
1931 + yycrank+574, 0, 0,
1932 + yycrank+576, 0, 0,
1933 + yycrank+560, 0, 0,
1934 + yycrank+577, 0, 0,
1935 + yycrank+575, 0, 0,
1936 + yycrank+570, 0, 0,
1937 + yycrank+689, 0, yyvstop+157,
1938 + yycrank+691, 0, 0,
1939 + yycrank+653, yysvec+298, yyvstop+159,
1940 + yycrank+598, 0, 0,
1941 + yycrank+587, 0, 0,
1942 + yycrank+658, yysvec+212, yyvstop+161,
1943 + yycrank+583, 0, 0,
1944 + yycrank+604, 0, 0,
1945 + yycrank+593, 0, 0,
1946 + yycrank+627, 0, 0,
1947 + yycrank+627, 0, 0,
1948 + yycrank+629, 0, 0,
1949 + yycrank+0, yysvec+260, 0,
1950 + yycrank+627, 0, 0,
1951 + yycrank+687, 0, 0,
1952 + yycrank+632, 0, 0,
1953 + yycrank+633, 0, 0,
1954 + yycrank+0, yysvec+275, 0,
1955 + yycrank+634, 0, 0,
1956 + yycrank+689, 0, 0,
1957 + yycrank+751, 0, 0,
1958 + yycrank+647, 0, 0,
1959 + yycrank+635, 0, 0,
1960 + yycrank+629, 0, 0,
1961 + yycrank+650, 0, 0,
1962 + yycrank+638, 0, 0,
1963 + yycrank+655, 0, 0,
1964 + yycrank+901, 0, 0,
1965 + yycrank+0, yysvec+306, 0,
1966 + yycrank+0, yysvec+304, 0,
1967 + yycrank+0, yysvec+306, 0,
1968 + yycrank+0, yysvec+260, 0,
1969 + yycrank+654, 0, 0,
1970 + yycrank+0, yysvec+260, 0,
1971 + yycrank+660, 0, 0,
1972 + yycrank+0, yysvec+275, 0,
1973 + yycrank+0, yysvec+275, 0,
1974 + yycrank+662, 0, 0,
1975 + yycrank+786, 0, 0,
1976 + yycrank+0, yysvec+318, yyvstop+163,
1977 + yycrank+0, yysvec+323, 0,
1978 + yycrank+0, yysvec+321, 0,
1979 + yycrank+0, yysvec+323, 0,
1980 + yycrank+683, 0, 0,
1981 + yycrank+927, 0, yyvstop+165,
1982 + yycrank+728, yysvec+342, yyvstop+167,
1983 + yycrank+0, yysvec+306, 0,
1984 + yycrank+0, yysvec+260, 0,
1985 + yycrank+0, yysvec+275, 0,
1986 + yycrank+800, 0, 0,
1987 + yycrank+0, yysvec+323, 0,
1988 + yycrank+829, 0, yyvstop+169,
1989 + yycrank+953, yysvec+325, yyvstop+171,
1990 + yycrank+0, 0, yyvstop+173,
1992 + struct yywork *yytop = yycrank+1013;
1993 + struct yysvf *yybgin = yysvec+1;
1995 + 00 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1996 + 01 ,011 ,01 ,01 ,01 ,01 ,01 ,01 ,
1997 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1998 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
1999 + 011 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2000 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2001 + '0' ,'0' ,'2' ,'3' ,'3' ,'3' ,'6' ,'6' ,
2002 + '6' ,'6' ,01 ,01 ,01 ,01 ,01 ,01 ,
2003 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2004 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2005 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2006 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2007 + 01 ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,'a' ,
2008 + 'a' ,'a' ,01 ,'k' ,'k' ,'k' ,'n' ,'n' ,
2009 + 'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,'n' ,
2010 + 'n' ,'n' ,01 ,01 ,01 ,01 ,01 ,01 ,
2011 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2012 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2013 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2014 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2015 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2016 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2017 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2018 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2019 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2020 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2021 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2022 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2023 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2024 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2025 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2026 + 01 ,01 ,01 ,01 ,01 ,01 ,01 ,01 ,
2036 + /* ncform 4.1 83/08/11 */
2038 diff -c mh/zotnet/tws/dtimep.lex:1.1.1.1 mh/zotnet/tws/dtimep.lex:1.2
2039 *** mh/zotnet/tws/dtimep.lex:1.1.1.1 Tue Feb 9 07:44:02 1993
2040 --- mh/zotnet/tws/dtimep.lex Tue Feb 9 07:44:02 1993
2046 ! static char ident[] = "@(#)$Id: dtimep.lex,v 2.14 1992/12/15 00:20:22 jromine Exp $";
2049 #include "../h/strings.h"
2051 #include <sys/types.h>
2053 #include <sys/timeb.h>
2054 ! #endif /* not SYS5 */
2057 - extern int daylight;
2058 extern long timezone;
2059 - extern char *tzname[];
2067 ! static char ident[] = "@(#)$Id: dtimep.lex,v 1.1.1.1 1993/01/30 04:41:48 jtc Exp $";
2070 #include "../h/strings.h"
2072 #include <sys/types.h>
2073 ! #if !defined(SYS5) && !defined(ZONEINFO)
2074 #include <sys/timeb.h>
2075 ! #endif /* !defined(SYS5) && !defined(ZONEINFO) */
2078 extern long timezone;
2085 register int gotdate = 0;
2088 ! #endif /* not SYS5 */
2094 register int gotdate = 0;
2101 ! #endif /* ZONEINFO */
2102 ! #endif /* not SYS5 */
2108 bzero( (char *) &tw, sizeof tw);
2110 /* Set default time zone. */
2113 ! tw.tw_zone = -tb.timezone;
2116 tw.tw_zone = -(timezone / 60);
2119 while (isspace(*str))
2122 bzero( (char *) &tw, sizeof tw);
2124 /* Set default time zone. */
2127 tw.tw_zone = -(timezone / 60);
2131 ! tm = localtime(&clock);
2132 ! tw.tw_zone = tm->tm_gmtoff / 60;
2133 ! if (tm -> tm_isdst) /* if DST is in effect */
2134 ! tw.tw_zone -= 60; /* reset to normal offset */
2137 ! tw.tw_zone = -tb.timezone;
2138 ! #endif /* ZONEINFO */
2142 while (isspace(*str))
2145 ------- =_aaaaaaaaaa0--